infrawrench-sdk 1.14.0 → 1.15.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: c947d74d37069573fb9534ab1665a9ebcef67ad271943d690f1474ef27eb1913
4
- data.tar.gz: 7b44c470da3df84fe8d0dbb39a253a0c30ab8a9bfb980bd2c4b1958c370b7b63
3
+ metadata.gz: 9e38a098383f11fdb35de83cb2014267146a3689c00f7b84da86b2c994a01ce1
4
+ data.tar.gz: aaba5e6be92f922ca34f0436611e30ec26cebb13687d0d454e3f1e987f3fe4f4
5
5
  SHA512:
6
- metadata.gz: 2e314cc1ca73c8c0603ab5109e692215734058d3d5b412abe75e43debcc22952443e76820c0fdb90dcd9d66fe63a02c42e52496049b3d148a74e0d8161ad180c
7
- data.tar.gz: '087ba4da5d3ab0ec9cf77f7aebdef7ee8af0dbc0911ea86b1ffbf0692e481107bf7061de81b627bd606ab56334470c6603e04fe4e6e3d0f0358f1eac8a8c3347'
6
+ metadata.gz: e9371a9e34e0adac31a39ea733dd10c50ffea1b4704726ae163bde10ca694e9cb666412fa48824501a32256098f165c3ada273fcccf0b90fc91851ef32211110
7
+ data.tar.gz: 65dd789443a52e1bb9368eec4dc7e92db2117850ad45e17645ed0e82f7d1a3367610eff61e92e05aa5c223fb62b493bc15cd2f6b08197a2bd5259a9d018799ec
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.14.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.15.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
- 573 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 586 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.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.15.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.14.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.15.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.14.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.14.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.15.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.15.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.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.15.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.14.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.15.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -6395,6 +6395,334 @@ module Infrawrench
6395
6395
  end
6396
6396
  end
6397
6397
 
