infrawrench-sdk 1.33.0 → 1.35.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: 21301af50899b2c30d5076532d9a6be413e675f4afb0a6a7fe02d3b95ecb5872
4
+ data.tar.gz: 1961c2a7ae9ad910d12006e9f3195b1d312ec2d85f842021c615437ad90806b2
5
5
  SHA512:
6
- metadata.gz: a2fd4c6ccacd9d967c71a4290a2caf3a896181899494f724d9cbc1c65c6c0522afa37f1d8e6ba00c8271fd90627ad9e851ef298b9f75dec35a4e24be2c3f4988
7
- data.tar.gz: 56c14922c5abb90b47045a3dd8d0e05bfae7492b66c2b48b00a06fe9d4359a2dce1909029586c4a201a82ce99f7e779b041ef688d6e1c599c549e96e3e6677c5
6
+ metadata.gz: 4cbe76a752bb89558ad82455f76d4a230108c3c66bb6c7b34ae48bfeb5584f62dc9cca931a3a8f20d7445b3803e01fc2c6d93ee0b78488edc19e26a3c91b7f0d
7
+ data.tar.gz: c0ba333ab61770f2750a7c87843f4b5a7792f76888456576d1d5e9e92b5f95621009c7fb11a6933d7095de610ab4b13c9254864b9e76cdd0b21f679d5dbb6cf7
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.35.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
+ 724 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.35.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.35.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.35.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.35.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.35.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.35.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
@@ -14832,12 +15099,107 @@ module Infrawrench
14832
15099
  end
14833
15100
  end
14834
15101
 
15102
+ # `client.status_pages.custom_hostname`
15103
+ class StatusPagesCustomHostnameNamespace
15104
+ # @api private
15105
+ # @param transport [Transport]
15106
+ def initialize(transport)
15107
+ @transport = transport
15108
+ end
15109
+
15110
+ # Attach a custom domain
15111
+ #
15112
+ # Creates a Cloudflare Custom Hostname for a subdomain and returns the DNS
15113
+ # records the customer must add. Paid plan only. Apex domains are rejected.
15114
+ # At most one hostname per page.
15115
+ #
15116
+ # POST /api/org/{orgId}/status-pages/{id}/custom-hostname
15117
+ #
15118
+ # Raises on 400: Bad request
15119
+ #
15120
+ # Raises on 402: Payment required — the organization's plan does not include
15121
+ # this
15122
+ #
15123
+ # Raises on 404: Not found
15124
+ #
15125
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
15126
+ # constructed with.
15127
+ # @param id [String]
15128
+ # @param body [Hash, nil] Request body, shaped as `StatusPageCustomHostnameAttach`.
15129
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
15130
+ # @return [Hash] Parsed JSON, shaped as `StatusPage` — see `sig/infrawrench/sdk.rbs`.
15131
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
15132
+ def create(id:, org_id: nil, body: nil, request_options: nil)
15133
+ @transport.request(
15134
+ http_method: "POST",
15135
+ path: "/api/org/{orgId}/status-pages/{id}/custom-hostname",
15136
+ path_params: { "orgId" => org_id, "id" => id },
15137
+ body: body,
15138
+ request_options: request_options
15139
+ )
15140
+ end
15141
+
15142
+ # Detach a custom domain
15143
+ #
15144
+ # Removes the Cloudflare Custom Hostname and the edge hostname→slug mapping.
15145
+ # The secret slug URL is unaffected.
15146
+ #
15147
+ # DELETE /api/org/{orgId}/status-pages/{id}/custom-hostname
15148
+ #
15149
+ # Raises on 404: Not found
15150
+ #
15151
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
15152
+ # constructed with.
15153
+ # @param id [String]
15154
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
15155
+ # @return [Hash] Parsed JSON, shaped as `StatusPage` — see `sig/infrawrench/sdk.rbs`.
15156
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
15157
+ def delete(id:, org_id: nil, request_options: nil)
15158
+ @transport.request(
15159
+ http_method: "DELETE",
15160
+ path: "/api/org/{orgId}/status-pages/{id}/custom-hostname",
15161
+ path_params: { "orgId" => org_id, "id" => id },
15162
+ request_options: request_options
15163
+ )
15164
+ end
15165
+
15166
+ # Refresh custom domain status
15167
+ #
15168
+ # Re-fetches Cloudflare hostname and certificate status and updates the page
15169
+ # record.
15170
+ #
15171
+ # POST /api/org/{orgId}/status-pages/{id}/custom-hostname/refresh
15172
+ #
15173
+ # Raises on 400: Bad request
15174
+ #
15175
+ # Raises on 404: Not found
15176
+ #
15177
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
15178
+ # constructed with.
15179
+ # @param id [String]
15180
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
15181
+ # @return [Hash] Parsed JSON, shaped as `StatusPage` — see `sig/infrawrench/sdk.rbs`.
15182
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
15183
+ def refresh(id:, org_id: nil, request_options: nil)
15184
+ @transport.request(
15185
+ http_method: "POST",
15186
+ path: "/api/org/{orgId}/status-pages/{id}/custom-hostname/refresh",
15187
+ path_params: { "orgId" => org_id, "id" => id },
15188
+ request_options: request_options
15189
+ )
15190
+ end
15191
+ end
15192
+
14835
15193
  # `client.status_pages`
