infrawrench-sdk 1.31.0 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/infrawrench-sdk.gemspec +4 -4
- data/lib/infrawrench/client.rb +598 -2
- data/lib/infrawrench/sdk.rb +2 -2
- data/lib/infrawrench/transport.rb +2 -2
- data/lib/infrawrench/version.rb +3 -3
- data/lib/infrawrench-sdk.rb +2 -2
- data/sig/infrawrench/sdk.rbs +271 -3
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bb980c1a1123712fc1dd3630cb778f4b005f830e9177d144334d835ac0cd4493
|
|
4
|
+
data.tar.gz: d7946079dcf9ffe48c117f76eedd7eafd022530f33d290be1c9e5985743ac9b6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f3a0b7449f0f12c62308885cefa63fad30031ef43deccd83c6d2e2990b6da4bf60400d4a05985eea6a75a4a8b860f70ff7953671a0be171961d691e4234abc83
|
|
7
|
+
data.tar.gz: 003a160954fb2fe083681affff7d44fb6a09a3a0973d803f326179978a1e3a874994a3f2ed701a066c771e5474c965e2a757fca8f0d5334ab9c4edbc51c7b0c5
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# infrawrench-sdk
|
|
2
2
|
|
|
3
|
-
Generated Ruby client for the Infrawrench API (API version `1.
|
|
3
|
+
Generated Ruby client for the Infrawrench API (API version `1.34.0`).
|
|
4
4
|
|
|
5
5
|
**Do not edit this gem by hand** — it is regenerated from `openapi.json` and is
|
|
6
6
|
not checked into the repository. Run
|
|
@@ -41,7 +41,7 @@ Every method takes an optional trailing `request_options:` hash (`:headers`,
|
|
|
41
41
|
Responses are the plain `Hash`/`Array` that `JSON.parse` returns, with String
|
|
42
42
|
keys spelled exactly as the wire spells them. There are no model classes — see
|
|
43
43
|
[`sig/infrawrench/sdk.rbs`](./sig/infrawrench/sdk.rbs) for the shape of every one of the
|
|
44
|
-
|
|
44
|
+
721 schemas, as RBS type aliases that steep and TypeProf can read.
|
|
45
45
|
|
|
46
46
|
Non-2xx responses raise `Infrawrench::ApiError`, which carries `#status`,
|
|
47
47
|
the parsed `#body`, and the machine-readable `#code` when the API sends one —
|
data/infrawrench-sdk.gemspec
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.34.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -17,8 +17,8 @@ require_relative "lib/infrawrench/version"
|
|
|
17
17
|
Gem::Specification.new do |spec|
|
|
18
18
|
spec.name = "infrawrench-sdk"
|
|
19
19
|
spec.version = Infrawrench::VERSION
|
|
20
|
-
spec.summary = "Generated Ruby client for the Infrawrench API (v1.
|
|
21
|
-
spec.description = "Generated Ruby client for the Infrawrench API (v1.
|
|
20
|
+
spec.summary = "Generated Ruby client for the Infrawrench API (v1.34.0)."
|
|
21
|
+
spec.description = "Generated Ruby client for the Infrawrench API (v1.34.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
|
|
22
22
|
spec.authors = ["Infrawrench LLC", "Astrid Gealer"]
|
|
23
23
|
spec.email = ["astrid@infrawrench.com"]
|
|
24
24
|
spec.homepage = "https://infrawrench.com/docs/team-and-billing/client-sdks"
|
data/lib/infrawrench/client.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.34.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -10450,6 +10450,273 @@ module Infrawrench
|
|
|
10450
10450
|
end
|
|
10451
10451
|
end
|
|
10452
10452
|
|
|
10453
|
+
# `client.on_call.overrides`
|
|
10454
|
+
class OnCallOverridesNamespace
|
|
10455
|
+
# @api private
|
|
10456
|
+
# @param transport [Transport]
|
|
10457
|
+
def initialize(transport)
|
|
10458
|
+
@transport = transport
|
|
10459
|
+
end
|
|
10460
|
+
|
|
10461
|
+
# Arrange cover
|
|
10462
|
+
#
|
|
10463
|
+
# A cover beats the rotation for exactly its window. Among several
|
|
10464
|
+
# overlapping covers the one that **started most recently** wins, so a
|
|
10465
|
+
# later-written cover supersedes an earlier one rather than the answer
|
|
10466
|
+
# depending on row order.
|
|
10467
|
+
#
|
|
10468
|
+
# Takes `team:read`, not a settings permission: cover is arranged at 17:55
|
|
10469
|
+
# on a Friday and the person handing over is rarely an org admin. Every
|
|
10470
|
+
# cover is audit-logged, which is the control that makes the looser
|
|
10471
|
+
# permission safe.
|
|
10472
|
+
#
|
|
10473
|
+
# POST /api/org/{orgId}/on-call/overrides
|
|
10474
|
+
#
|
|
10475
|
+
# Raises on 400: Bad request
|
|
10476
|
+
#
|
|
10477
|
+
# Raises on 404: Not found
|
|
10478
|
+
#
|
|
10479
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
10480
|
+
# constructed with.
|
|
10481
|
+
# @param body [Hash, nil] Request body, shaped as `OnCallOverrideCreate`.
|
|
10482
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
10483
|
+
# @return [Hash] Parsed JSON, shaped as `OnCallOverride` — see `sig/infrawrench/sdk.rbs`.
|
|
10484
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
10485
|
+
def create(org_id: nil, body: nil, request_options: nil)
|
|
10486
|
+
@transport.request(
|
|
10487
|
+
http_method: "POST",
|
|
10488
|
+
path: "/api/org/{orgId}/on-call/overrides",
|
|
10489
|
+
path_params: { "orgId" => org_id },
|
|
10490
|
+
body: body,
|
|
10491
|
+
request_options: request_options
|
|
10492
|
+
)
|
|
10493
|
+
end
|
|
10494
|
+
|
|
10495
|
+
# Cancel a cover
|
|
10496
|
+
#
|
|
10497
|
+
# DELETE /api/org/{orgId}/on-call/overrides/{overrideId}
|
|
10498
|
+
#
|
|
10499
|
+
# Raises on 404: Not found
|
|
10500
|
+
#
|
|
10501
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
10502
|
+
# constructed with.
|
|
10503
|
+
# @param override_id [String]
|
|
10504
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
10505
|
+
# @return [nil] This endpoint returns no content.
|
|
10506
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
10507
|
+
def delete(override_id:, org_id: nil, request_options: nil)
|
|
10508
|
+
@transport.request(
|
|
10509
|
+
http_method: "DELETE",
|
|
10510
|
+
path: "/api/org/{orgId}/on-call/overrides/{overrideId}",
|
|
10511
|
+
path_params: { "orgId" => org_id, "overrideId" => override_id },
|
|
10512
|
+
accept: :empty,
|
|
10513
|
+
request_options: request_options
|
|
10514
|
+
)
|
|
10515
|
+
end
|
|
10516
|
+
|
|
10517
|
+
# List covers
|
|
10518
|
+
#
|
|
10519
|
+
# GET /api/org/{orgId}/on-call/overrides
|
|
10520
|
+
#
|
|
10521
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
10522
|
+
# constructed with.
|
|
10523
|
+
# @param schedule_id [String, nil]
|
|
10524
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
10525
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
10526
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
10527
|
+
def get(org_id: nil, schedule_id: nil, request_options: nil)
|
|
10528
|
+
@transport.request(
|
|
10529
|
+
http_method: "GET",
|
|
10530
|
+
path: "/api/org/{orgId}/on-call/overrides",
|
|
10531
|
+
path_params: { "orgId" => org_id },
|
|
10532
|
+
query: { "scheduleId" => schedule_id },
|
|
10533
|
+
request_options: request_options
|
|
10534
|
+
)
|
|
10535
|
+
end
|
|
10536
|
+
end
|
|
10537
|
+
|
|
10538
|
+
# `client.on_call.schedules`
|
|
10539
|
+
class OnCallSchedulesNamespace
|
|
10540
|
+
# @api private
|
|
10541
|
+
# @param transport [Transport]
|
|
10542
|
+
def initialize(transport)
|
|
10543
|
+
@transport = transport
|
|
10544
|
+
end
|
|
10545
|
+
|
|
10546
|
+
# Create an on-call rotation
|
|
10547
|
+
#
|
|
10548
|
+
# Shift boundaries are calendar-day arithmetic in the rotation's own zone,
|
|
10549
|
+
# not 24-hour arithmetic: a rotation stepped in fixed milliseconds drifts an
|
|
10550
|
+
# hour at each daylight-saving change until the 09:00 Monday handover
|
|
10551
|
+
# happens at 08:00 — or until two people each think the other is on call.
|
|
10552
|
+
#
|
|
10553
|
+
# Writing takes `org:settings:write`: a rotation decides who gets woken up.
|
|
10554
|
+
#
|
|
10555
|
+
# POST /api/org/{orgId}/on-call/schedules
|
|
10556
|
+
#
|
|
10557
|
+
# Raises on 400: Bad request
|
|
10558
|
+
#
|
|
10559
|
+
# Raises on 409: Conflict
|
|
10560
|
+
#
|
|
10561
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
10562
|
+
# constructed with.
|
|
10563
|
+
# @param body [Hash, nil] Request body, shaped as `OnCallScheduleCreate`.
|
|
10564
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
10565
|
+
# @return [Hash] Parsed JSON, shaped as `OnCallSchedule` — see `sig/infrawrench/sdk.rbs`.
|
|
10566
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
10567
|
+
def create(org_id: nil, body: nil, request_options: nil)
|
|
10568
|
+
@transport.request(
|
|
10569
|
+
http_method: "POST",
|
|
10570
|
+
path: "/api/org/{orgId}/on-call/schedules",
|
|
10571
|
+
path_params: { "orgId" => org_id },
|
|
10572
|
+
body: body,
|
|
10573
|
+
request_options: request_options
|
|
10574
|
+
)
|
|
10575
|
+
end
|
|
10576
|
+
|
|
10577
|
+
# Delete an on-call rotation
|
|
10578
|
+
#
|
|
10579
|
+
# Takes its covers with it. Routing rules naming it resolve to nobody
|
|
10580
|
+
# afterwards.
|
|
10581
|
+
#
|
|
10582
|
+
# DELETE /api/org/{orgId}/on-call/schedules/{scheduleId}
|
|
10583
|
+
#
|
|
10584
|
+
# Raises on 404: Not found
|
|
10585
|
+
#
|
|
10586
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
10587
|
+
# constructed with.
|
|
10588
|
+
# @param schedule_id [String]
|
|
10589
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
10590
|
+
# @return [nil] This endpoint returns no content.
|
|
10591
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
10592
|
+
def delete(schedule_id:, org_id: nil, request_options: nil)
|
|
10593
|
+
@transport.request(
|
|
10594
|
+
http_method: "DELETE",
|
|
10595
|
+
path: "/api/org/{orgId}/on-call/schedules/{scheduleId}",
|
|
10596
|
+
path_params: { "orgId" => org_id, "scheduleId" => schedule_id },
|
|
10597
|
+
accept: :empty,
|
|
10598
|
+
request_options: request_options
|
|
10599
|
+
)
|
|
10600
|
+
end
|
|
10601
|
+
|
|
10602
|
+
# List on-call rotations
|
|
10603
|
+
#
|
|
10604
|
+
# GET /api/org/{orgId}/on-call/schedules
|
|
10605
|
+
#
|
|
10606
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
10607
|
+
# constructed with.
|
|
10608
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
10609
|
+
# @return [Hash] Parsed JSON, shaped as `OnCallScheduleList` — see
|
|
10610
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
10611
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
10612
|
+
def get(org_id: nil, request_options: nil)
|
|
10613
|
+
@transport.request(
|
|
10614
|
+
http_method: "GET",
|
|
10615
|
+
path: "/api/org/{orgId}/on-call/schedules",
|
|
10616
|
+
path_params: { "orgId" => org_id },
|
|
10617
|
+
request_options: request_options
|
|
10618
|
+
)
|
|
10619
|
+
end
|
|
10620
|
+
|
|
10621
|
+
# Preview upcoming shifts
|
|
10622
|
+
#
|
|
10623
|
+
# The same computation the alert path resolves with, so a preview can never
|
|
10624
|
+
# disagree with who actually gets woken up.
|
|
10625
|
+
#
|
|
10626
|
+
# GET /api/org/{orgId}/on-call/schedules/{scheduleId}/shifts
|
|
10627
|
+
#
|
|
10628
|
+
# Raises on 400: Bad request
|
|
10629
|
+
#
|
|
10630
|
+
# Raises on 404: Not found
|
|
10631
|
+
#
|
|
10632
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
10633
|
+
# constructed with.
|
|
10634
|
+
# @param schedule_id [String]
|
|
10635
|
+
# @param count [Integer, nil]
|
|
10636
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
10637
|
+
# @return [Hash] Parsed JSON, shaped as `OnCallShiftsResponse` — see
|
|
10638
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
10639
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
10640
|
+
def shifts(schedule_id:, org_id: nil, count: nil, request_options: nil)
|
|
10641
|
+
@transport.request(
|
|
10642
|
+
http_method: "GET",
|
|
10643
|
+
path: "/api/org/{orgId}/on-call/schedules/{scheduleId}/shifts",
|
|
10644
|
+
path_params: { "orgId" => org_id, "scheduleId" => schedule_id },
|
|
10645
|
+
query: { "count" => count },
|
|
10646
|
+
request_options: request_options
|
|
10647
|
+
)
|
|
10648
|
+
end
|
|
10649
|
+
|
|
10650
|
+
# Edit an on-call rotation
|
|
10651
|
+
#
|
|
10652
|
+
# Omitted fields are left alone, and the result is validated after merging.
|
|
10653
|
+
# Sending `participantUserIds` replaces the list wholesale — position is
|
|
10654
|
+
# rotation order, so reordering re-plans the future.
|
|
10655
|
+
#
|
|
10656
|
+
# PATCH /api/org/{orgId}/on-call/schedules/{scheduleId}
|
|
10657
|
+
#
|
|
10658
|
+
# Raises on 400: Bad request
|
|
10659
|
+
#
|
|
10660
|
+
# Raises on 404: Not found
|
|
10661
|
+
#
|
|
10662
|
+
# Raises on 409: Conflict
|
|
10663
|
+
#
|
|
10664
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
10665
|
+
# constructed with.
|
|
10666
|
+
# @param schedule_id [String]
|
|
10667
|
+
# @param body [Hash, nil] Request body, shaped as `OnCallScheduleUpdate`.
|
|
10668
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
10669
|
+
# @return [Hash] Parsed JSON, shaped as `OnCallSchedule` — see `sig/infrawrench/sdk.rbs`.
|
|
10670
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
10671
|
+
def update(schedule_id:, org_id: nil, body: nil, request_options: nil)
|
|
10672
|
+
@transport.request(
|
|
10673
|
+
http_method: "PATCH",
|
|
10674
|
+
path: "/api/org/{orgId}/on-call/schedules/{scheduleId}",
|
|
10675
|
+
path_params: { "orgId" => org_id, "scheduleId" => schedule_id },
|
|
10676
|
+
body: body,
|
|
10677
|
+
request_options: request_options
|
|
10678
|
+
)
|
|
10679
|
+
end
|
|
10680
|
+
end
|
|
10681
|
+
|
|
10682
|
+
# `client.on_call`
|
|
10683
|
+
class OnCallNamespace
|
|
10684
|
+
# @return [OnCallOverridesNamespace] `client.on_call.overrides`
|
|
10685
|
+
attr_reader :overrides
|
|
10686
|
+
# @return [OnCallSchedulesNamespace] `client.on_call.schedules`
|
|
10687
|
+
attr_reader :schedules
|
|
10688
|
+
|
|
10689
|
+
# @api private
|
|
10690
|
+
# @param transport [Transport]
|
|
10691
|
+
def initialize(transport)
|
|
10692
|
+
@transport = transport
|
|
10693
|
+
@overrides = OnCallOverridesNamespace.new(@transport)
|
|
10694
|
+
@schedules = OnCallSchedulesNamespace.new(@transport)
|
|
10695
|
+
end
|
|
10696
|
+
|
|
10697
|
+
# Who is on call right now
|
|
10698
|
+
#
|
|
10699
|
+
# One entry per rotation: the shift in effect, and the next person in the
|
|
10700
|
+
# rotation. Takes `team:read` — knowing who is on call is something every
|
|
10701
|
+
# member needs and nobody should have to ask an admin for.
|
|
10702
|
+
#
|
|
10703
|
+
# GET /api/org/{orgId}/on-call/now
|
|
10704
|
+
#
|
|
10705
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
10706
|
+
# constructed with.
|
|
10707
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
10708
|
+
# @return [Hash] Parsed JSON, shaped as `OnCallNowResponse` — see `sig/infrawrench/sdk.rbs`.
|
|
10709
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
10710
|
+
def now(org_id: nil, request_options: nil)
|
|
10711
|
+
@transport.request(
|
|
10712
|
+
http_method: "GET",
|
|
10713
|
+
path: "/api/org/{orgId}/on-call/now",
|
|
10714
|
+
path_params: { "orgId" => org_id },
|
|
10715
|
+
request_options: request_options
|
|
10716
|
+
)
|
|
10717
|
+
end
|
|
10718
|
+
end
|
|
10719
|
+
|
|
10453
10720
|
# `client.orgs`
|
|
10454
10721
|
class OrgsNamespace
|
|
10455
10722
|
# @api private
|
|
@@ -12492,6 +12759,329 @@ module Infrawrench
|
|
|
12492
12759
|
end
|
|
12493
12760
|
end
|
|
12494
12761
|
|
|
12762
|
+
# `client.runbooks.get`
|
|
12763
|
+
class RunbooksGetNamespace
|
|
12764
|
+
# @api private
|
|
12765
|
+
# @param transport [Transport]
|
|
12766
|
+
def initialize(transport)
|
|
12767
|
+
@transport = transport
|
|
12768
|
+
end
|
|
12769
|
+
|
|
12770
|
+
# List the organization's runbooks
|
|
12771
|
+
#
|
|
12772
|
+
# Every runbook, with how many times each has been run and when it was last
|
|
12773
|
+
# used. Reading takes `resources:read`: the person who can see the
|
|
12774
|
+
# infrastructure is the person who will be woken up about it.
|
|
12775
|
+
#
|
|
12776
|
+
# GET /api/org/{orgId}/runbooks
|
|
12777
|
+
#
|
|
12778
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
12779
|
+
# constructed with.
|
|
12780
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
12781
|
+
# @return [Hash] Parsed JSON, shaped as `RunbookList` — see `sig/infrawrench/sdk.rbs`.
|
|
12782
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
12783
|
+
def get(org_id: nil, request_options: nil)
|
|
12784
|
+
@transport.request(
|
|
12785
|
+
http_method: "GET",
|
|
12786
|
+
path: "/api/org/{orgId}/runbooks",
|
|
12787
|
+
path_params: { "orgId" => org_id },
|
|
12788
|
+
request_options: request_options
|
|
12789
|
+
)
|
|
12790
|
+
end
|
|
12791
|
+
|
|
12792
|
+
# Get one runbook
|
|
12793
|
+
#
|
|
12794
|
+
# GET /api/org/{orgId}/runbooks/{runbookId}
|
|
12795
|
+
#
|
|
12796
|
+
# Raises on 404: Not found
|
|
12797
|
+
#
|
|
12798
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
12799
|
+
# constructed with.
|
|
12800
|
+
# @param runbook_id [String]
|
|
12801
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
12802
|
+
# @return [Hash] Parsed JSON, shaped as `Runbook` — see `sig/infrawrench/sdk.rbs`.
|
|
12803
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
12804
|
+
def get_org_org_id_runbooks_runbook_id(runbook_id:, org_id: nil, request_options: nil)
|
|
12805
|
+
@transport.request(
|
|
12806
|
+
http_method: "GET",
|
|
12807
|
+
path: "/api/org/{orgId}/runbooks/{runbookId}",
|
|
12808
|
+
path_params: { "orgId" => org_id, "runbookId" => runbook_id },
|
|
12809
|
+
request_options: request_options
|
|
12810
|
+
)
|
|
12811
|
+
end
|
|
12812
|
+
end
|
|
12813
|
+
|
|
12814
|
+
# `client.runbooks.runs.steps`
|
|
12815
|
+
class RunbooksRunsStepsNamespace
|
|
12816
|
+
# @api private
|
|
12817
|
+
# @param transport [Transport]
|
|
12818
|
+
def initialize(transport)
|
|
12819
|
+
@transport = transport
|
|
12820
|
+
end
|
|
12821
|
+
|
|
12822
|
+
# Tick a step
|
|
12823
|
+
#
|
|
12824
|
+
# One targeted update on one row, so two responders working the same
|
|
12825
|
+
# incident can tick different steps at the same moment without either losing
|
|
12826
|
+
# the other's work.
|
|
12827
|
+
#
|
|
12828
|
+
# A closed run refuses updates, and reopening is not offered: a run is a
|
|
12829
|
+
# record of what happened. Start another run to record another attempt.
|
|
12830
|
+
#
|
|
12831
|
+
# PATCH /api/org/{orgId}/runbooks/runs/{runId}/steps/{stepId}
|
|
12832
|
+
#
|
|
12833
|
+
# Raises on 400: Bad request
|
|
12834
|
+
#
|
|
12835
|
+
# Raises on 404: Not found
|
|
12836
|
+
#
|
|
12837
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
12838
|
+
# constructed with.
|
|
12839
|
+
# @param run_id [String]
|
|
12840
|
+
# @param step_id [String]
|
|
12841
|
+
# @param body [Hash, nil] Request body, shaped as `RunbookStepUpdate`.
|
|
12842
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
12843
|
+
# @return [Hash] Parsed JSON, shaped as `RunbookRun` — see `sig/infrawrench/sdk.rbs`.
|
|
12844
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
12845
|
+
def update(run_id:, step_id:, org_id: nil, body: nil, request_options: nil)
|
|
12846
|
+
@transport.request(
|
|
12847
|
+
http_method: "PATCH",
|
|
12848
|
+
path: "/api/org/{orgId}/runbooks/runs/{runId}/steps/{stepId}",
|
|
12849
|
+
path_params: { "orgId" => org_id, "runId" => run_id, "stepId" => step_id },
|
|
12850
|
+
body: body,
|
|
12851
|
+
request_options: request_options
|
|
12852
|
+
)
|
|
12853
|
+
end
|
|
12854
|
+
end
|
|
12855
|
+
|
|
12856
|
+
# `client.runbooks.runs`
|
|
12857
|
+
class RunbooksRunsNamespace
|
|
12858
|
+
# @return [RunbooksRunsStepsNamespace] `client.runbooks.runs.steps`
|
|
12859
|
+
attr_reader :steps
|
|
12860
|
+
|
|
12861
|
+
# @api private
|
|
12862
|
+
# @param transport [Transport]
|
|
12863
|
+
def initialize(transport)
|
|
12864
|
+
@transport = transport
|
|
12865
|
+
@steps = RunbooksRunsStepsNamespace.new(@transport)
|
|
12866
|
+
end
|
|
12867
|
+
|
|
12868
|
+
# Close a run out
|
|
12869
|
+
#
|
|
12870
|
+
# Closing does **not** settle outstanding steps. A run completed with three
|
|
12871
|
+
# steps still pending is a true and useful record — it says the incident
|
|
12872
|
+
# ended before the checklist did — and quietly marking them done would erase
|
|
12873
|
+
# the one thing a postmortem wants to know.
|
|
12874
|
+
#
|
|
12875
|
+
# POST /api/org/{orgId}/runbooks/runs/{runId}/close
|
|
12876
|
+
#
|
|
12877
|
+
# Raises on 400: Bad request
|
|
12878
|
+
#
|
|
12879
|
+
# Raises on 404: Not found
|
|
12880
|
+
#
|
|
12881
|
+
# Raises on 409: Conflict
|
|
12882
|
+
#
|
|
12883
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
12884
|
+
# constructed with.
|
|
12885
|
+
# @param run_id [String]
|
|
12886
|
+
# @param body [Hash, nil] Request body, shaped as `RunbookRunClose`.
|
|
12887
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
12888
|
+
# @return [Hash] Parsed JSON, shaped as `RunbookRun` — see `sig/infrawrench/sdk.rbs`.
|
|
12889
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
12890
|
+
def close(run_id:, org_id: nil, body: nil, request_options: nil)
|
|
12891
|
+
@transport.request(
|
|
12892
|
+
http_method: "POST",
|
|
12893
|
+
path: "/api/org/{orgId}/runbooks/runs/{runId}/close",
|
|
12894
|
+
path_params: { "orgId" => org_id, "runId" => run_id },
|
|
12895
|
+
body: body,
|
|
12896
|
+
request_options: request_options
|
|
12897
|
+
)
|
|
12898
|
+
end
|
|
12899
|
+
|
|
12900
|
+
# Start performing a runbook
|
|
12901
|
+
#
|
|
12902
|
+
# Copies every step's title and kind into the run, so the record of what
|
|
12903
|
+
# somebody was asked to do survives the runbook being rewritten next week.
|
|
12904
|
+
#
|
|
12905
|
+
# Takes `resources:read`, like ticking a step: performing a checklist is not
|
|
12906
|
+
# an act of configuration, and requiring an admin mid-incident is how a team
|
|
12907
|
+
# stops using it. Deliberately not deduplicated against a run already in
|
|
12908
|
+
# progress — performing the failover twice in one incident is a real thing,
|
|
12909
|
+
# and refusing the second would mean it goes unrecorded rather than not
|
|
12910
|
+
# happening.
|
|
12911
|
+
#
|
|
12912
|
+
# POST /api/org/{orgId}/runbooks/{runbookId}/runs
|
|
12913
|
+
#
|
|
12914
|
+
# Raises on 400: Bad request
|
|
12915
|
+
#
|
|
12916
|
+
# Raises on 404: Not found
|
|
12917
|
+
#
|
|
12918
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
12919
|
+
# constructed with.
|
|
12920
|
+
# @param runbook_id [String]
|
|
12921
|
+
# @param body [Hash, nil] Request body, shaped as `RunbookRunStart`.
|
|
12922
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
12923
|
+
# @return [Hash] Parsed JSON, shaped as `RunbookRun` — see `sig/infrawrench/sdk.rbs`.
|
|
12924
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
12925
|
+
def create(runbook_id:, org_id: nil, body: nil, request_options: nil)
|
|
12926
|
+
@transport.request(
|
|
12927
|
+
http_method: "POST",
|
|
12928
|
+
path: "/api/org/{orgId}/runbooks/{runbookId}/runs",
|
|
12929
|
+
path_params: { "orgId" => org_id, "runbookId" => runbook_id },
|
|
12930
|
+
body: body,
|
|
12931
|
+
request_options: request_options
|
|
12932
|
+
)
|
|
12933
|
+
end
|
|
12934
|
+
|
|
12935
|
+
# List runbook runs
|
|
12936
|
+
#
|
|
12937
|
+
# Newest first, optionally narrowed to one runbook or one incident.
|
|
12938
|
+
#
|
|
12939
|
+
# GET /api/org/{orgId}/runbooks/runs
|
|
12940
|
+
#
|
|
12941
|
+
# Raises on 400: Bad request
|
|
12942
|
+
#
|
|
12943
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
12944
|
+
# constructed with.
|
|
12945
|
+
# @param runbook_id [String, nil]
|
|
12946
|
+
# @param incident_id [String, nil]
|
|
12947
|
+
# @param limit [Integer, nil]
|
|
12948
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
12949
|
+
# @return [Hash] Parsed JSON, shaped as `RunbookRunList` — see `sig/infrawrench/sdk.rbs`.
|
|
12950
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
12951
|
+
def get(org_id: nil, runbook_id: nil, incident_id: nil, limit: nil, request_options: nil)
|
|
12952
|
+
@transport.request(
|
|
12953
|
+
http_method: "GET",
|
|
12954
|
+
path: "/api/org/{orgId}/runbooks/runs",
|
|
12955
|
+
path_params: { "orgId" => org_id },
|
|
12956
|
+
query: { "runbookId" => runbook_id, "incidentId" => incident_id, "limit" => limit },
|
|
12957
|
+
request_options: request_options
|
|
12958
|
+
)
|
|
12959
|
+
end
|
|
12960
|
+
|
|
12961
|
+
# Get one runbook run
|
|
12962
|
+
#
|
|
12963
|
+
# GET /api/org/{orgId}/runbooks/runs/{runId}
|
|
12964
|
+
#
|
|
12965
|
+
# Raises on 404: Not found
|
|
12966
|
+
#
|
|
12967
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
12968
|
+
# constructed with.
|
|
12969
|
+
# @param run_id [String]
|
|
12970
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
12971
|
+
# @return [Hash] Parsed JSON, shaped as `RunbookRun` — see `sig/infrawrench/sdk.rbs`.
|
|
12972
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
12973
|
+
def get_org_org_id_runbooks_runs_run_id(run_id:, org_id: nil, request_options: nil)
|
|
12974
|
+
@transport.request(
|
|
12975
|
+
http_method: "GET",
|
|
12976
|
+
path: "/api/org/{orgId}/runbooks/runs/{runId}",
|
|
12977
|
+
path_params: { "orgId" => org_id, "runId" => run_id },
|
|
12978
|
+
request_options: request_options
|
|
12979
|
+
)
|
|
12980
|
+
end
|
|
12981
|
+
end
|
|
12982
|
+
|
|
12983
|
+
# `client.runbooks`
|
|
12984
|
+
class RunbooksNamespace
|
|
12985
|
+
# @return [RunbooksGetNamespace] `client.runbooks.get`
|
|
12986
|
+
attr_reader :get
|
|
12987
|
+
# @return [RunbooksRunsNamespace] `client.runbooks.runs`
|
|
12988
|
+
attr_reader :runs
|
|
12989
|
+
|
|
12990
|
+
# @api private
|
|
12991
|
+
# @param transport [Transport]
|
|
12992
|
+
def initialize(transport)
|
|
12993
|
+
@transport = transport
|
|
12994
|
+
@get = RunbooksGetNamespace.new(@transport)
|
|
12995
|
+
@runs = RunbooksRunsNamespace.new(@transport)
|
|
12996
|
+
end
|
|
12997
|
+
|
|
12998
|
+
# Write a runbook
|
|
12999
|
+
#
|
|
13000
|
+
# Editing takes `org:settings:write` — a procedure is an org-wide statement
|
|
13001
|
+
# about how something is done, and it is read by strangers under pressure.
|
|
13002
|
+
# Names are unique within an organization: two runbooks called "Failover" is
|
|
13003
|
+
# how the wrong one gets run.
|
|
13004
|
+
#
|
|
13005
|
+
# POST /api/org/{orgId}/runbooks
|
|
13006
|
+
#
|
|
13007
|
+
# Raises on 400: Bad request
|
|
13008
|
+
#
|
|
13009
|
+
# Raises on 409: Conflict
|
|
13010
|
+
#
|
|
13011
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
13012
|
+
# constructed with.
|
|
13013
|
+
# @param body [Hash, nil] Request body, shaped as `RunbookCreate`.
|
|
13014
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
13015
|
+
# @return [Hash] Parsed JSON, shaped as `Runbook` — see `sig/infrawrench/sdk.rbs`.
|
|
13016
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
13017
|
+
def create(org_id: nil, body: nil, request_options: nil)
|
|
13018
|
+
@transport.request(
|
|
13019
|
+
http_method: "POST",
|
|
13020
|
+
path: "/api/org/{orgId}/runbooks",
|
|
13021
|
+
path_params: { "orgId" => org_id },
|
|
13022
|
+
body: body,
|
|
13023
|
+
request_options: request_options
|
|
13024
|
+
)
|
|
13025
|
+
end
|
|
13026
|
+
|
|
13027
|
+
# Delete a runbook
|
|
13028
|
+
#
|
|
13029
|
+
# Takes its run history with it. To retire a procedure without losing the
|
|
13030
|
+
# record of the runs performed against it, set `enabled` to false instead.
|
|
13031
|
+
#
|
|
13032
|
+
# DELETE /api/org/{orgId}/runbooks/{runbookId}
|
|
13033
|
+
#
|
|
13034
|
+
# Raises on 404: Not found
|
|
13035
|
+
#
|
|
13036
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
13037
|
+
# constructed with.
|
|
13038
|
+
# @param runbook_id [String]
|
|
13039
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
13040
|
+
# @return [nil] This endpoint returns no content.
|
|
13041
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
13042
|
+
def delete(runbook_id:, org_id: nil, request_options: nil)
|
|
13043
|
+
@transport.request(
|
|
13044
|
+
http_method: "DELETE",
|
|
13045
|
+
path: "/api/org/{orgId}/runbooks/{runbookId}",
|
|
13046
|
+
path_params: { "orgId" => org_id, "runbookId" => runbook_id },
|
|
13047
|
+
accept: :empty,
|
|
13048
|
+
request_options: request_options
|
|
13049
|
+
)
|
|
13050
|
+
end
|
|
13051
|
+
|
|
13052
|
+
# Edit a runbook
|
|
13053
|
+
#
|
|
13054
|
+
# Omitted fields are left alone. The result is validated **after** merging,
|
|
13055
|
+
# so a patch that only changes the steps still has to produce a runbook that
|
|
13056
|
+
# is valid as a whole. A step sent with its `id` keeps its identity, so a
|
|
13057
|
+
# run in progress still matches it.
|
|
13058
|
+
#
|
|
13059
|
+
# PATCH /api/org/{orgId}/runbooks/{runbookId}
|
|
13060
|
+
#
|
|
13061
|
+
# Raises on 400: Bad request
|
|
13062
|
+
#
|
|
13063
|
+
# Raises on 404: Not found
|
|
13064
|
+
#
|
|
13065
|
+
# Raises on 409: Conflict
|
|
13066
|
+
#
|
|
13067
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
13068
|
+
# constructed with.
|
|
13069
|
+
# @param runbook_id [String]
|
|
13070
|
+
# @param body [Hash, nil] Request body, shaped as `RunbookUpdate`.
|
|
13071
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
13072
|
+
# @return [Hash] Parsed JSON, shaped as `Runbook` — see `sig/infrawrench/sdk.rbs`.
|
|
13073
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
13074
|
+
def update(runbook_id:, org_id: nil, body: nil, request_options: nil)
|
|
13075
|
+
@transport.request(
|
|
13076
|
+
http_method: "PATCH",
|
|
13077
|
+
path: "/api/org/{orgId}/runbooks/{runbookId}",
|
|
13078
|
+
path_params: { "orgId" => org_id, "runbookId" => runbook_id },
|
|
13079
|
+
body: body,
|
|
13080
|
+
request_options: request_options
|
|
13081
|
+
)
|
|
13082
|
+
end
|
|
13083
|
+
end
|
|
13084
|
+
|
|
12495
13085
|
# `client.saved_cost_filters`
|
|
12496
13086
|
class SavedCostFiltersNamespace
|
|
12497
13087
|
# @api private
|
|
@@ -15837,6 +16427,8 @@ module Infrawrench
|
|
|
15837
16427
|
attr_reader :msteams
|
|
15838
16428
|
# @return [NetworkFlowsNamespace] `client.network_flows`
|
|
15839
16429
|
attr_reader :network_flows
|
|
16430
|
+
# @return [OnCallNamespace] `client.on_call`
|
|
16431
|
+
attr_reader :on_call
|
|
15840
16432
|
# @return [OrgsNamespace] `client.orgs`
|
|
15841
16433
|
attr_reader :orgs
|
|
15842
16434
|
# @return [OrphansNamespace] `client.orphans`
|
|
@@ -15857,6 +16449,8 @@ module Infrawrench
|
|
|
15857
16449
|
attr_reader :resources
|
|
15858
16450
|
# @return [RightsizingNamespace] `client.rightsizing`
|
|
15859
16451
|
attr_reader :rightsizing
|
|
16452
|
+
# @return [RunbooksNamespace] `client.runbooks`
|
|
16453
|
+
attr_reader :runbooks
|
|
15860
16454
|
# @return [SavedCostFiltersNamespace] `client.saved_cost_filters`
|
|
15861
16455
|
attr_reader :saved_cost_filters
|
|
15862
16456
|
# @return [SchedulesNamespace] `client.schedules`
|
|
@@ -15968,6 +16562,7 @@ module Infrawrench
|
|
|
15968
16562
|
@moment = MomentNamespace.new(@transport)
|
|
15969
16563
|
@msteams = MsteamsNamespace.new(@transport)
|
|
15970
16564
|
@network_flows = NetworkFlowsNamespace.new(@transport)
|
|
16565
|
+
@on_call = OnCallNamespace.new(@transport)
|
|
15971
16566
|
@orgs = OrgsNamespace.new(@transport)
|
|
15972
16567
|
@orphans = OrphansNamespace.new(@transport)
|
|
15973
16568
|
@ownership = OwnershipNamespace.new(@transport)
|
|
@@ -15978,6 +16573,7 @@ module Infrawrench
|
|
|
15978
16573
|
@quotas = QuotasNamespace.new(@transport)
|
|
15979
16574
|
@resources = ResourcesNamespace.new(@transport)
|
|
15980
16575
|
@rightsizing = RightsizingNamespace.new(@transport)
|
|
16576
|
+
@runbooks = RunbooksNamespace.new(@transport)
|
|
15981
16577
|
@saved_cost_filters = SavedCostFiltersNamespace.new(@transport)
|
|
15982
16578
|
@schedules = SchedulesNamespace.new(@transport)
|
|
15983
16579
|
@search = SearchNamespace.new(@transport)
|
data/lib/infrawrench/sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.34.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.34.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
data/lib/infrawrench/version.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.34.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
# Kept in its own file so the gemspec can read the version without loading the
|
|
16
16
|
# client — a gemspec that pulls in net/http is a gemspec that can fail to parse.
|
|
17
17
|
module Infrawrench
|
|
18
|
-
VERSION = "1.
|
|
18
|
+
VERSION = "1.34.0"
|
|
19
19
|
end
|
data/lib/infrawrench-sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.34.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
data/sig/infrawrench/sdk.rbs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# infrawrench-sdk v1.
|
|
1
|
+
# infrawrench-sdk v1.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
2
2
|
# https://github.com/Infrawrench/Infrawrench
|
|
3
3
|
#
|
|
4
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
4
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.34.0).
|
|
5
5
|
#
|
|
6
6
|
# DO NOT EDIT. Regenerate with:
|
|
7
7
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -441,10 +441,17 @@ module Infrawrench
|
|
|
441
441
|
# still filtered by each member's own mutes — an organization rule decides
|
|
442
442
|
# whether the org is told, a member decides whether their phone rings.
|
|
443
443
|
#
|
|
444
|
+
# `on-call` resolves to one person at delivery time, so a rule reading
|
|
445
|
+
# "database alerts → whoever is on call" needs no edit at handover. A rotation
|
|
446
|
+
# that resolves to nobody — disabled, empty, not yet started — contributes
|
|
447
|
+
# nobody and the rule's **other** destinations still deliver: an alert lost to
|
|
448
|
+
# a misconfigured rotation would be the worst outcome the feature could have.
|
|
449
|
+
#
|
|
444
450
|
# Spec schema: `AlertDestination`.
|
|
445
451
|
type alert_destination = { "kind" => "push" }
|
|
446
452
|
| { "kind" => "slack", "channelId" => String }
|
|
447
453
|
| { "kind" => "msteams", "webhookId" => String }
|
|
454
|
+
| { "kind" => "on-call", "scheduleId" => String }
|
|
448
455
|
|
|
449
456
|
# Spec schema: `AlertRule`.
|
|
450
457
|
type alert_rule = {
|
|
@@ -477,7 +484,8 @@ module Infrawrench
|
|
|
477
484
|
"usingDefaults" => bool,
|
|
478
485
|
"slackChannels" => Array[{ "id" => String, "name" => String, "isPrivate" => bool }],
|
|
479
486
|
"msTeamsWebhooks" => Array[{ "id" => String, "label" => String }],
|
|
480
|
-
"accounts" => Array[{ "id" => String, "displayName" => String, "pluginId" => String }]
|
|
487
|
+
"accounts" => Array[{ "id" => String, "displayName" => String, "pluginId" => String }],
|
|
488
|
+
"onCallSchedules" => Array[{ "id" => String, "name" => String }]
|
|
481
489
|
}
|
|
482
490
|
|
|
483
491
|
# Alert severity, ordered info < warning < critical.
|
|
@@ -4341,6 +4349,104 @@ module Infrawrench
|
|
|
4341
4349
|
# Spec schema: `Ok`.
|
|
4342
4350
|
type ok = { "ok" => bool }
|
|
4343
4351
|
|
|
4352
|
+
# Spec schema: `OnCallNowEntry`.
|
|
4353
|
+
type on_call_now_entry = {
|
|
4354
|
+
"scheduleId" => String,
|
|
4355
|
+
"scheduleName" => String,
|
|
4356
|
+
"enabled" => bool,
|
|
4357
|
+
"shift" => on_call_shift,
|
|
4358
|
+
"next" => on_call_participant
|
|
4359
|
+
}
|
|
4360
|
+
|
|
4361
|
+
# Spec schema: `OnCallNowResponse`.
|
|
4362
|
+
type on_call_now_response = { "onCall" => Array[on_call_now_entry], "generatedAt" => String }
|
|
4363
|
+
|
|
4364
|
+
# Spec schema: `OnCallOverride`.
|
|
4365
|
+
type on_call_override = {
|
|
4366
|
+
"id" => String,
|
|
4367
|
+
"scheduleId" => String,
|
|
4368
|
+
"userId" => String,
|
|
4369
|
+
"userName" => String | nil,
|
|
4370
|
+
"startsAt" => String,
|
|
4371
|
+
"endsAt" => String,
|
|
4372
|
+
"reason" => String | nil,
|
|
4373
|
+
"createdByUserId" => String | nil,
|
|
4374
|
+
"createdAt" => String
|
|
4375
|
+
}
|
|
4376
|
+
|
|
4377
|
+
# Spec schema: `OnCallOverrideCreate`.
|
|
4378
|
+
type on_call_override_create = {
|
|
4379
|
+
"scheduleId" => String,
|
|
4380
|
+
"userId" => String,
|
|
4381
|
+
"startsAt" => String,
|
|
4382
|
+
"endsAt" => String,
|
|
4383
|
+
?"reason" => String | nil
|
|
4384
|
+
}
|
|
4385
|
+
|
|
4386
|
+
# The next person in the rotation — where an escalation goes. Resolved from
|
|
4387
|
+
# the rotation and never from a cover: a cover is somebody standing in for one
|
|
4388
|
+
# shift.
|
|
4389
|
+
#
|
|
4390
|
+
# Spec schema: `OnCallParticipant`.
|
|
4391
|
+
type on_call_participant = { "userId" => String, "name" => String | nil, "email" => String | nil } | nil
|
|
4392
|
+
|
|
4393
|
+
# Spec schema: `OnCallSchedule`.
|
|
4394
|
+
type on_call_schedule = {
|
|
4395
|
+
"id" => String,
|
|
4396
|
+
"name" => String,
|
|
4397
|
+
"timezone" => String,
|
|
4398
|
+
"rotationDays" => Integer,
|
|
4399
|
+
"handoffTime" => String,
|
|
4400
|
+
"startDate" => String,
|
|
4401
|
+
"participants" => Array[on_call_participant & Hash[String, untyped]],
|
|
4402
|
+
"enabled" => bool,
|
|
4403
|
+
"createdAt" => String,
|
|
4404
|
+
"updatedAt" => String
|
|
4405
|
+
}
|
|
4406
|
+
|
|
4407
|
+
# Spec schema: `OnCallScheduleCreate`.
|
|
4408
|
+
type on_call_schedule_create = {
|
|
4409
|
+
"name" => String,
|
|
4410
|
+
"timezone" => String,
|
|
4411
|
+
"rotationDays" => Integer,
|
|
4412
|
+
"handoffTime" => String,
|
|
4413
|
+
"startDate" => String,
|
|
4414
|
+
"participantUserIds" => Array[String],
|
|
4415
|
+
?"enabled" => bool
|
|
4416
|
+
}
|
|
4417
|
+
|
|
4418
|
+
# Spec schema: `OnCallScheduleList`.
|
|
4419
|
+
type on_call_schedule_list = { "schedules" => Array[on_call_schedule] }
|
|
4420
|
+
|
|
4421
|
+
# Spec schema: `OnCallScheduleUpdate`.
|
|
4422
|
+
type on_call_schedule_update = {
|
|
4423
|
+
?"name" => String,
|
|
4424
|
+
?"timezone" => String,
|
|
4425
|
+
?"rotationDays" => Integer,
|
|
4426
|
+
?"handoffTime" => String,
|
|
4427
|
+
?"startDate" => String,
|
|
4428
|
+
?"participantUserIds" => Array[String],
|
|
4429
|
+
?"enabled" => bool
|
|
4430
|
+
}
|
|
4431
|
+
|
|
4432
|
+
# Spec schema: `OnCallShift`.
|
|
4433
|
+
type on_call_shift = {
|
|
4434
|
+
"startsAt" => String,
|
|
4435
|
+
"endsAt" => String,
|
|
4436
|
+
"userId" => String,
|
|
4437
|
+
"name" => String | nil,
|
|
4438
|
+
"email" => String | nil,
|
|
4439
|
+
"source" => "rotation" | "override",
|
|
4440
|
+
"rotationIndex" => Integer | nil
|
|
4441
|
+
}
|
|
4442
|
+
| nil
|
|
4443
|
+
|
|
4444
|
+
# Spec schema: `OnCallShiftsResponse`.
|
|
4445
|
+
type on_call_shifts_response = {
|
|
4446
|
+
"shifts" => Array[on_call_shift & Hash[String, untyped]],
|
|
4447
|
+
"overrides" => Array[on_call_override]
|
|
4448
|
+
}
|
|
4449
|
+
|
|
4344
4450
|
# Org-wide notification tuning. Cooldown claims (`lastNotifiedAt`,
|
|
4345
4451
|
# `lastSentWeekStart`) are deliberately absent: they are poller state, and
|
|
4346
4452
|
# resetting one from an apply would re-open a quiet period and page people
|
|
@@ -5980,6 +6086,113 @@ module Infrawrench
|
|
|
5980
6086
|
# Spec schema: `RoleUpdateRequest`.
|
|
5981
6087
|
type role_update_request = { ?"name" => String, ?"description" => String | nil, ?"permissions" => Array[permission] }
|
|
5982
6088
|
|
|
6089
|
+
# Spec schema: `Runbook`.
|
|
6090
|
+
type runbook = {
|
|
6091
|
+
"id" => String,
|
|
6092
|
+
"name" => String,
|
|
6093
|
+
"description" => String | nil,
|
|
6094
|
+
"steps" => Array[runbook_step],
|
|
6095
|
+
"resourceTypeIds" => Array[String],
|
|
6096
|
+
"tagKey" => String | nil,
|
|
6097
|
+
"tagValue" => String | nil,
|
|
6098
|
+
"enabled" => bool,
|
|
6099
|
+
"createdByUserId" => String | nil,
|
|
6100
|
+
"createdByName" => String | nil,
|
|
6101
|
+
"createdAt" => String,
|
|
6102
|
+
"updatedAt" => String,
|
|
6103
|
+
"runCount" => Integer,
|
|
6104
|
+
"lastRunAt" => String | nil
|
|
6105
|
+
}
|
|
6106
|
+
|
|
6107
|
+
# Spec schema: `RunbookCreate`.
|
|
6108
|
+
type runbook_create = {
|
|
6109
|
+
"name" => String,
|
|
6110
|
+
?"description" => String | nil,
|
|
6111
|
+
?"steps" => Array[runbook_step_input],
|
|
6112
|
+
?"resourceTypeIds" => Array[String],
|
|
6113
|
+
?"tagKey" => String | nil,
|
|
6114
|
+
?"tagValue" => String | nil,
|
|
6115
|
+
?"enabled" => bool
|
|
6116
|
+
}
|
|
6117
|
+
|
|
6118
|
+
# Spec schema: `RunbookList`.
|
|
6119
|
+
type runbook_list = { "runbooks" => Array[runbook] }
|
|
6120
|
+
|
|
6121
|
+
# Spec schema: `RunbookRun`.
|
|
6122
|
+
type runbook_run = {
|
|
6123
|
+
"id" => String,
|
|
6124
|
+
"runbookId" => String,
|
|
6125
|
+
"runbookName" => String,
|
|
6126
|
+
"status" => "running" | "completed" | "abandoned",
|
|
6127
|
+
"incidentId" => String | nil,
|
|
6128
|
+
"startedByUserId" => String | nil,
|
|
6129
|
+
"startedByName" => String | nil,
|
|
6130
|
+
"startedAt" => String,
|
|
6131
|
+
"completedAt" => String | nil,
|
|
6132
|
+
"summary" => String | nil,
|
|
6133
|
+
"steps" => Array[runbook_run_step]
|
|
6134
|
+
}
|
|
6135
|
+
|
|
6136
|
+
# Spec schema: `RunbookRunClose`.
|
|
6137
|
+
type runbook_run_close = { "status" => "completed" | "abandoned", ?"summary" => String | nil }
|
|
6138
|
+
|
|
6139
|
+
# Spec schema: `RunbookRunList`.
|
|
6140
|
+
type runbook_run_list = { "runs" => Array[runbook_run] }
|
|
6141
|
+
|
|
6142
|
+
# Spec schema: `RunbookRunStart`.
|
|
6143
|
+
type runbook_run_start = { ?"incidentId" => String | nil }
|
|
6144
|
+
|
|
6145
|
+
# Spec schema: `RunbookRunStep`.
|
|
6146
|
+
type runbook_run_step = {
|
|
6147
|
+
"stepId" => String,
|
|
6148
|
+
"title" => String,
|
|
6149
|
+
"kind" => "manual" | "workflow" | "link",
|
|
6150
|
+
"status" => "pending" | "done" | "skipped" | "failed",
|
|
6151
|
+
"note" => String | nil,
|
|
6152
|
+
"workflowRunId" => String | nil,
|
|
6153
|
+
"actorUserId" => String | nil,
|
|
6154
|
+
"actorName" => String | nil,
|
|
6155
|
+
"updatedAt" => String | nil
|
|
6156
|
+
}
|
|
6157
|
+
|
|
6158
|
+
# Spec schema: `RunbookStep`.
|
|
6159
|
+
type runbook_step = {
|
|
6160
|
+
"id" => String,
|
|
6161
|
+
"kind" => "manual" | "workflow" | "link",
|
|
6162
|
+
"title" => String,
|
|
6163
|
+
"body" => String,
|
|
6164
|
+
?"workflowId" => String,
|
|
6165
|
+
?"url" => String
|
|
6166
|
+
}
|
|
6167
|
+
|
|
6168
|
+
# Spec schema: `RunbookStepInput`.
|
|
6169
|
+
type runbook_step_input = {
|
|
6170
|
+
?"id" => String,
|
|
6171
|
+
"kind" => "manual" | "workflow" | "link",
|
|
6172
|
+
"title" => String,
|
|
6173
|
+
?"body" => String,
|
|
6174
|
+
?"workflowId" => String | nil,
|
|
6175
|
+
?"url" => String | nil
|
|
6176
|
+
}
|
|
6177
|
+
|
|
6178
|
+
# Spec schema: `RunbookStepUpdate`.
|
|
6179
|
+
type runbook_step_update = {
|
|
6180
|
+
"status" => "pending" | "done" | "skipped" | "failed",
|
|
6181
|
+
?"note" => String | nil,
|
|
6182
|
+
?"workflowRunId" => String | nil
|
|
6183
|
+
}
|
|
6184
|
+
|
|
6185
|
+
# Spec schema: `RunbookUpdate`.
|
|
6186
|
+
type runbook_update = {
|
|
6187
|
+
?"name" => String,
|
|
6188
|
+
?"description" => String | nil,
|
|
6189
|
+
?"steps" => Array[runbook_step_input],
|
|
6190
|
+
?"resourceTypeIds" => Array[String],
|
|
6191
|
+
?"tagKey" => String | nil,
|
|
6192
|
+
?"tagValue" => String | nil,
|
|
6193
|
+
?"enabled" => bool
|
|
6194
|
+
}
|
|
6195
|
+
|
|
5983
6196
|
# Spec schema: `SavedCostFilter`.
|
|
5984
6197
|
type saved_cost_filter = {
|
|
5985
6198
|
"id" => String,
|
|
@@ -6722,6 +6935,7 @@ module Infrawrench
|
|
|
6722
6935
|
| "backups"
|
|
6723
6936
|
| "wallboard"
|
|
6724
6937
|
| "calendar"
|
|
6938
|
+
| "runbooks"
|
|
6725
6939
|
| "dns"
|
|
6726
6940
|
| "iac"
|
|
6727
6941
|
| "environment-diff"
|
|
@@ -7827,6 +8041,29 @@ module Infrawrench
|
|
|
7827
8041
|
def get: (?org_id: String?, ?from: String?, ?to: String?, ?scope: "intra_zone" | "cross_zone" | "cross_region" | "internet_egress" | "internet_ingress" | "provider_service" | "nat_gateway" | "private_interconnect" | "unknown"?, ?account_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> network_flow_feed
|
|
7828
8042
|
end
|
|
7829
8043
|
|
|
8044
|
+
class OnCallOverridesNamespace
|
|
8045
|
+
def initialize: (Transport) -> void
|
|
8046
|
+
def create: (?org_id: String?, ?body: on_call_override_create?, ?request_options: Hash[Symbol, untyped]?) -> on_call_override
|
|
8047
|
+
def delete: (override_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
|
|
8048
|
+
def get: (?org_id: String?, ?schedule_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "overrides" => Array[on_call_override] }
|
|
8049
|
+
end
|
|
8050
|
+
|
|
8051
|
+
class OnCallSchedulesNamespace
|
|
8052
|
+
def initialize: (Transport) -> void
|
|
8053
|
+
def create: (?org_id: String?, ?body: on_call_schedule_create?, ?request_options: Hash[Symbol, untyped]?) -> on_call_schedule
|
|
8054
|
+
def delete: (schedule_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
|
|
8055
|
+
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> on_call_schedule_list
|
|
8056
|
+
def shifts: (schedule_id: String, ?org_id: String?, ?count: Integer?, ?request_options: Hash[Symbol, untyped]?) -> on_call_shifts_response
|
|
8057
|
+
def update: (schedule_id: String, ?org_id: String?, ?body: on_call_schedule_update?, ?request_options: Hash[Symbol, untyped]?) -> on_call_schedule
|
|
8058
|
+
end
|
|
8059
|
+
|
|
8060
|
+
class OnCallNamespace
|
|
8061
|
+
attr_reader overrides: OnCallOverridesNamespace
|
|
8062
|
+
attr_reader schedules: OnCallSchedulesNamespace
|
|
8063
|
+
def initialize: (Transport) -> void
|
|
8064
|
+
def now: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> on_call_now_response
|
|
8065
|
+
end
|
|
8066
|
+
|
|
7830
8067
|
class OrgsNamespace
|
|
7831
8068
|
def initialize: (Transport) -> void
|
|
7832
8069
|
def create: (body: create_org_request, ?request_options: Hash[Symbol, untyped]?) -> organization
|
|
@@ -7972,6 +8209,35 @@ module Infrawrench
|
|
|
7972
8209
|
def get: (?org_id: String?, ?refresh: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> rightsizing_list_response
|
|
7973
8210
|
end
|
|
7974
8211
|
|
|
8212
|
+
class RunbooksGetNamespace
|
|
8213
|
+
def initialize: (Transport) -> void
|
|
8214
|
+
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> runbook_list
|
|
8215
|
+
def get_org_org_id_runbooks_runbook_id: (runbook_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> runbook
|
|
8216
|
+
end
|
|
8217
|
+
|
|
8218
|
+
class RunbooksRunsStepsNamespace
|
|
8219
|
+
def initialize: (Transport) -> void
|
|
8220
|
+
def update: (run_id: String, step_id: String, ?org_id: String?, ?body: runbook_step_update?, ?request_options: Hash[Symbol, untyped]?) -> runbook_run
|
|
8221
|
+
end
|
|
8222
|
+
|
|
8223
|
+
class RunbooksRunsNamespace
|
|
8224
|
+
attr_reader steps: RunbooksRunsStepsNamespace
|
|
8225
|
+
def initialize: (Transport) -> void
|
|
8226
|
+
def close: (run_id: String, ?org_id: String?, ?body: runbook_run_close?, ?request_options: Hash[Symbol, untyped]?) -> runbook_run
|
|
8227
|
+
def create: (runbook_id: String, ?org_id: String?, ?body: runbook_run_start?, ?request_options: Hash[Symbol, untyped]?) -> runbook_run
|
|
8228
|
+
def get: (?org_id: String?, ?runbook_id: String?, ?incident_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> runbook_run_list
|
|
8229
|
+
def get_org_org_id_runbooks_runs_run_id: (run_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> runbook_run
|
|
8230
|
+
end
|
|
8231
|
+
|
|
8232
|
+
class RunbooksNamespace
|
|
8233
|
+
attr_reader get: RunbooksGetNamespace
|
|
8234
|
+
attr_reader runs: RunbooksRunsNamespace
|
|
8235
|
+
def initialize: (Transport) -> void
|
|
8236
|
+
def create: (?org_id: String?, ?body: runbook_create?, ?request_options: Hash[Symbol, untyped]?) -> runbook
|
|
8237
|
+
def delete: (runbook_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
|
|
8238
|
+
def update: (runbook_id: String, ?org_id: String?, ?body: runbook_update?, ?request_options: Hash[Symbol, untyped]?) -> runbook
|
|
8239
|
+
end
|
|
8240
|
+
|
|
7975
8241
|
class SavedCostFiltersNamespace
|
|
7976
8242
|
def initialize: (Transport) -> void
|
|
7977
8243
|
def create: (body: saved_cost_filter_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> saved_cost_filter
|
|
@@ -8280,6 +8546,7 @@ module Infrawrench
|
|
|
8280
8546
|
attr_reader moment: MomentNamespace
|
|
8281
8547
|
attr_reader msteams: MsteamsNamespace
|
|
8282
8548
|
attr_reader network_flows: NetworkFlowsNamespace
|
|
8549
|
+
attr_reader on_call: OnCallNamespace
|
|
8283
8550
|
attr_reader orgs: OrgsNamespace
|
|
8284
8551
|
attr_reader orphans: OrphansNamespace
|
|
8285
8552
|
attr_reader ownership: OwnershipNamespace
|
|
@@ -8290,6 +8557,7 @@ module Infrawrench
|
|
|
8290
8557
|
attr_reader quotas: QuotasNamespace
|
|
8291
8558
|
attr_reader resources: ResourcesNamespace
|
|
8292
8559
|
attr_reader rightsizing: RightsizingNamespace
|
|
8560
|
+
attr_reader runbooks: RunbooksNamespace
|
|
8293
8561
|
attr_reader saved_cost_filters: SavedCostFiltersNamespace
|
|
8294
8562
|
attr_reader schedules: SchedulesNamespace
|
|
8295
8563
|
attr_reader search: SearchNamespace
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: infrawrench-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.34.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Infrawrench LLC
|
|
@@ -9,9 +9,9 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2026-08-
|
|
12
|
+
date: 2026-08-20 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
|
-
description: Generated Ruby client for the Infrawrench API (v1.
|
|
14
|
+
description: Generated Ruby client for the Infrawrench API (v1.34.0). Covers the published
|
|
15
15
|
API surface only — operations marked x-internal in the spec are not generated. No
|
|
16
16
|
runtime dependencies.
|
|
17
17
|
email:
|
|
@@ -58,5 +58,5 @@ requirements: []
|
|
|
58
58
|
rubygems_version: 3.5.22
|
|
59
59
|
signing_key:
|
|
60
60
|
specification_version: 4
|
|
61
|
-
summary: Generated Ruby client for the Infrawrench API (v1.
|
|
61
|
+
summary: Generated Ruby client for the Infrawrench API (v1.34.0).
|
|
62
62
|
test_files: []
|