6398
+ # `client.incidents.get`
6399
+ class IncidentsGetNamespace
6400
+ # @api private
6401
+ # @param transport [Transport]
6402
+ def initialize(transport)
6403
+ @transport = transport
6404
+ end
6405
+
6406
+ # List declared incidents
6407
+ #
6408
+ # Every incident the organization has declared, newest first, each with the
6409
+ # artefacts its declaration created — including the ones that failed.
6410
+ #
6411
+ # _Requires permission: `incidents:read`._
6412
+ #
6413
+ # GET /api/org/{orgId}/incidents
6414
+ #
6415
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6416
+ # constructed with.
6417
+ # @param status [String, nil] `open`, `mitigated`, `resolved`, or `all` (the default).
6418
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6419
+ # @return [Hash] Parsed JSON, shaped as `IncidentList` — see `sig/infrawrench/sdk.rbs`.
6420
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6421
+ def get(org_id: nil, status: nil, request_options: nil)
6422
+ @transport.request(
6423
+ http_method: "GET",
6424
+ path: "/api/org/{orgId}/incidents",
6425
+ path_params: { "orgId" => org_id },
6426
+ query: { "status" => status },
6427
+ request_options: request_options
6428
+ )
6429
+ end
6430
+
6431
+ # Read one incident
6432
+ #
6433
+ # The incident with its artefacts and its operator notes.
6434
+ #
6435
+ # _Requires permission: `incidents:read`._
6436
+ #
6437
+ # GET /api/org/{orgId}/incidents/{incidentId}
6438
+ #
6439
+ # Raises on 404: Not found
6440
+ #
6441
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6442
+ # constructed with.
6443
+ # @param incident_id [String]
6444
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6445
+ # @return [Hash] Parsed JSON, shaped as `IncidentDetail` — see `sig/infrawrench/sdk.rbs`.
6446
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6447
+ def get_org_org_id_incidents_incident_id(incident_id:, org_id: nil, request_options: nil)
6448
+ @transport.request(
6449
+ http_method: "GET",
6450
+ path: "/api/org/{orgId}/incidents/{incidentId}",
6451
+ path_params: { "orgId" => org_id, "incidentId" => incident_id },
6452
+ request_options: request_options
6453
+ )
6454
+ end
6455
+ end
6456
+
6457
+ # `client.incidents.notes`
6458
+ class IncidentsNotesNamespace
6459
+ # @api private
6460
+ # @param transport [Transport]
6461
+ def initialize(transport)
6462
+ @transport = transport
6463
+ end
6464
+
6465
+ # Add an operator note
6466
+ #
6467
+ # The running commentary no join can reconstruct. `occurredAt` may be
6468
+ # backdated so a note typed at 04:00 lands on the timeline where it belongs.
6469
+ #
6470
+ # _Requires permission: `incidents:write`._
6471
+ #
6472
+ # POST /api/org/{orgId}/incidents/{incidentId}/notes
6473
+ #
6474
+ # Raises on 400: Bad request
6475
+ #
6476
+ # Raises on 404: Not found
6477
+ #
6478
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6479
+ # constructed with.
6480
+ # @param incident_id [String]
6481
+ # @param body [Hash, nil] Request body, shaped as `IncidentNoteCreate`.
6482
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6483
+ # @return [Hash] Parsed JSON, shaped as `IncidentNote` — see `sig/infrawrench/sdk.rbs`.
6484
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6485
+ def create(incident_id:, org_id: nil, body: nil, request_options: nil)
6486
+ @transport.request(
6487
+ http_method: "POST",
6488
+ path: "/api/org/{orgId}/incidents/{incidentId}/notes",
6489
+ path_params: { "orgId" => org_id, "incidentId" => incident_id },
6490
+ body: body,
6491
+ request_options: request_options
6492
+ )
6493
+ end
6494
+
6495
+ # Delete an operator note
6496
+ #
6497
+ # _Requires permission: `incidents:write`._
6498
+ #
6499
+ # DELETE /api/org/{orgId}/incidents/{incidentId}/notes/{noteId}
6500
+ #
6501
+ # Raises on 404: Not found
6502
+ #
6503
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6504
+ # constructed with.
6505
+ # @param incident_id [String]
6506
+ # @param note_id [String]
6507
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6508
+ # @return [nil] This endpoint returns no content.
6509
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6510
+ def delete(incident_id:, note_id:, org_id: nil, request_options: nil)
6511
+ @transport.request(
6512
+ http_method: "DELETE",
6513
+ path: "/api/org/{orgId}/incidents/{incidentId}/notes/{noteId}",
6514
+ path_params: { "orgId" => org_id, "incidentId" => incident_id, "noteId" => note_id },
6515
+ accept: :empty,
6516
+ request_options: request_options
6517
+ )
6518
+ end
6519
+ end
6520
+
6521
+ # `client.incidents`
6522
+ class IncidentsNamespace
6523
+ # @return [IncidentsGetNamespace] `client.incidents.get`
6524
+ attr_reader :get
6525
+ # @return [IncidentsNotesNamespace] `client.incidents.notes`
6526
+ attr_reader :notes
6527
+
6528
+ # @api private
6529
+ # @param transport [Transport]
6530
+ def initialize(transport)
6531
+ @transport = transport
6532
+ @get = IncidentsGetNamespace.new(@transport)
6533
+ @notes = IncidentsNotesNamespace.new(@transport)
6534
+ end
6535
+
6536
+ # Declare an incident
6537
+ #
6538
+ # Record the incident and perform the opted-in side effects. The incident
6539
+ # row is written first and alone: a 201 means it exists, and the `artifacts`
6540
+ # array on the response says what else happened. No side effect can lose the
6541
+ # declaration, and none is swallowed. Audit-logged.
6542
+ #
6543
+ # _Requires permission: `incidents:write`._
6544
+ #
6545
+ # POST /api/org/{orgId}/incidents
6546
+ #
6547
+ # Raises on 400: Bad request
6548
+ #
6549
+ # Raises on 403: Forbidden
6550
+ #
6551
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6552
+ # constructed with.
6553
+ # @param body [Hash, nil] Request body, shaped as `IncidentDeclare`.
6554
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6555
+ # @return [Hash] Parsed JSON, shaped as `Incident` — see `sig/infrawrench/sdk.rbs`.
6556
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6557
+ def create(org_id: nil, body: nil, request_options: nil)
6558
+ @transport.request(
6559
+ http_method: "POST",
6560
+ path: "/api/org/{orgId}/incidents",
6561
+ path_params: { "orgId" => org_id },
6562
+ body: body,
6563
+ request_options: request_options
6564
+ )
6565
+ end
6566
+
6567
+ # Delete an incident
6568
+ #
6569
+ # Removes the incident, its notes and its artefact records. It does not lift
6570
+ # a freeze or close a status-page update — resolve for that; deleting is for
6571
+ # a mis-declaration. Audit-logged.
6572
+ #
6573
+ # _Requires permission: `incidents:write`._
6574
+ #
6575
+ # DELETE /api/org/{orgId}/incidents/{incidentId}
6576
+ #
6577
+ # Raises on 404: Not found
6578
+ #
6579
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6580
+ # constructed with.
6581
+ # @param incident_id [String]
6582
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6583
+ # @return [nil] This endpoint returns no content.
6584
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6585
+ def delete(incident_id:, org_id: nil, request_options: nil)
6586
+ @transport.request(
6587
+ http_method: "DELETE",
6588
+ path: "/api/org/{orgId}/incidents/{incidentId}",
6589
+ path_params: { "orgId" => org_id, "incidentId" => incident_id },
6590
+ accept: :empty,
6591
+ request_options: request_options
6592
+ )
6593
+ end
6594
+
6595
+ # Export a pre-filled postmortem
6596
+ #
6597
+ # Markdown with the timeline, the affected resources, the duration, the time
6598
+ # to mitigate and the notes already filled in. The analysis headings —
6599
+ # impact, root cause, action items — are deliberately left blank: a
6600
+ # generated document that guesses at a root cause is worse than one that
6601
+ # leaves a heading.
6602
+ #
6603
+ # _Requires permission: `incidents:read`._
6604
+ #
6605
+ # GET /api/org/{orgId}/incidents/{incidentId}/postmortem
6606
+ #
6607
+ # Raises on 404: Not found
6608
+ #
6609
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6610
+ # constructed with.
6611
+ # @param incident_id [String]
6612
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6613
+ # @return [Hash] Parsed JSON, shaped as `IncidentPostmortem` — see
6614
+ # `sig/infrawrench/sdk.rbs`.
6615
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6616
+ def postmortem(incident_id:, org_id: nil, request_options: nil)
6617
+ @transport.request(
6618
+ http_method: "GET",
6619
+ path: "/api/org/{orgId}/incidents/{incidentId}/postmortem",
6620
+ path_params: { "orgId" => org_id, "incidentId" => incident_id },
6621
+ request_options: request_options
6622
+ )
6623
+ end
6624
+
6625
+ # Retry the artefacts that failed
6626
+ #
6627
+ # Re-runs only the side effects whose artefact is in a failure state,
6628
+ # replacing each failure rather than queueing a second attempt beside it. A
6629
+ # `failed` artefact is **re-created**; a `close_failed` one is **re-closed**
6630
+ # — re-creating the latter would open a second change freeze or post a
6631
+ # duplicate public notice. A status-page retry reuses the components
6632
+ # recorded on the artefact's `request`, so the announcement keeps its
6633
+ # original scope. Its own endpoint rather than a flag on PATCH, because it
6634
+ # writes into three external systems. Audit-logged.
6635
+ #
6636
+ # _Requires permission: `incidents:write`._
6637
+ #
6638
+ # POST /api/org/{orgId}/incidents/{incidentId}/retry-artifacts
6639
+ #
6640
+ # Raises on 404: Not found
6641
+ #
6642
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6643
+ # constructed with.
6644
+ # @param incident_id [String]
6645
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6646
+ # @return [Hash] Parsed JSON, shaped as `Incident` — see `sig/infrawrench/sdk.rbs`.
6647
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6648
+ def retry_artifacts(incident_id:, org_id: nil, request_options: nil)
6649
+ @transport.request(
6650
+ http_method: "POST",
6651
+ path: "/api/org/{orgId}/incidents/{incidentId}/retry-artifacts",
6652
+ path_params: { "orgId" => org_id, "incidentId" => incident_id },
6653
+ request_options: request_options
6654
+ )
6655
+ end
6656
+
6657
+ # Assemble the incident's timeline
6658
+ #
6659
+ # Merged on read from what is already recorded between the incident's start
6660
+ # and its resolution: resource changes, deployments, cost anomalies,
6661
+ # provider status incidents, audit entries, change freezes and workflow runs
6662
+ # (all via the same union the Moment screen uses), plus probe state
6663
+ # transitions, metric-alert firings, the incident's own life events, its
6664
+ # artefacts and its operator notes. Nothing is copied — a correction
6665
+ # upstream shows up here on the next read.
6666
+ #
6667
+ # Probe transitions are an approximation: `synthetic_probes` keeps only a
6668
+ # single `lastStateChangeAt`, so a probe that flapped twice inside the
6669
+ # window contributes its most recent flip and no more.
6670
+ #
6671
+ # _Requires permission: `incidents:read`._
6672
+ #
6673
+ # GET /api/org/{orgId}/incidents/{incidentId}/timeline
6674
+ #
6675
+ # Raises on 404: Not found
6676
+ #
6677
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6678
+ # constructed with.
6679
+ # @param incident_id [String]
6680
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6681
+ # @return [Hash] Parsed JSON, shaped as `IncidentTimeline` — see `sig/infrawrench/sdk.rbs`.
6682
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6683
+ def timeline(incident_id:, org_id: nil, request_options: nil)
6684
+ @transport.request(
6685
+ http_method: "GET",
6686
+ path: "/api/org/{orgId}/incidents/{incidentId}/timeline",
6687
+ path_params: { "orgId" => org_id, "incidentId" => incident_id },
6688
+ request_options: request_options
6689
+ )
6690
+ end
6691
+
6692
+ # Edit or transition an incident
6693
+ #
6694
+ # Omitted fields keep their value. Setting `status` stamps the matching
6695
+ # timestamp, and resolving undoes exactly what this incident created — the
6696
+ # freeze whose id is on its own artefact, not whatever freeze happens to be
6697
+ # in effect. Resolving an incident that was never marked mitigated
6698
+ # back-fills `mitigatedAt` from `resolvedAt`. Audit-logged.
6699
+ #
6700
+ # _Requires permission: `incidents:write`._
6701
+ #
6702
+ # PATCH /api/org/{orgId}/incidents/{incidentId}
6703
+ #
6704
+ # Raises on 400: Bad request
6705
+ #
6706
+ # Raises on 404: Not found
6707
+ #
6708
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6709
+ # constructed with.
6710
+ # @param incident_id [String]
6711
+ # @param body [Hash, nil] Request body, shaped as `IncidentPatch`.
6712
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6713
+ # @return [Hash] Parsed JSON, shaped as `Incident` — see `sig/infrawrench/sdk.rbs`.
6714
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6715
+ def update(incident_id:, org_id: nil, body: nil, request_options: nil)
6716
+ @transport.request(
6717
+ http_method: "PATCH",
6718
+ path: "/api/org/{orgId}/incidents/{incidentId}",
6719
+ path_params: { "orgId" => org_id, "incidentId" => incident_id },
6720
+ body: body,
6721
+ request_options: request_options
6722
+ )
6723
+ end
6724
+ end
6725
+
6398
6726
  # `client.invitations.by_token`
