infrawrench-sdk 1.33.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8709c380a94a27f59e18bad60260b8e4da5728319d8155305c5aa6ac258f66ce
4
- data.tar.gz: 4aa58816cbcd2c706589f64ec518f0a4f34f8c1b3edd0ee22217ca6a9190d459
3
+ metadata.gz: bb980c1a1123712fc1dd3630cb778f4b005f830e9177d144334d835ac0cd4493
4
+ data.tar.gz: d7946079dcf9ffe48c117f76eedd7eafd022530f33d290be1c9e5985743ac9b6
5
5
  SHA512:
6
- metadata.gz: a2fd4c6ccacd9d967c71a4290a2caf3a896181899494f724d9cbc1c65c6c0522afa37f1d8e6ba00c8271fd90627ad9e851ef298b9f75dec35a4e24be2c3f4988
7
- data.tar.gz: 56c14922c5abb90b47045a3dd8d0e05bfae7492b66c2b48b00a06fe9d4359a2dce1909029586c4a201a82ce99f7e779b041ef688d6e1c599c549e96e3e6677c5
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.33.0`).
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
- 710 schemas, as RBS type aliases that steep and TypeProf can read.
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 —
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.33.0 | MIT | Copyright (c) 2026 Infrawrench LLC
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.33.0).
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.33.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.33.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
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"
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.33.0 | MIT | Copyright (c) 2026 Infrawrench LLC
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.33.0).
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
@@ -16160,6 +16427,8 @@ module Infrawrench
16160
16427
  attr_reader :msteams
16161
16428
  # @return [NetworkFlowsNamespace] `client.network_flows`
16162
16429
  attr_reader :network_flows
16430
+ # @return [OnCallNamespace] `client.on_call`
16431
+ attr_reader :on_call
16163
16432
  # @return [OrgsNamespace] `client.orgs`
16164
16433
  attr_reader :orgs
16165
16434
  # @return [OrphansNamespace] `client.orphans`
@@ -16293,6 +16562,7 @@ module Infrawrench
16293
16562
  @moment = MomentNamespace.new(@transport)
16294
16563
  @msteams = MsteamsNamespace.new(@transport)
16295
16564
  @network_flows = NetworkFlowsNamespace.new(@transport)
16565
+ @on_call = OnCallNamespace.new(@transport)
16296
16566
  @orgs = OrgsNamespace.new(@transport)
16297
16567
  @orphans = OrphansNamespace.new(@transport)
16298
16568
  @ownership = OwnershipNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.33.0 | MIT | Copyright (c) 2026 Infrawrench LLC
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.33.0).
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.33.0 | MIT | Copyright (c) 2026 Infrawrench LLC
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.33.0).
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.33.0 | MIT | Copyright (c) 2026 Infrawrench LLC
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.33.0).
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.33.0"
18
+ VERSION = "1.34.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.33.0 | MIT | Copyright (c) 2026 Infrawrench LLC
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.33.0).
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,7 +1,7 @@
1
- # infrawrench-sdk v1.33.0 | MIT | Copyright (c) 2026 Infrawrench LLC
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.33.0).
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
@@ -7935,6 +8041,29 @@ module Infrawrench
7935
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
7936
8042
  end
7937
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
+
7938
8067
  class OrgsNamespace
7939
8068
  def initialize: (Transport) -> void
7940
8069
  def create: (body: create_org_request, ?request_options: Hash[Symbol, untyped]?) -> organization
@@ -8417,6 +8546,7 @@ module Infrawrench
8417
8546
  attr_reader moment: MomentNamespace
8418
8547
  attr_reader msteams: MsteamsNamespace
8419
8548
  attr_reader network_flows: NetworkFlowsNamespace
8549
+ attr_reader on_call: OnCallNamespace
8420
8550
  attr_reader orgs: OrgsNamespace
8421
8551
  attr_reader orphans: OrphansNamespace
8422
8552
  attr_reader ownership: OwnershipNamespace
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.33.0
4
+ version: 1.34.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infrawrench LLC
@@ -11,7 +11,7 @@ bindir: bin
11
11
  cert_chain: []
12
12
  date: 2026-08-20 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.33.0). Covers the published
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.33.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.34.0).
62
62
  test_files: []