14836
15194
  class StatusPagesNamespace
15195
+ # @return [StatusPagesCustomHostnameNamespace] `client.status_pages.custom_hostname`
15196
+ attr_reader :custom_hostname
15197
+
14837
15198
  # @api private
14838
15199
  # @param transport [Transport]
14839
15200
  def initialize(transport)
14840
15201
  @transport = transport
15202
+ @custom_hostname = StatusPagesCustomHostnameNamespace.new(@transport)
14841
15203
  end
14842
15204
 
14843
15205
  # Create a status page
@@ -14924,7 +15286,8 @@ module Infrawrench
14924
15286
  #
14925
15287
  # Replaces the slug, revoking the current public URL immediately — the
14926
15288
  # reroll for a link that ended up somewhere unintended. The page stays
14927
- # published.
15289
+ # published. If a custom hostname is attached, its hostname→slug mapping is
15290
+ # updated so the vanity URL keeps working.
14928
15291
  #
14929
15292
  # _Requires permission: `resources:write`._
14930
15293
  #
@@ -16160,6 +16523,8 @@ module Infrawrench
16160
16523
  attr_reader :msteams
16161
16524
  # @return [NetworkFlowsNamespace] `client.network_flows`
16162
16525
  attr_reader :network_flows
16526
+ # @return [OnCallNamespace] `client.on_call`
16527
+ attr_reader :on_call
16163
16528
  # @return [OrgsNamespace] `client.orgs`
16164
16529
  attr_reader :orgs
16165
16530
  # @return [OrphansNamespace] `client.orphans`
@@ -16293,6 +16658,7 @@ module Infrawrench
16293
16658
  @moment = MomentNamespace.new(@transport)
16294
16659
  @msteams = MsteamsNamespace.new(@transport)
16295
16660
  @network_flows = NetworkFlowsNamespace.new(@transport)
16661
+ @on_call = OnCallNamespace.new(@transport)
16296
16662
  @orgs = OrgsNamespace.new(@transport)
16297
16663
  @orphans = OrphansNamespace.new(@transport)
16298
16664
  @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.35.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.35.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.35.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.35.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.35.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.35.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.35.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.35.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.35.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.35.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.35.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
@@ -6655,6 +6761,10 @@ module Infrawrench
6655
6761
  "showHistory" => bool,
6656
6762
  "showUptime" => bool,
6657
6763
  "supportUrl" => String | nil,
6764
+ "customHostname" => String | nil,
6765
+ "customHostnameStatus" => status_page_custom_hostname_status,
6766
+ "customHostnameError" => String | nil,
6767
+ "customHostnameVerification" => status_page_hostname_verification,
6658
6768
  "components" => Array[status_page_component],
6659
6769
  "createdAt" => String,
6660
6770
  "updatedAt" => String
@@ -6686,6 +6796,15 @@ module Infrawrench
6686
6796
  ?"components" => Array[status_page_component_input]