6399
6727
  class InvitationsByTokenNamespace
6400
6728
  # @api private
@@ -13304,6 +13632,8 @@ module Infrawrench
13304
13632
  attr_reader :environment_diff
13305
13633
  # @return [ExpiringNamespace] `client.expiring`
13306
13634
  attr_reader :expiring
13635
+ # @return [IncidentsNamespace] `client.incidents`
13636
+ attr_reader :incidents
13307
13637
  # @return [InvitationsNamespace] `client.invitations`
13308
13638
  attr_reader :invitations
13309
13639
  # @return [InvoicesNamespace] `client.invoices`
@@ -13433,6 +13763,7 @@ module Infrawrench
13433
13763
  @docker = DockerNamespace.new(@transport)
13434
13764
  @environment_diff = EnvironmentDiffNamespace.new(@transport)
13435
13765
  @expiring = ExpiringNamespace.new(@transport)
13766
+ @incidents = IncidentsNamespace.new(@transport)
13436
13767
  @invitations = InvitationsNamespace.new(@transport)
13437
13768
  @invoices = InvoicesNamespace.new(@transport)
13438
13769
  @jira = JiraNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.15.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.14.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.15.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.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.15.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.14.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.15.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.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.15.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.14.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.15.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.14.0"
18
+ VERSION = "1.15.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.15.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.14.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.15.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.14.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.15.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.14.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.15.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -328,6 +328,7 @@ module Infrawrench
328
328
  | "postureAlerts"
