infrawrench-sdk 1.13.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 +4 -4
- data/README.md +2 -2
- data/infrawrench-sdk.gemspec +4 -4
- data/lib/infrawrench/client.rb +765 -2
- data/lib/infrawrench/sdk.rb +2 -2
- data/lib/infrawrench/transport.rb +2 -2
- data/lib/infrawrench/version.rb +3 -3
- data/lib/infrawrench-sdk.rb +2 -2
- data/sig/infrawrench/sdk.rbs +280 -2
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9e38a098383f11fdb35de83cb2014267146a3689c00f7b84da86b2c994a01ce1
|
|
4
|
+
data.tar.gz: aaba5e6be92f922ca34f0436611e30ec26cebb13687d0d454e3f1e987f3fe4f4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
-
|
|
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 —
|
data/infrawrench-sdk.gemspec
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.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.
|
|
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.
|
|
21
|
-
spec.description = "Generated Ruby client for the Infrawrench API (v1.
|
|
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"
|
data/lib/infrawrench/client.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.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.
|
|
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
|
|
@@ -11075,6 +11403,435 @@ module Infrawrench
|
|
|
11075
11403
|
end
|
|
11076
11404
|
end
|
|
11077
11405
|
|
|
11406
|
+
# `client.shared_consoles.invites`
|
|
11407
|
+
class SharedConsolesInvitesNamespace
|
|
11408
|
+
# @api private
|
|
11409
|
+
# @param transport [Transport]
|
|
11410
|
+
def initialize(transport)
|
|
11411
|
+
@transport = transport
|
|
11412
|
+
end
|
|
11413
|
+
|
|
11414
|
+
# Mint a replacement invite
|
|
11415
|
+
#
|
|
11416
|
+
# An invite is spent by the first person it admits, so inviting a second
|
|
11417
|
+
# guest means minting a second link. Replaces any outstanding one. Sharer or
|
|
11418
|
+
# `org:settings:write`.
|
|
11419
|
+
#
|
|
11420
|
+
# POST /api/org/{orgId}/shared-consoles/{consoleId}/invites
|
|
11421
|
+
#
|
|
11422
|
+
# Raises on 403: Forbidden
|
|
11423
|
+
#
|
|
11424
|
+
# Raises on 404: Not found
|
|
11425
|
+
#
|
|
11426
|
+
# Raises on 409: Conflict
|
|
11427
|
+
#
|
|
11428
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11429
|
+
# constructed with.
|
|
11430
|
+
# @param console_id [String]
|
|
11431
|
+
# @param body [Hash, nil] Request body, shaped as `Hash`.
|
|
11432
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11433
|
+
# @return [Hash] Parsed JSON, shaped as `SharedConsoleCreated` — see
|
|
11434
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11435
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11436
|
+
def create(console_id:, org_id: nil, body: nil, request_options: nil)
|
|
11437
|
+
@transport.request(
|
|
11438
|
+
http_method: "POST",
|
|
11439
|
+
path: "/api/org/{orgId}/shared-consoles/{consoleId}/invites",
|
|
11440
|
+
path_params: { "orgId" => org_id, "consoleId" => console_id },
|
|
11441
|
+
body: body,
|
|
11442
|
+
request_options: request_options
|
|
11443
|
+
)
|
|
11444
|
+
end
|
|
11445
|
+
|
|
11446
|
+
# Withdraw the outstanding invite
|
|
11447
|
+
#
|
|
11448
|
+
# Kills the link without touching the session or anyone already on it.
|
|
11449
|
+
#
|
|
11450
|
+
# DELETE /api/org/{orgId}/shared-consoles/{consoleId}/invites
|
|
11451
|
+
#
|
|
11452
|
+
# Raises on 403: Forbidden
|
|
11453
|
+
#
|
|
11454
|
+
# Raises on 404: Not found
|
|
11455
|
+
#
|
|
11456
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11457
|
+
# constructed with.
|
|
11458
|
+
# @param console_id [String]
|
|
11459
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11460
|
+
# @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
|
|
11461
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11462
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11463
|
+
def delete(console_id:, org_id: nil, request_options: nil)
|
|
11464
|
+
@transport.request(
|
|
11465
|
+
http_method: "DELETE",
|
|
11466
|
+
path: "/api/org/{orgId}/shared-consoles/{consoleId}/invites",
|
|
11467
|
+
path_params: { "orgId" => org_id, "consoleId" => console_id },
|
|
11468
|
+
request_options: request_options
|
|
11469
|
+
)
|
|
11470
|
+
end
|
|
11471
|
+
|
|
11472
|
+
# Preview what an invite link points at
|
|
11473
|
+
#
|
|
11474
|
+
# What the join screen shows before anyone commits: which host, whose
|
|
11475
|
+
# session, and whether you may join it. Reachable with a valid token by a
|
|
11476
|
+
# signed-in member who already holds `resources:execute` — the token says
|
|
11477
|
+
# *which* session, never *whether*. Returns nothing from the session itself.
|
|
11478
|
+
#
|
|
11479
|
+
# _Requires permission: `resources:execute`._
|
|
11480
|
+
#
|
|
11481
|
+
# GET /api/org/{orgId}/shared-consoles/invites/{token}
|
|
11482
|
+
#
|
|
11483
|
+
# Raises on 404: Not found
|
|
11484
|
+
#
|
|
11485
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11486
|
+
# constructed with.
|
|
11487
|
+
# @param token [String]
|
|
11488
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11489
|
+
# @return [Hash] Parsed JSON, shaped as `SharedConsoleInvitePreview` — see
|
|
11490
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11491
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11492
|
+
def get(token:, org_id: nil, request_options: nil)
|
|
11493
|
+
@transport.request(
|
|
11494
|
+
http_method: "GET",
|
|
11495
|
+
path: "/api/org/{orgId}/shared-consoles/invites/{token}",
|
|
11496
|
+
path_params: { "orgId" => org_id, "token" => token },
|
|
11497
|
+
request_options: request_options
|
|
11498
|
+
)
|
|
11499
|
+
end
|
|
11500
|
+
end
|
|
11501
|
+
|
|
11502
|
+
# `client.shared_consoles.participants`
|
|
11503
|
+
class SharedConsolesParticipantsNamespace
|
|
11504
|
+
# @api private
|
|
11505
|
+
# @param transport [Transport]
|
|
11506
|
+
def initialize(transport)
|
|
11507
|
+
@transport = transport
|
|
11508
|
+
end
|
|
11509
|
+
|
|
11510
|
+
# Remove somebody from a shared console
|
|
11511
|
+
#
|
|
11512
|
+
# Their socket is closed immediately on the replica holding the pty, and
|
|
11513
|
+
# within one two-second sweep on any other. They are marked `removed` rather
|
|
11514
|
+
# than `left`, so they cannot resume without a fresh invite. The sharer
|
|
11515
|
+
# cannot be removed — revoke the share.
|
|
11516
|
+
#
|
|
11517
|
+
# DELETE
|
|
11518
|
+
# /api/org/{orgId}/shared-consoles/{consoleId}/participants/{participantId}
|
|
11519
|
+
#
|
|
11520
|
+
# Raises on 403: Forbidden
|
|
11521
|
+
#
|
|
11522
|
+
# Raises on 404: Not found
|
|
11523
|
+
#
|
|
11524
|
+
# Raises on 409: Conflict
|
|
11525
|
+
#
|
|
11526
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11527
|
+
# constructed with.
|
|
11528
|
+
# @param console_id [String]
|
|
11529
|
+
# @param participant_id [String]
|
|
11530
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11531
|
+
# @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
|
|
11532
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11533
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11534
|
+
def delete(console_id:, participant_id:, org_id: nil, request_options: nil)
|
|
11535
|
+
@transport.request(
|
|
11536
|
+
http_method: "DELETE",
|
|
11537
|
+
path: "/api/org/{orgId}/shared-consoles/{consoleId}/participants/{participantId}",
|
|
11538
|
+
path_params: {
|
|
11539
|
+
"orgId" => org_id,
|
|
11540
|
+
"consoleId" => console_id,
|
|
11541
|
+
"participantId" => participant_id
|
|
11542
|
+
},
|
|
11543
|
+
request_options: request_options
|
|
11544
|
+
)
|
|
11545
|
+
end
|
|
11546
|
+
end
|
|
11547
|
+
|
|
11548
|
+
# `client.shared_consoles`
|
|
11549
|
+
class SharedConsolesNamespace
|
|
11550
|
+
# @return [SharedConsolesInvitesNamespace] `client.shared_consoles.invites`
|
|
11551
|
+
attr_reader :invites
|
|
11552
|
+
# @return [SharedConsolesParticipantsNamespace] `client.shared_consoles.participants`
|
|
11553
|
+
attr_reader :participants
|
|
11554
|
+
|
|
11555
|
+
# @api private
|
|
11556
|
+
# @param transport [Transport]
|
|
11557
|
+
def initialize(transport)
|
|
11558
|
+
@transport = transport
|
|
11559
|
+
@invites = SharedConsolesInvitesNamespace.new(@transport)
|
|
11560
|
+
@participants = SharedConsolesParticipantsNamespace.new(@transport)
|
|
11561
|
+
end
|
|
11562
|
+
|
|
11563
|
+
# Share a live SSH session
|
|
11564
|
+
#
|
|
11565
|
+
# Opens a share on a session you already have running and mints its first
|
|
11566
|
+
# invite. You become the driver.
|
|
11567
|
+
#
|
|
11568
|
+
# Returns 409 `console_not_here` when the pty is held by a different server
|
|
11569
|
+
# replica than the one answering this call — reopen the terminal and share
|
|
11570
|
+
# again. Writing the share anyway would produce a link that authorises
|
|
11571
|
+
# correctly and then finds nothing to attach to.
|
|
11572
|
+
#
|
|
11573
|
+
# Requires `resources:execute` — the same permission as opening the
|
|
11574
|
+
# terminal. Closed to API keys: sharing a shell is an act a person performs.
|
|
11575
|
+
#
|
|
11576
|
+
# _Requires permission: `resources:execute`._
|
|
11577
|
+
#
|
|
11578
|
+
# POST /api/org/{orgId}/shared-consoles
|
|
11579
|
+
#
|
|
11580
|
+
# Raises on 400: Bad request
|
|
11581
|
+
#
|
|
11582
|
+
# Raises on 404: Not found
|
|
11583
|
+
#
|
|
11584
|
+
# Raises on 409: Conflict
|
|
11585
|
+
#
|
|
11586
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11587
|
+
# constructed with.
|
|
11588
|
+
# @param body [Hash, nil] Request body, shaped as `CreateSharedConsole`.
|
|
11589
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11590
|
+
# @return [Hash] Parsed JSON, shaped as `SharedConsoleCreated` — see
|
|
11591
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11592
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11593
|
+
def create(org_id: nil, body: nil, request_options: nil)
|
|
11594
|
+
@transport.request(
|
|
11595
|
+
http_method: "POST",
|
|
11596
|
+
path: "/api/org/{orgId}/shared-consoles",
|
|
11597
|
+
path_params: { "orgId" => org_id },
|
|
11598
|
+
body: body,
|
|
11599
|
+
request_options: request_options
|
|
11600
|
+
)
|
|
11601
|
+
end
|
|
11602
|
+
|
|
11603
|
+
# Revoke a share
|
|
11604
|
+
#
|
|
11605
|
+
# Disconnects every guest and stops the fan-out. The sharer's own SSH
|
|
11606
|
+
# session carries on — revoking a share is not killing a terminal.
|
|
11607
|
+
#
|
|
11608
|
+
# The sharer or a holder of `org:settings:write`. Deliberately does **not**
|
|
11609
|
+
# require `resources:execute`: ending access must never be gated on still
|
|
11610
|
+
# holding the access, or an owner whose role was narrowed mid-incident could
|
|
11611
|
+
# not close the session they opened.
|
|
11612
|
+
#
|
|
11613
|
+
# DELETE /api/org/{orgId}/shared-consoles/{consoleId}
|
|
11614
|
+
#
|
|
11615
|
+
# Raises on 403: Forbidden
|
|
11616
|
+
#
|
|
11617
|
+
# Raises on 404: Not found
|
|
11618
|
+
#
|
|
11619
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11620
|
+
# constructed with.
|
|
11621
|
+
# @param console_id [String]
|
|
11622
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11623
|
+
# @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
|
|
11624
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11625
|
+
def delete(console_id:, org_id: nil, request_options: nil)
|
|
11626
|
+
@transport.request(
|
|
11627
|
+
http_method: "DELETE",
|
|
11628
|
+
path: "/api/org/{orgId}/shared-consoles/{consoleId}",
|
|
11629
|
+
path_params: { "orgId" => org_id, "consoleId" => console_id },
|
|
11630
|
+
request_options: request_options
|
|
11631
|
+
)
|
|
11632
|
+
end
|
|
11633
|
+
|
|
11634
|
+
# Get one shared console
|
|
11635
|
+
#
|
|
11636
|
+
# Visible to participants and to anyone who could revoke it (the sharer, or
|
|
11637
|
+
# a holder of `org:settings:write`). Others get 404 — that a named colleague
|
|
11638
|
+
# has a root shell open on a named production host right now is operational
|
|
11639
|
+
# information.
|
|
11640
|
+
#
|
|
11641
|
+
# _Requires permission: `resources:execute`._
|
|
11642
|
+
#
|
|
11643
|
+
# GET /api/org/{orgId}/shared-consoles/{consoleId}
|
|
11644
|
+
#
|
|
11645
|
+
# Raises on 404: Not found
|
|
11646
|
+
#
|
|
11647
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11648
|
+
# constructed with.
|
|
11649
|
+
# @param console_id [String]
|
|
11650
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11651
|
+
# @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
|
|
11652
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11653
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11654
|
+
def get(console_id:, org_id: nil, request_options: nil)
|
|
11655
|
+
@transport.request(
|
|
11656
|
+
http_method: "GET",
|
|
11657
|
+
path: "/api/org/{orgId}/shared-consoles/{consoleId}",
|
|
11658
|
+
path_params: { "orgId" => org_id, "consoleId" => console_id },
|
|
11659
|
+
request_options: request_options
|
|
11660
|
+
)
|
|
11661
|
+
end
|
|
11662
|
+
|
|
11663
|
+
# Move the keyboard to another participant
|
|
11664
|
+
#
|
|
11665
|
+
# Authorised by the **current driver** (the keyboard is theirs to give) or
|
|
11666
|
+
# by the **sharer** (it is their box, and asking permission from somebody
|
|
11667
|
+
# who has stopped responding is not a control). An observer cannot promote
|
|
11668
|
+
# themselves — that is `/request-driver`.
|
|
11669
|
+
#
|
|
11670
|
+
# Two simultaneous grants cannot both win: the database's partial unique
|
|
11671
|
+
# index decides the order, and the loser gets 409 `driver-race-lost`.
|
|
11672
|
+
#
|
|
11673
|
+
# The pty resizes to the new driver's viewport; everyone else letterboxes.
|
|
11674
|
+
#
|
|
11675
|
+
# _Requires permission: `resources:execute`._
|
|
11676
|
+
#
|
|
11677
|
+
# POST /api/org/{orgId}/shared-consoles/{consoleId}/handover
|
|
11678
|
+
#
|
|
11679
|
+
# Raises on 400: Bad request
|
|
11680
|
+
#
|
|
11681
|
+
# Raises on 403: Forbidden
|
|
11682
|
+
#
|
|
11683
|
+
# Raises on 404: Not found
|
|
11684
|
+
#
|
|
11685
|
+
# Raises on 409: Conflict
|
|
11686
|
+
#
|
|
11687
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11688
|
+
# constructed with.
|
|
11689
|
+
# @param console_id [String]
|
|
11690
|
+
# @param body [Hash, nil] Request body, shaped as `Hash`.
|
|
11691
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11692
|
+
# @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
|
|
11693
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11694
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11695
|
+
def handover(console_id:, org_id: nil, body: nil, request_options: nil)
|
|
11696
|
+
@transport.request(
|
|
11697
|
+
http_method: "POST",
|
|
11698
|
+
path: "/api/org/{orgId}/shared-consoles/{consoleId}/handover",
|
|
11699
|
+
path_params: { "orgId" => org_id, "consoleId" => console_id },
|
|
11700
|
+
body: body,
|
|
11701
|
+
request_options: request_options
|
|
11702
|
+
)
|
|
11703
|
+
end
|
|
11704
|
+
|
|
11705
|
+
# Redeem an invite and join
|
|
11706
|
+
#
|
|
11707
|
+
# Admission needs live org membership **and** `resources:execute` — the
|
|
11708
|
+
# invite is a locator, never a capability, so a leaked link admits nobody
|
|
11709
|
+
# who could not have opened the shell themselves.
|
|
11710
|
+
#
|
|
11711
|
+
# The invite is consumed by the first person it admits. Somebody already on
|
|
11712
|
+
# the console resumes their own row without a token, so a reload costs them
|
|
11713
|
+
# nothing and obliges the sharer to mint nothing. New joiners always start
|
|
11714
|
+
# as observers whatever the link said.
|
|
11715
|
+
#
|
|
11716
|
+
# Audit-logged as `shared_console.join`, and written onto the recording's
|
|
11717
|
+
# timeline as an asciicast marker.
|
|
11718
|
+
#
|
|
11719
|
+
# _Requires permission: `resources:execute`._
|
|
11720
|
+
#
|
|
11721
|
+
# POST /api/org/{orgId}/shared-consoles/{consoleId}/join
|
|
11722
|
+
#
|
|
11723
|
+
# Raises on 400: Bad request
|
|
11724
|
+
#
|
|
11725
|
+
# Raises on 403: Forbidden
|
|
11726
|
+
#
|
|
11727
|
+
# Raises on 404: Not found
|
|
11728
|
+
#
|
|
11729
|
+
# Raises on 409: Conflict
|
|
11730
|
+
#
|
|
11731
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11732
|
+
# constructed with.
|
|
11733
|
+
# @param console_id [String]
|
|
11734
|
+
# @param body [Hash, nil] Request body, shaped as `Hash`.
|
|
11735
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11736
|
+
# @return [Hash] Parsed JSON, shaped as `SharedConsoleJoined` — see
|
|
11737
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11738
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11739
|
+
def join(console_id:, org_id: nil, body: nil, request_options: nil)
|
|
11740
|
+
@transport.request(
|
|
11741
|
+
http_method: "POST",
|
|
11742
|
+
path: "/api/org/{orgId}/shared-consoles/{consoleId}/join",
|
|
11743
|
+
path_params: { "orgId" => org_id, "consoleId" => console_id },
|
|
11744
|
+
body: body,
|
|
11745
|
+
request_options: request_options
|
|
11746
|
+
)
|
|
11747
|
+
end
|
|
11748
|
+
|
|
11749
|
+
# Leave a shared console
|
|
11750
|
+
#
|
|
11751
|
+
# Steps you off without ending the session. Your row survives, so the same
|
|
11752
|
+
# invite is not needed again. Deliberately does not require
|
|
11753
|
+
# `resources:execute`: giving access up must never be gated on still holding
|
|
11754
|
+
# it.
|
|
11755
|
+
#
|
|
11756
|
+
# POST /api/org/{orgId}/shared-consoles/{consoleId}/leave
|
|
11757
|
+
#
|
|
11758
|
+
# Raises on 404: Not found
|
|
11759
|
+
#
|
|
11760
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11761
|
+
# constructed with.
|
|
11762
|
+
# @param console_id [String]
|
|
11763
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11764
|
+
# @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
|
|
11765
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11766
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11767
|
+
def leave(console_id:, org_id: nil, request_options: nil)
|
|
11768
|
+
@transport.request(
|
|
11769
|
+
http_method: "POST",
|
|
11770
|
+
path: "/api/org/{orgId}/shared-consoles/{consoleId}/leave",
|
|
11771
|
+
path_params: { "orgId" => org_id, "consoleId" => console_id },
|
|
11772
|
+
request_options: request_options
|
|
11773
|
+
)
|
|
11774
|
+
end
|
|
11775
|
+
|
|
11776
|
+
# List sessions currently shared
|
|
11777
|
+
#
|
|
11778
|
+
# Live shared SSH sessions in this organization, with who is on each. Only
|
|
11779
|
+
# cloud SSH can be shared: those sessions are already proxied by the server,
|
|
11780
|
+
# so fanning the pty out to a second socket is a consumer of a stream it
|
|
11781
|
+
# holds. A desktop session dialling a host directly never reaches the server
|
|
11782
|
+
# and cannot be shared.
|
|
11783
|
+
#
|
|
11784
|
+
# _Requires permission: `resources:execute`._
|
|
11785
|
+
#
|
|
11786
|
+
# GET /api/org/{orgId}/shared-consoles
|
|
11787
|
+
#
|
|
11788
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11789
|
+
# constructed with.
|
|
11790
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11791
|
+
# @return [Array<Hash>] Parsed JSON, shaped as `Array<SharedConsoleSummary>` — see
|
|
11792
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11793
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11794
|
+
def list(org_id: nil, request_options: nil)
|
|
11795
|
+
@transport.request(
|
|
11796
|
+
http_method: "GET",
|
|
11797
|
+
path: "/api/org/{orgId}/shared-consoles",
|
|
11798
|
+
path_params: { "orgId" => org_id },
|
|
11799
|
+
request_options: request_options
|
|
11800
|
+
)
|
|
11801
|
+
end
|
|
11802
|
+
|
|
11803
|
+
# Ask for the keyboard
|
|
11804
|
+
#
|
|
11805
|
+
# Raises a flag the driver and the sharer can see. Grants nothing on its own
|
|
11806
|
+
# — that is the point.
|
|
11807
|
+
#
|
|
11808
|
+
# _Requires permission: `resources:execute`._
|
|
11809
|
+
#
|
|
11810
|
+
# POST /api/org/{orgId}/shared-consoles/{consoleId}/request-driver
|
|
11811
|
+
#
|
|
11812
|
+
# Raises on 403: Forbidden
|
|
11813
|
+
#
|
|
11814
|
+
# Raises on 404: Not found
|
|
11815
|
+
#
|
|
11816
|
+
# Raises on 409: Conflict
|
|
11817
|
+
#
|
|
11818
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
11819
|
+
# constructed with.
|
|
11820
|
+
# @param console_id [String]
|
|
11821
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
11822
|
+
# @return [Hash] Parsed JSON, shaped as `SharedConsoleState` — see
|
|
11823
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
11824
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
11825
|
+
def request_driver(console_id:, org_id: nil, request_options: nil)
|
|
11826
|
+
@transport.request(
|
|
11827
|
+
http_method: "POST",
|
|
11828
|
+
path: "/api/org/{orgId}/shared-consoles/{consoleId}/request-driver",
|
|
11829
|
+
path_params: { "orgId" => org_id, "consoleId" => console_id },
|
|
11830
|
+
request_options: request_options
|
|
11831
|
+
)
|
|
11832
|
+
end
|
|
11833
|
+
end
|
|
11834
|
+
|
|
11078
11835
|
# `client.slack.channels`
|
|
11079
11836
|
class SlackChannelsNamespace
|
|
11080
11837
|
# @api private
|
|
@@ -12875,6 +13632,8 @@ module Infrawrench
|
|
|
12875
13632
|
attr_reader :environment_diff
|
|
12876
13633
|
# @return [ExpiringNamespace] `client.expiring`
|
|
12877
13634
|
attr_reader :expiring
|
|
13635
|
+
# @return [IncidentsNamespace] `client.incidents`
|
|
13636
|
+
attr_reader :incidents
|
|
12878
13637
|
# @return [InvitationsNamespace] `client.invitations`
|
|
12879
13638
|
attr_reader :invitations
|
|
12880
13639
|
# @return [InvoicesNamespace] `client.invoices`
|
|
@@ -12929,6 +13688,8 @@ module Infrawrench
|
|
|
12929
13688
|
attr_reader :session_recordings
|
|
12930
13689
|
# @return [SftpNamespace] `client.sftp`
|
|
12931
13690
|
attr_reader :sftp
|
|
13691
|
+
# @return [SharedConsolesNamespace] `client.shared_consoles`
|
|
13692
|
+
attr_reader :shared_consoles
|
|
12932
13693
|
# @return [SlackNamespace] `client.slack`
|
|
12933
13694
|
attr_reader :slack
|
|
12934
13695
|
# @return [SqlNamespace] `client.sql`
|
|
@@ -13002,6 +13763,7 @@ module Infrawrench
|
|
|
13002
13763
|
@docker = DockerNamespace.new(@transport)
|
|
13003
13764
|
@environment_diff = EnvironmentDiffNamespace.new(@transport)
|
|
13004
13765
|
@expiring = ExpiringNamespace.new(@transport)
|
|
13766
|
+
@incidents = IncidentsNamespace.new(@transport)
|
|
13005
13767
|
@invitations = InvitationsNamespace.new(@transport)
|
|
13006
13768
|
@invoices = InvoicesNamespace.new(@transport)
|
|
13007
13769
|
@jira = JiraNamespace.new(@transport)
|
|
@@ -13029,6 +13791,7 @@ module Infrawrench
|
|
|
13029
13791
|
@search = SearchNamespace.new(@transport)
|
|
13030
13792
|
@session_recordings = SessionRecordingsNamespace.new(@transport)
|
|
13031
13793
|
@sftp = SftpNamespace.new(@transport)
|
|
13794
|
+
@shared_consoles = SharedConsolesNamespace.new(@transport)
|
|
13032
13795
|
@slack = SlackNamespace.new(@transport)
|
|
13033
13796
|
@sql = SqlNamespace.new(@transport)
|
|
13034
13797
|
@ssh_fanout = SshFanoutNamespace.new(@transport)
|
data/lib/infrawrench/sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.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.
|
|
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.
|
|
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.
|
|
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
|
data/lib/infrawrench/version.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.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.
|
|
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.
|
|
18
|
+
VERSION = "1.15.0"
|
|
19
19
|
end
|
data/lib/infrawrench-sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.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.
|
|
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
|
data/sig/infrawrench/sdk.rbs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# infrawrench-sdk v1.
|
|
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.
|
|
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`.
|
|
@@ -1727,6 +1728,14 @@ module Infrawrench
|
|
|
1727
1728
|
# Spec schema: `CreateResourceResponse`.
|
|
1728
1729
|
type create_resource_response = { "id" => resource_id, "displayName" => String, ?"warnings" => Array[String] }
|
|
1729
1730
|
|
|
1731
|
+
# Spec schema: `CreateSharedConsole`.
|
|
1732
|
+
type create_shared_console = {
|
|
1733
|
+
"liveConsoleId" => String,
|
|
1734
|
+
"routingKey" => String,
|
|
1735
|
+
?"allowHandover" => bool,
|
|
1736
|
+
?"inviteTtlMinutes" => Integer
|
|
1737
|
+
}
|
|
1738
|
+
|
|
1730
1739
|
# Spec schema: `CreateWidgetRequest`.
|
|
1731
1740
|
type create_widget_request = {
|
|
1732
1741
|
"dashboardId" => String,
|
|
@@ -2576,6 +2585,148 @@ module Infrawrench
|
|
|
2576
2585
|
"isImported" => bool
|
|
2577
2586
|
}
|
|
2578
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
|
+
|
|
2579
2730
|
# Spec schema: `Invitation`.
|
|
2580
2731
|
type invitation = {
|
|
2581
2732
|
"id" => String,
|
|
@@ -3785,6 +3936,8 @@ module Infrawrench
|
|
|
3785
3936
|
| "freezes:read"
|
|
3786
3937
|
| "freezes:write"
|
|
3787
3938
|
| "freezes:override"
|
|
3939
|
+
| "incidents:read"
|
|
3940
|
+
| "incidents:write"
|
|
3788
3941
|
| "tag-policy:override"
|
|
3789
3942
|
| "config:read"
|
|
3790
3943
|
| "config:write"
|
|
@@ -5061,6 +5214,15 @@ module Infrawrench
|
|
|
5061
5214
|
"cols" => Integer,
|
|
5062
5215
|
"rows" => Integer,
|
|
5063
5216
|
"hasInput" => bool,
|
|
5217
|
+
?"sharedConsoleId" => String | nil,
|
|
5218
|
+
?"participants" => Array[{
|
|
5219
|
+
"userId" => String | nil,
|
|
5220
|
+
"userName" => String | nil,
|
|
5221
|
+
"role" => "observer" | "driver",
|
|
5222
|
+
"joinedAt" => String,
|
|
5223
|
+
"leftAt" => String | nil
|
|
5224
|
+
}]
|
|
5225
|
+
| nil,
|
|
5064
5226
|
"status" => "recording" | "complete" | "truncated" | "abandoned",
|
|
5065
5227
|
"outputBytes" => Integer,
|
|
5066
5228
|
"eventCount" => Integer,
|
|
@@ -5129,6 +5291,69 @@ module Infrawrench
|
|
|
5129
5291
|
?"sshUsername" => String
|
|
5130
5292
|
}
|
|
5131
5293
|
|
|
5294
|
+
# Spec schema: `SharedConsole`.
|
|
5295
|
+
type shared_console = {
|
|
5296
|
+
"id" => String,
|
|
5297
|
+
"routingKey" => String,
|
|
5298
|
+
"ownerUserId" => String | nil,
|
|
5299
|
+
"ownerName" => String | nil,
|
|
5300
|
+
"accountId" => String | nil,
|
|
5301
|
+
"resourceId" => String | nil,
|
|
5302
|
+
"host" => String,
|
|
5303
|
+
"port" => Integer,
|
|
5304
|
+
"username" => String,
|
|
5305
|
+
"allowHandover" => bool,
|
|
5306
|
+
"status" => "active" | "revoked" | "ended",
|
|
5307
|
+
"inviteTokenPrefix" => String | nil,
|
|
5308
|
+
"inviteExpiresAt" => String | nil,
|
|
5309
|
+
"inviteConsumedAt" => String | nil,
|
|
5310
|
+
"recordingId" => String | nil,
|
|
5311
|
+
"ptyCols" => Integer,
|
|
5312
|
+
"ptyRows" => Integer,
|
|
5313
|
+
"createdAt" => String
|
|
5314
|
+
}
|
|
5315
|
+
|
|
5316
|
+
# Spec schema: `SharedConsoleCreated`.
|
|
5317
|
+
type shared_console_created = {
|
|
5318
|
+
"share" => shared_console,
|
|
5319
|
+
"participants" => Array[shared_console_participant],
|
|
5320
|
+
"inviteToken" => String
|
|
5321
|
+
}
|
|
5322
|
+
|
|
5323
|
+
# Spec schema: `SharedConsoleInvitePreview`.
|
|
5324
|
+
type shared_console_invite_preview = {
|
|
5325
|
+
"share" => shared_console,
|
|
5326
|
+
"joinable" => bool,
|
|
5327
|
+
?"rejoin" => bool,
|
|
5328
|
+
?"error" => String,
|
|
5329
|
+
?"code" => String
|
|
5330
|
+
}
|
|
5331
|
+
|
|
5332
|
+
# Spec schema: `SharedConsoleJoined`.
|
|
5333
|
+
type shared_console_joined = {
|
|
5334
|
+
"share" => shared_console,
|
|
5335
|
+
"participants" => Array[shared_console_participant],
|
|
5336
|
+
"you" => shared_console_participant,
|
|
5337
|
+
"routingKey" => String
|
|
5338
|
+
}
|
|
5339
|
+
|
|
5340
|
+
# Spec schema: `SharedConsoleParticipant`.
|
|
5341
|
+
type shared_console_participant = {
|
|
5342
|
+
"id" => String,
|
|
5343
|
+
"userId" => String,
|
|
5344
|
+
"userName" => String | nil,
|
|
5345
|
+
"role" => "observer" | "driver",
|
|
5346
|
+
"status" => "joined" | "left" | "removed",
|
|
5347
|
+
"driverRequestedAt" => String | nil,
|
|
5348
|
+
"joinedAt" => String
|
|
5349
|
+
}
|
|
5350
|
+
|
|
5351
|
+
# Spec schema: `SharedConsoleState`.
|
|
5352
|
+
type shared_console_state = { "share" => shared_console, "participants" => Array[shared_console_participant] }
|
|
5353
|
+
|
|
5354
|
+
# Spec schema: `SharedConsoleSummary`.
|
|
5355
|
+
type shared_console_summary = shared_console & { "participants" => Array[shared_console_participant] }
|
|
5356
|
+
|
|
5132
5357
|
# Spec schema: `ShowbackReport`.
|
|
5133
5358
|
type showback_report = {
|
|
5134
5359
|
"from" => String,
|
|
@@ -5573,6 +5798,7 @@ module Infrawrench
|
|
|
5573
5798
|
| "metric-alerts"
|
|
5574
5799
|
| "probes"
|
|
5575
5800
|
| "quotas"
|
|
5801
|
+
| "incidents"
|
|
5576
5802
|
| "workflows"
|
|
5577
5803
|
| "deployments"
|
|
5578
5804
|
| "settings"
|
|
@@ -6302,6 +6528,30 @@ module Infrawrench
|
|
|
6302
6528
|
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> expiry_list_response
|
|
6303
6529
|
end
|
|
6304
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
|
+
|
|
6305
6555
|
class InvitationsByTokenNamespace
|
|
6306
6556
|
def initialize: (Transport) -> void
|
|
6307
6557
|
def get: (token: String, ?request_options: Hash[Symbol, untyped]?) -> invitation_detail
|
|
@@ -6624,6 +6874,32 @@ module Infrawrench
|
|
|
6624
6874
|
def upload: (body: sftp_upload_form, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
|
|
6625
6875
|
end
|
|
6626
6876
|
|
|
6877
|
+
class SharedConsolesInvitesNamespace
|
|
6878
|
+
def initialize: (Transport) -> void
|
|
6879
|
+
def create: (console_id: String, ?org_id: String?, ?body: { ?"inviteTtlMinutes" => Integer }?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_created
|
|
6880
|
+
def delete: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
|
|
6881
|
+
def get: (token: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_invite_preview
|
|
6882
|
+
end
|
|
6883
|
+
|
|
6884
|
+
class SharedConsolesParticipantsNamespace
|
|
6885
|
+
def initialize: (Transport) -> void
|
|
6886
|
+
def delete: (console_id: String, participant_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
|
|
6887
|
+
end
|
|
6888
|
+
|
|
6889
|
+
class SharedConsolesNamespace
|
|
6890
|
+
attr_reader invites: SharedConsolesInvitesNamespace
|
|
6891
|
+
attr_reader participants: SharedConsolesParticipantsNamespace
|
|
6892
|
+
def initialize: (Transport) -> void
|
|
6893
|
+
def create: (?org_id: String?, ?body: create_shared_console?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_created
|
|
6894
|
+
def delete: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
|
|
6895
|
+
def get: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
|
|
6896
|
+
def handover: (console_id: String, ?org_id: String?, ?body: { "participantId" => String }?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
|
|
6897
|
+
def join: (console_id: String, ?org_id: String?, ?body: { "token" => String }?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_joined
|
|
6898
|
+
def leave: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
|
|
6899
|
+
def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[shared_console_summary]
|
|
6900
|
+
def request_driver: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
|
|
6901
|
+
end
|
|
6902
|
+
|
|
6627
6903
|
class SlackChannelsNamespace
|
|
6628
6904
|
def initialize: (Transport) -> void
|
|
6629
6905
|
def create: (?org_id: String?, ?body: slack_channel_create?, ?request_options: Hash[Symbol, untyped]?) -> slack_channel
|
|
@@ -6813,6 +7089,7 @@ module Infrawrench
|
|
|
6813
7089
|
attr_reader docker: DockerNamespace
|
|
6814
7090
|
attr_reader environment_diff: EnvironmentDiffNamespace
|
|
6815
7091
|
attr_reader expiring: ExpiringNamespace
|
|
7092
|
+
attr_reader incidents: IncidentsNamespace
|
|
6816
7093
|
attr_reader invitations: InvitationsNamespace
|
|
6817
7094
|
attr_reader invoices: InvoicesNamespace
|
|
6818
7095
|
attr_reader jira: JiraNamespace
|
|
@@ -6840,6 +7117,7 @@ module Infrawrench
|
|
|
6840
7117
|
attr_reader search: SearchNamespace
|
|
6841
7118
|
attr_reader session_recordings: SessionRecordingsNamespace
|
|
6842
7119
|
attr_reader sftp: SftpNamespace
|
|
7120
|
+
attr_reader shared_consoles: SharedConsolesNamespace
|
|
6843
7121
|
attr_reader slack: SlackNamespace
|
|
6844
7122
|
attr_reader sql: SqlNamespace
|
|
6845
7123
|
attr_reader ssh_fanout: SshFanoutNamespace
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: infrawrench-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.15.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Infrawrench LLC
|
|
@@ -9,9 +9,9 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2026-08-
|
|
12
|
+
date: 2026-08-12 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
|
-
description: Generated Ruby client for the Infrawrench API (v1.
|
|
14
|
+
description: Generated Ruby client for the Infrawrench API (v1.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.
|
|
61
|
+
summary: Generated Ruby client for the Infrawrench API (v1.15.0).
|
|
62
62
|
test_files: []
|