6687
6797
  }
6688
6798
 
6799
+ # Spec schema: `StatusPageCustomHostnameAttach`.
6800
+ type status_page_custom_hostname_attach = { "hostname" => String }
6801
+
6802
+ # Spec schema: `StatusPageCustomHostnameStatus`.
6803
+ type status_page_custom_hostname_status = "none" | "pending_dns" | "pending_ssl" | "active" | "error"
6804
+
6805
+ # Spec schema: `StatusPageHostnameVerification`.
6806
+ type status_page_hostname_verification = { "cnameTarget" => String, ?"txtName" => String, ?"txtValue" => String } | nil
6807
+
6689
6808
  # Spec schema: `StatusPageListResponse`.
6690
6809
  type status_page_list_response = { "pages" => Array[status_page] }
6691
6810
 
@@ -7935,6 +8054,29 @@ module Infrawrench
7935
8054
  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
8055
  end
7937
8056
 
8057
+ class OnCallOverridesNamespace
8058
+ def initialize: (Transport) -> void
8059
+ def create: (?org_id: String?, ?body: on_call_override_create?, ?request_options: Hash[Symbol, untyped]?) -> on_call_override
8060
+ def delete: (override_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
8061
+ def get: (?org_id: String?, ?schedule_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "overrides" => Array[on_call_override] }
8062
+ end
8063
+
8064
+ class OnCallSchedulesNamespace
8065
+ def initialize: (Transport) -> void
8066
+ def create: (?org_id: String?, ?body: on_call_schedule_create?, ?request_options: Hash[Symbol, untyped]?) -> on_call_schedule
8067
+ def delete: (schedule_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
8068
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> on_call_schedule_list
8069
+ def shifts: (schedule_id: String, ?org_id: String?, ?count: Integer?, ?request_options: Hash[Symbol, untyped]?) -> on_call_shifts_response
8070
+ def update: (schedule_id: String, ?org_id: String?, ?body: on_call_schedule_update?, ?request_options: Hash[Symbol, untyped]?) -> on_call_schedule
8071
+ end
8072
+
8073
+ class OnCallNamespace
8074
+ attr_reader overrides: OnCallOverridesNamespace
8075
+ attr_reader schedules: OnCallSchedulesNamespace
8076
+ def initialize: (Transport) -> void
8077
+ def now: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> on_call_now_response
8078
+ end
8079
+
7938
8080
  class OrgsNamespace
7939
8081
  def initialize: (Transport) -> void
7940
8082
  def create: (body: create_org_request, ?request_options: Hash[Symbol, untyped]?) -> organization
@@ -8255,7 +8397,15 @@ module Infrawrench
8255
8397
  def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> org_status_incidents_response
8256
8398
  end
8257
8399
 
8400
+ class StatusPagesCustomHostnameNamespace
8401
+ def initialize: (Transport) -> void
8402
+ def create: (id: String, ?org_id: String?, ?body: status_page_custom_hostname_attach?, ?request_options: Hash[Symbol, untyped]?) -> status_page
8403
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> status_page
8404
+ def refresh: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> status_page
8405
+ end
8406
+
8258
8407
  class StatusPagesNamespace
8408
+ attr_reader custom_hostname: StatusPagesCustomHostnameNamespace
8259
8409
  def initialize: (Transport) -> void
8260
8410
  def create: (?org_id: String?, ?body: status_page_create?, ?request_options: Hash[Symbol, untyped]?) -> status_page
8261
8411
  def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
@@ -8417,6 +8567,7 @@ module Infrawrench
8417
8567
  attr_reader moment: MomentNamespace
8418
8568
  attr_reader msteams: MsteamsNamespace
8419
8569
  attr_reader network_flows: NetworkFlowsNamespace
8570
+ attr_reader on_call: OnCallNamespace
8420
8571
  attr_reader orgs: OrgsNamespace
8421
8572
  attr_reader orphans: OrphansNamespace
8422
8573
  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.35.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-20 00:00:00.000000000 Z
12
+ date: 2026-08-25 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.35.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.35.0).
62
62
  test_files: []