329
329
  | "probeAlerts"
330
330
  | "quotaAlerts"
331
+ | "incidentAlerts"
331
332
  | "weeklyDigest"
332
333
 
333
334
  # Spec schema: `AllocationRule`.
@@ -2584,6 +2585,148 @@ module Infrawrench
2584
2585
  "isImported" => bool
2585
2586
  }
2586
2587
 
2588
+ # Spec schema: `Incident`.
2589
+ type incident = {
2590
+ "id" => String,
2591
+ "title" => String,
2592
+ "severity" => "sev1" | "sev2" | "sev3" | "sev4",
2593
+ "status" => "open" | "mitigated" | "resolved",
2594
+ "summary" => String | nil,
2595
+ "startedAt" => String,
2596
+ "mitigatedAt" => String | nil,
2597
+ "resolvedAt" => String | nil,
2598
+ "declaredByUserId" => String | nil,
2599
+ "declaredByName" => String | nil,
2600
+ "resolvedByUserId" => String | nil,
2601
+ "affectedResourceIds" => Array[String],
2602
+ "affectedAccountIds" => Array[String],
2603
+ "issueUrl" => String | nil,
2604
+ "createdAt" => String,
2605
+ "updatedAt" => String,
2606
+ "artifacts" => Array[incident_artifact],
2607
+ "noteCount" => Integer
2608
+ }
2609
+
2610
+ # Spec schema: `IncidentActions`.
2611
+ type incident_actions = {
2612
+ ?"openFreeze" => bool,
2613
+ ?"pinMoment" => bool,
2614
+ ?"postSlack" => bool,
2615
+ ?"statusPageId" => String | nil,
2616
+ ?"statusPageComponentIds" => Array[String]
2617
+ }
2618
+
2619
+ # Spec schema: `IncidentArtifact`.
2620
+ type incident_artifact = {
2621
+ "id" => String,
2622
+ "kind" => "freeze" | "moment" | "slack" | "status-page",
2623
+ "status" => "created" | "failed" | "closed" | "close_failed",
2624
+ "label" => String | nil,
2625
+ "refId" => String | String | nil,
2626
+ "refSecondary" => String | nil,
2627
+ "error" => String | nil,
2628
+ "request" => incident_artifact_request,
2629
+ "createdAt" => String,
2630
+ "updatedAt" => String
2631
+ }
2632
+
2633
+ # What the declaration asked for, recorded so a retry asks for the same thing.
2634
+ # Present on the status-page artefact, where a retry that forgot the
2635
+ # operator's chosen components would publish the outage against the whole
2636
+ # page.
2637
+ #
2638
+ # Spec schema: `IncidentArtifactRequest`.
2639
+ type incident_artifact_request = { ?"statusPageId" => String | nil, ?"componentIds" => Array[String] } | nil
2640
+
2641
+ # Spec schema: `IncidentDeclare`.
2642
+ type incident_declare = {
2643
+ "title" => String,
2644
+ ?"severity" => "sev1" | "sev2" | "sev3" | "sev4",
2645
+ ?"summary" => String | nil,
2646
+ ?"startedAt" => String,
2647
+ ?"affectedResourceIds" => Array[String],
2648
+ ?"affectedAccountIds" => Array[String],
2649
+ ?"actions" => incident_actions
2650
+ }
2651
+
2652
+ # Spec schema: `IncidentDetail`.
2653
+ type incident_detail = { "incident" => incident, "notes" => Array[incident_note] }
2654
+
2655
+ # Spec schema: `IncidentList`.
2656
+ type incident_list = { "incidents" => Array[incident] }
2657
+
2658
+ # Spec schema: `IncidentNote`.
2659
+ type incident_note = {
2660
+ "id" => String,
2661
+ "body" => String,
2662
+ "authorUserId" => String | nil,
2663
+ "authorName" => String | nil,
2664
+ "occurredAt" => String,
2665
+ "createdAt" => String
2666
+ }
2667
+
2668
+ # Spec schema: `IncidentNoteCreate`.
2669
+ type incident_note_create = { "body" => String, ?"occurredAt" => String }
2670
+
2671
+ # Spec schema: `IncidentPatch`.
2672
+ type incident_patch = {
2673
+ ?"title" => String,
2674
+ ?"severity" => "sev1" | "sev2" | "sev3" | "sev4",
2675
+ ?"status" => "open" | "mitigated" | "resolved",
2676
+ ?"summary" => String | nil,
2677
+ ?"affectedResourceIds" => Array[String],
2678
+ ?"affectedAccountIds" => Array[String],
2679
+ ?"issueUrl" => String | nil
2680
+ }
2681
+
2682
+ # Spec schema: `IncidentPostmortem`.
2683
+ type incident_postmortem = { "markdown" => String, "filename" => String }
2684
+
2685
+ # Spec schema: `IncidentTimeline`.
2686
+ type incident_timeline = {
2687
+ "incidentId" => String,
2688
+ "from" => String,
2689
+ "to" => String,
2690
+ "generatedAt" => String,
2691
+ "entries" => Array[incident_timeline_entry],
2692
+ "feeds" => Array[{ "feed" => String, "status" => "ok" | "omitted" | "error", ?"error" => String | nil }],
2693
+ "truncated" => bool
2694
+ }
2695
+
2696
+ # Spec schema: `IncidentTimelineEntry`.
2697
+ type incident_timeline_entry = {
2698
+ "id" => String,
2699
+ "source" => "incident" | "note" | "artifact" | "moment" | "probe" | "metric-alert",
2700
+ "kind" => String,
2701
+ "at" => String,
2702
+ "title" => String,
2703
+ ?"detail" => String | nil,
2704
+ "severity" => "info" | "warning" | "critical",
2705
+ ?"authorName" => String | nil,
2706
+ ?"resourceId" => String | nil,
2707
+ ?"resourceName" => String | nil,
2708
+ ?"pluginId" => String | nil,
2709
+ ?"accountId" => String | nil,
2710
+ ?"link" => {
2711
+ "kind" => "resource"
2712
+ | "changes"
2713
+ | "provider-incident"
2714
+ | "costs"
2715
+ | "workflow-run"
2716
+ | "deployment"
2717
+ | "audit"
2718
+ | "freeze"
2719
+ | "expiring"
2720
+ | "probe"
2721
+ | "metric-alert"
2722
+ | "incident",
2723
+ ?"id" => String | nil,
2724
+ ?"parentId" => String | nil,
2725
+ ?"url" => String | nil
2726
+ }
2727
+ | nil
2728
+ }
2729
+
2587
2730
  # Spec schema: `Invitation`.
2588
2731
  type invitation = {
2589
2732
  "id" => String,
@@ -3793,6 +3936,8 @@ module Infrawrench
3793
3936
  | "freezes:read"
3794
3937
  | "freezes:write"
3795
3938
  | "freezes:override"
3939
+ | "incidents:read"
3940
+ | "incidents:write"
3796
3941
  | "tag-policy:override"
3797
3942
  | "config:read"
3798
3943
  | "config:write"
@@ -5653,6 +5798,7 @@ module Infrawrench
5653
5798
  | "metric-alerts"
5654
5799
  | "probes"
5655
5800
  | "quotas"
5801
+ | "incidents"
5656
5802
  | "workflows"
5657
5803
  | "deployments"
5658
5804
  | "settings"
@@ -6382,6 +6528,30 @@ module Infrawrench
6382
6528
  def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> expiry_list_response
6383
6529
  end
6384
6530
 
6531
+ class IncidentsGetNamespace
6532
+ def initialize: (Transport) -> void
6533
+ def get: (?org_id: String?, ?status: String?, ?request_options: Hash[Symbol, untyped]?) -> incident_list
6534
+ def get_org_org_id_incidents_incident_id: (incident_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> incident_detail
6535
+ end
6536
+
6537
+ class IncidentsNotesNamespace
6538
+ def initialize: (Transport) -> void
6539
+ def create: (incident_id: String, ?org_id: String?, ?body: incident_note_create?, ?request_options: Hash[Symbol, untyped]?) -> incident_note
6540
+ def delete: (incident_id: String, note_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
6541
+ end
6542
+
6543
+ class IncidentsNamespace
6544
+ attr_reader get: IncidentsGetNamespace
6545
+ attr_reader notes: IncidentsNotesNamespace
6546
+ def initialize: (Transport) -> void
6547
+ def create: (?org_id: String?, ?body: incident_declare?, ?request_options: Hash[Symbol, untyped]?) -> incident
6548
+ def delete: (incident_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
6549
+ def postmortem: (incident_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> incident_postmortem
6550
+ def retry_artifacts: (incident_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> incident
6551
+ def timeline: (incident_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> incident_timeline
6552
+ def update: (incident_id: String, ?org_id: String?, ?body: incident_patch?, ?request_options: Hash[Symbol, untyped]?) -> incident
6553
+ end
6554
+
6385
6555
  class InvitationsByTokenNamespace
6386
6556
  def initialize: (Transport) -> void
6387
6557
  def get: (token: String, ?request_options: Hash[Symbol, untyped]?) -> invitation_detail
@@ -6919,6 +7089,7 @@ module Infrawrench
6919
7089
  attr_reader docker: DockerNamespace
6920
7090
  attr_reader environment_diff: EnvironmentDiffNamespace
6921
7091
  attr_reader expiring: ExpiringNamespace
7092
+ attr_reader incidents: IncidentsNamespace
6922
7093
  attr_reader invitations: InvitationsNamespace
6923
7094
  attr_reader invoices: InvoicesNamespace
6924
7095
  attr_reader jira: JiraNamespace
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.14.0
4
+ version: 1.15.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-12 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.14.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.15.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.14.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.15.0).
62
62
  test_files: []