infrawrench-sdk 1.31.0 → 1.33.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: 6b9949aa079c143a23690ba5fa79798a1432feced3cce42a39bfba2f9a626c90
4
- data.tar.gz: 70f71ff7e4cf680c9c9363d9d61bdb3d753e6c6c0f70aa6cb04363ccbf9842e5
3
+ metadata.gz: 8709c380a94a27f59e18bad60260b8e4da5728319d8155305c5aa6ac258f66ce
4
+ data.tar.gz: 4aa58816cbcd2c706589f64ec518f0a4f34f8c1b3edd0ee22217ca6a9190d459
5
5
  SHA512:
6
- metadata.gz: 25404cf3021a1f519e36207932834a902b6748ef3a6214623a850145819b3eb71756201e7371b382de5c35dbfc63ef32bb45078b7e954546d18abca28014aaae
7
- data.tar.gz: b34d1eddb479f2aae4a28876d788c90269bb3afab12251a009db2bfd7f1b14972dfbfc7b3964a58bdf40c76ae65ef525bd117d388642160c9246781f119bfcf2
6
+ metadata.gz: a2fd4c6ccacd9d967c71a4290a2caf3a896181899494f724d9cbc1c65c6c0522afa37f1d8e6ba00c8271fd90627ad9e851ef298b9f75dec35a4e24be2c3f4988
7
+ data.tar.gz: 56c14922c5abb90b47045a3dd8d0e05bfae7492b66c2b48b00a06fe9d4359a2dce1909029586c4a201a82ce99f7e779b041ef688d6e1c599c549e96e3e6677c5
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.31.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.33.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
- 698 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 710 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.31.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.33.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.31.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.33.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.31.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.31.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.33.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.33.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
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.31.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.33.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.31.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.33.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -12492,6 +12492,329 @@ module Infrawrench
12492
12492
  end
12493
12493
  end
12494
12494
 
12495
+ # `client.runbooks.get`
12496
+ class RunbooksGetNamespace
12497
+ # @api private
12498
+ # @param transport [Transport]
12499
+ def initialize(transport)
12500
+ @transport = transport
12501
+ end
12502
+
12503
+ # List the organization's runbooks
12504
+ #
12505
+ # Every runbook, with how many times each has been run and when it was last
12506
+ # used. Reading takes `resources:read`: the person who can see the
12507
+ # infrastructure is the person who will be woken up about it.
12508
+ #
12509
+ # GET /api/org/{orgId}/runbooks
12510
+ #
12511
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
12512
+ # constructed with.
12513
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12514
+ # @return [Hash] Parsed JSON, shaped as `RunbookList` — see `sig/infrawrench/sdk.rbs`.
12515
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
12516
+ def get(org_id: nil, request_options: nil)
12517
+ @transport.request(
12518
+ http_method: "GET",
12519
+ path: "/api/org/{orgId}/runbooks",
12520
+ path_params: { "orgId" => org_id },
12521
+ request_options: request_options
12522
+ )
12523
+ end
12524
+
12525
+ # Get one runbook
12526
+ #
12527
+ # GET /api/org/{orgId}/runbooks/{runbookId}
12528
+ #
12529
+ # Raises on 404: Not found
12530
+ #
12531
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
12532
+ # constructed with.
12533
+ # @param runbook_id [String]
12534
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12535
+ # @return [Hash] Parsed JSON, shaped as `Runbook` — see `sig/infrawrench/sdk.rbs`.
12536
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
12537
+ def get_org_org_id_runbooks_runbook_id(runbook_id:, org_id: nil, request_options: nil)
12538
+ @transport.request(
12539
+ http_method: "GET",
12540
+ path: "/api/org/{orgId}/runbooks/{runbookId}",
12541
+ path_params: { "orgId" => org_id, "runbookId" => runbook_id },
12542
+ request_options: request_options
12543
+ )
12544
+ end
12545
+ end
12546
+
12547
+ # `client.runbooks.runs.steps`
12548
+ class RunbooksRunsStepsNamespace
12549
+ # @api private
12550
+ # @param transport [Transport]
12551
+ def initialize(transport)
12552
+ @transport = transport
12553
+ end
12554
+
12555
+ # Tick a step
12556
+ #
12557
+ # One targeted update on one row, so two responders working the same
12558
+ # incident can tick different steps at the same moment without either losing
12559
+ # the other's work.
12560
+ #
12561
+ # A closed run refuses updates, and reopening is not offered: a run is a
12562
+ # record of what happened. Start another run to record another attempt.
12563
+ #
12564
+ # PATCH /api/org/{orgId}/runbooks/runs/{runId}/steps/{stepId}
12565
+ #
12566
+ # Raises on 400: Bad request
12567
+ #
12568
+ # Raises on 404: Not found
12569
+ #
12570
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
12571
+ # constructed with.
12572
+ # @param run_id [String]
12573
+ # @param step_id [String]
12574
+ # @param body [Hash, nil] Request body, shaped as `RunbookStepUpdate`.
12575
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12576
+ # @return [Hash] Parsed JSON, shaped as `RunbookRun` — see `sig/infrawrench/sdk.rbs`.
12577
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
12578
+ def update(run_id:, step_id:, org_id: nil, body: nil, request_options: nil)
12579
+ @transport.request(
12580
+ http_method: "PATCH",
12581
+ path: "/api/org/{orgId}/runbooks/runs/{runId}/steps/{stepId}",
12582
+ path_params: { "orgId" => org_id, "runId" => run_id, "stepId" => step_id },
12583
+ body: body,
12584
+ request_options: request_options
12585
+ )
12586
+ end
12587
+ end
12588
+
12589
+ # `client.runbooks.runs`
12590
+ class RunbooksRunsNamespace
12591
+ # @return [RunbooksRunsStepsNamespace] `client.runbooks.runs.steps`
12592
+ attr_reader :steps
12593
+
12594
+ # @api private
12595
+ # @param transport [Transport]
12596
+ def initialize(transport)
12597
+ @transport = transport
12598
+ @steps = RunbooksRunsStepsNamespace.new(@transport)
12599
+ end
12600
+
12601
+ # Close a run out
12602
+ #
12603
+ # Closing does **not** settle outstanding steps. A run completed with three
12604
+ # steps still pending is a true and useful record — it says the incident
12605
+ # ended before the checklist did — and quietly marking them done would erase
12606
+ # the one thing a postmortem wants to know.
12607
+ #
12608
+ # POST /api/org/{orgId}/runbooks/runs/{runId}/close
12609
+ #
12610
+ # Raises on 400: Bad request
12611
+ #
12612
+ # Raises on 404: Not found
12613
+ #
12614
+ # Raises on 409: Conflict
12615
+ #
12616
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
12617
+ # constructed with.
12618
+ # @param run_id [String]
12619
+ # @param body [Hash, nil] Request body, shaped as `RunbookRunClose`.
12620
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12621
+ # @return [Hash] Parsed JSON, shaped as `RunbookRun` — see `sig/infrawrench/sdk.rbs`.
12622
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
12623
+ def close(run_id:, org_id: nil, body: nil, request_options: nil)
12624
+ @transport.request(
12625
+ http_method: "POST",
12626
+ path: "/api/org/{orgId}/runbooks/runs/{runId}/close",
12627
+ path_params: { "orgId" => org_id, "runId" => run_id },
12628
+ body: body,
12629
+ request_options: request_options
12630
+ )
12631
+ end
12632
+
12633
+ # Start performing a runbook
12634
+ #
12635
+ # Copies every step's title and kind into the run, so the record of what
12636
+ # somebody was asked to do survives the runbook being rewritten next week.
12637
+ #
12638
+ # Takes `resources:read`, like ticking a step: performing a checklist is not
12639
+ # an act of configuration, and requiring an admin mid-incident is how a team
12640
+ # stops using it. Deliberately not deduplicated against a run already in
12641
+ # progress — performing the failover twice in one incident is a real thing,
12642
+ # and refusing the second would mean it goes unrecorded rather than not
12643
+ # happening.
12644
+ #
12645
+ # POST /api/org/{orgId}/runbooks/{runbookId}/runs
12646
+ #
12647
+ # Raises on 400: Bad request
12648
+ #
12649
+ # Raises on 404: Not found
12650
+ #
12651
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
12652
+ # constructed with.
12653
+ # @param runbook_id [String]
12654
+ # @param body [Hash, nil] Request body, shaped as `RunbookRunStart`.
12655
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12656
+ # @return [Hash] Parsed JSON, shaped as `RunbookRun` — see `sig/infrawrench/sdk.rbs`.
12657
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
12658
+ def create(runbook_id:, org_id: nil, body: nil, request_options: nil)
12659
+ @transport.request(
12660
+ http_method: "POST",
12661
+ path: "/api/org/{orgId}/runbooks/{runbookId}/runs",
12662
+ path_params: { "orgId" => org_id, "runbookId" => runbook_id },
12663
+ body: body,
12664
+ request_options: request_options
12665
+ )
12666
+ end
12667
+
12668
+ # List runbook runs
12669
+ #
12670
+ # Newest first, optionally narrowed to one runbook or one incident.
12671
+ #
12672
+ # GET /api/org/{orgId}/runbooks/runs
12673
+ #
12674
+ # Raises on 400: Bad request
12675
+ #
12676
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
12677
+ # constructed with.
12678
+ # @param runbook_id [String, nil]
12679
+ # @param incident_id [String, nil]
12680
+ # @param limit [Integer, nil]
12681
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12682
+ # @return [Hash] Parsed JSON, shaped as `RunbookRunList` — see `sig/infrawrench/sdk.rbs`.
12683
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
12684
+ def get(org_id: nil, runbook_id: nil, incident_id: nil, limit: nil, request_options: nil)
12685
+ @transport.request(
12686
+ http_method: "GET",
12687
+ path: "/api/org/{orgId}/runbooks/runs",
12688
+ path_params: { "orgId" => org_id },
12689
+ query: { "runbookId" => runbook_id, "incidentId" => incident_id, "limit" => limit },
12690
+ request_options: request_options
12691
+ )
12692
+ end
12693
+
12694
+ # Get one runbook run
12695
+ #
12696
+ # GET /api/org/{orgId}/runbooks/runs/{runId}
12697
+ #
12698
+ # Raises on 404: Not found
12699
+ #
12700
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
12701
+ # constructed with.
12702
+ # @param run_id [String]
12703
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12704
+ # @return [Hash] Parsed JSON, shaped as `RunbookRun` — see `sig/infrawrench/sdk.rbs`.
12705
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
12706
+ def get_org_org_id_runbooks_runs_run_id(run_id:, org_id: nil, request_options: nil)
12707
+ @transport.request(
12708
+ http_method: "GET",
12709
+ path: "/api/org/{orgId}/runbooks/runs/{runId}",
12710
+ path_params: { "orgId" => org_id, "runId" => run_id },
12711
+ request_options: request_options
12712
+ )
12713
+ end
12714
+ end
12715
+
12716
+ # `client.runbooks`
12717
+ class RunbooksNamespace
12718
+ # @return [RunbooksGetNamespace] `client.runbooks.get`
12719
+ attr_reader :get
12720
+ # @return [RunbooksRunsNamespace] `client.runbooks.runs`
12721
+ attr_reader :runs
12722
+
12723
+ # @api private
12724
+ # @param transport [Transport]
12725
+ def initialize(transport)
12726
+ @transport = transport
12727
+ @get = RunbooksGetNamespace.new(@transport)
12728
+ @runs = RunbooksRunsNamespace.new(@transport)
12729
+ end
12730
+
12731
+ # Write a runbook
12732
+ #
12733
+ # Editing takes `org:settings:write` — a procedure is an org-wide statement
12734
+ # about how something is done, and it is read by strangers under pressure.
12735
+ # Names are unique within an organization: two runbooks called "Failover" is
12736
+ # how the wrong one gets run.
12737
+ #
12738
+ # POST /api/org/{orgId}/runbooks
12739
+ #
12740
+ # Raises on 400: Bad request
12741
+ #
12742
+ # Raises on 409: Conflict
12743
+ #
12744
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
12745
+ # constructed with.
12746
+ # @param body [Hash, nil] Request body, shaped as `RunbookCreate`.
12747
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12748
+ # @return [Hash] Parsed JSON, shaped as `Runbook` — see `sig/infrawrench/sdk.rbs`.
12749
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
12750
+ def create(org_id: nil, body: nil, request_options: nil)
12751
+ @transport.request(
12752
+ http_method: "POST",
12753
+ path: "/api/org/{orgId}/runbooks",
12754
+ path_params: { "orgId" => org_id },
12755
+ body: body,
12756
+ request_options: request_options
12757
+ )
12758
+ end
12759
+
12760
+ # Delete a runbook
12761
+ #
12762
+ # Takes its run history with it. To retire a procedure without losing the
12763
+ # record of the runs performed against it, set `enabled` to false instead.
12764
+ #
12765
+ # DELETE /api/org/{orgId}/runbooks/{runbookId}
12766
+ #
12767
+ # Raises on 404: Not found
12768
+ #
12769
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
12770
+ # constructed with.
12771
+ # @param runbook_id [String]
12772
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12773
+ # @return [nil] This endpoint returns no content.
12774
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
12775
+ def delete(runbook_id:, org_id: nil, request_options: nil)
12776
+ @transport.request(
12777
+ http_method: "DELETE",
12778
+ path: "/api/org/{orgId}/runbooks/{runbookId}",
12779
+ path_params: { "orgId" => org_id, "runbookId" => runbook_id },
12780
+ accept: :empty,
12781
+ request_options: request_options
12782
+ )
12783
+ end
12784
+
12785
+ # Edit a runbook
12786
+ #
12787
+ # Omitted fields are left alone. The result is validated **after** merging,
12788
+ # so a patch that only changes the steps still has to produce a runbook that
12789
+ # is valid as a whole. A step sent with its `id` keeps its identity, so a
12790
+ # run in progress still matches it.
12791
+ #
12792
+ # PATCH /api/org/{orgId}/runbooks/{runbookId}
12793
+ #
12794
+ # Raises on 400: Bad request
12795
+ #
12796
+ # Raises on 404: Not found
12797
+ #
12798
+ # Raises on 409: Conflict
12799
+ #
12800
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
12801
+ # constructed with.
12802
+ # @param runbook_id [String]
12803
+ # @param body [Hash, nil] Request body, shaped as `RunbookUpdate`.
12804
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12805
+ # @return [Hash] Parsed JSON, shaped as `Runbook` — see `sig/infrawrench/sdk.rbs`.
12806
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
12807
+ def update(runbook_id:, org_id: nil, body: nil, request_options: nil)
12808
+ @transport.request(
12809
+ http_method: "PATCH",
12810
+ path: "/api/org/{orgId}/runbooks/{runbookId}",
12811
+ path_params: { "orgId" => org_id, "runbookId" => runbook_id },
12812
+ body: body,
12813
+ request_options: request_options
12814
+ )
12815
+ end
12816
+ end
12817
+
12495
12818
  # `client.saved_cost_filters`
12496
12819
  class SavedCostFiltersNamespace
12497
12820
  # @api private
@@ -15857,6 +16180,8 @@ module Infrawrench
15857
16180
  attr_reader :resources
15858
16181
  # @return [RightsizingNamespace] `client.rightsizing`
15859
16182
  attr_reader :rightsizing
16183
+ # @return [RunbooksNamespace] `client.runbooks`
16184
+ attr_reader :runbooks
15860
16185
  # @return [SavedCostFiltersNamespace] `client.saved_cost_filters`
15861
16186
  attr_reader :saved_cost_filters
15862
16187
  # @return [SchedulesNamespace] `client.schedules`
@@ -15978,6 +16303,7 @@ module Infrawrench
15978
16303
  @quotas = QuotasNamespace.new(@transport)
15979
16304
  @resources = ResourcesNamespace.new(@transport)
15980
16305
  @rightsizing = RightsizingNamespace.new(@transport)
16306
+ @runbooks = RunbooksNamespace.new(@transport)
15981
16307
  @saved_cost_filters = SavedCostFiltersNamespace.new(@transport)
15982
16308
  @schedules = SchedulesNamespace.new(@transport)
15983
16309
  @search = SearchNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.31.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.33.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.31.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.33.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.31.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.33.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.31.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.33.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.31.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.33.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.31.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.33.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.31.0"
18
+ VERSION = "1.33.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.31.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.33.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.31.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.33.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.31.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.33.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.31.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.33.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -5980,6 +5980,113 @@ module Infrawrench
5980
5980
  # Spec schema: `RoleUpdateRequest`.
5981
5981
  type role_update_request = { ?"name" => String, ?"description" => String | nil, ?"permissions" => Array[permission] }
5982
5982
 
5983
+ # Spec schema: `Runbook`.
5984
+ type runbook = {
5985
+ "id" => String,
5986
+ "name" => String,
5987
+ "description" => String | nil,
5988
+ "steps" => Array[runbook_step],
5989
+ "resourceTypeIds" => Array[String],
5990
+ "tagKey" => String | nil,
5991
+ "tagValue" => String | nil,
5992
+ "enabled" => bool,
5993
+ "createdByUserId" => String | nil,
5994
+ "createdByName" => String | nil,
5995
+ "createdAt" => String,
5996
+ "updatedAt" => String,
5997
+ "runCount" => Integer,
5998
+ "lastRunAt" => String | nil
5999
+ }
6000
+
6001
+ # Spec schema: `RunbookCreate`.
6002
+ type runbook_create = {
6003
+ "name" => String,
6004
+ ?"description" => String | nil,
6005
+ ?"steps" => Array[runbook_step_input],
6006
+ ?"resourceTypeIds" => Array[String],
6007
+ ?"tagKey" => String | nil,
6008
+ ?"tagValue" => String | nil,
6009
+ ?"enabled" => bool
6010
+ }
6011
+
6012
+ # Spec schema: `RunbookList`.
6013
+ type runbook_list = { "runbooks" => Array[runbook] }
6014
+
6015
+ # Spec schema: `RunbookRun`.
6016
+ type runbook_run = {
6017
+ "id" => String,
6018
+ "runbookId" => String,
6019
+ "runbookName" => String,
6020
+ "status" => "running" | "completed" | "abandoned",
6021
+ "incidentId" => String | nil,
6022
+ "startedByUserId" => String | nil,
6023
+ "startedByName" => String | nil,
6024
+ "startedAt" => String,
6025
+ "completedAt" => String | nil,
6026
+ "summary" => String | nil,
6027
+ "steps" => Array[runbook_run_step]
6028
+ }
6029
+
6030
+ # Spec schema: `RunbookRunClose`.
6031
+ type runbook_run_close = { "status" => "completed" | "abandoned", ?"summary" => String | nil }
6032
+
6033
+ # Spec schema: `RunbookRunList`.
6034
+ type runbook_run_list = { "runs" => Array[runbook_run] }
6035
+
6036
+ # Spec schema: `RunbookRunStart`.
6037
+ type runbook_run_start = { ?"incidentId" => String | nil }
6038
+
6039
+ # Spec schema: `RunbookRunStep`.
6040
+ type runbook_run_step = {
6041
+ "stepId" => String,
6042
+ "title" => String,
6043
+ "kind" => "manual" | "workflow" | "link",
6044
+ "status" => "pending" | "done" | "skipped" | "failed",
6045
+ "note" => String | nil,
6046
+ "workflowRunId" => String | nil,
6047
+ "actorUserId" => String | nil,
6048
+ "actorName" => String | nil,
6049
+ "updatedAt" => String | nil
6050
+ }
6051
+
6052
+ # Spec schema: `RunbookStep`.
6053
+ type runbook_step = {
6054
+ "id" => String,
6055
+ "kind" => "manual" | "workflow" | "link",
6056
+ "title" => String,
6057
+ "body" => String,
6058
+ ?"workflowId" => String,
6059
+ ?"url" => String
6060
+ }
6061
+
6062
+ # Spec schema: `RunbookStepInput`.
6063
+ type runbook_step_input = {
6064
+ ?"id" => String,
6065
+ "kind" => "manual" | "workflow" | "link",
6066
+ "title" => String,
6067
+ ?"body" => String,
6068
+ ?"workflowId" => String | nil,
6069
+ ?"url" => String | nil
6070
+ }
6071
+
6072
+ # Spec schema: `RunbookStepUpdate`.
6073
+ type runbook_step_update = {
6074
+ "status" => "pending" | "done" | "skipped" | "failed",
6075
+ ?"note" => String | nil,
6076
+ ?"workflowRunId" => String | nil
6077
+ }
6078
+
6079
+ # Spec schema: `RunbookUpdate`.
6080
+ type runbook_update = {
6081
+ ?"name" => String,
6082
+ ?"description" => String | nil,
6083
+ ?"steps" => Array[runbook_step_input],
6084
+ ?"resourceTypeIds" => Array[String],
6085
+ ?"tagKey" => String | nil,
6086
+ ?"tagValue" => String | nil,
6087
+ ?"enabled" => bool
6088
+ }
6089
+
5983
6090
  # Spec schema: `SavedCostFilter`.
5984
6091
  type saved_cost_filter = {
5985
6092
  "id" => String,
@@ -6722,6 +6829,7 @@ module Infrawrench
6722
6829
  | "backups"
6723
6830
  | "wallboard"
6724
6831
  | "calendar"
6832
+ | "runbooks"
6725
6833
  | "dns"
6726
6834
  | "iac"
6727
6835
  | "environment-diff"
@@ -7972,6 +8080,35 @@ module Infrawrench
7972
8080
  def get: (?org_id: String?, ?refresh: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> rightsizing_list_response
7973
8081
  end
7974
8082
 
8083
+ class RunbooksGetNamespace
8084
+ def initialize: (Transport) -> void
8085
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> runbook_list
8086
+ def get_org_org_id_runbooks_runbook_id: (runbook_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> runbook
8087
+ end
8088
+
8089
+ class RunbooksRunsStepsNamespace
8090
+ def initialize: (Transport) -> void
8091
+ def update: (run_id: String, step_id: String, ?org_id: String?, ?body: runbook_step_update?, ?request_options: Hash[Symbol, untyped]?) -> runbook_run
8092
+ end
8093
+
8094
+ class RunbooksRunsNamespace
8095
+ attr_reader steps: RunbooksRunsStepsNamespace
8096
+ def initialize: (Transport) -> void
8097
+ def close: (run_id: String, ?org_id: String?, ?body: runbook_run_close?, ?request_options: Hash[Symbol, untyped]?) -> runbook_run
8098
+ def create: (runbook_id: String, ?org_id: String?, ?body: runbook_run_start?, ?request_options: Hash[Symbol, untyped]?) -> runbook_run
8099
+ def get: (?org_id: String?, ?runbook_id: String?, ?incident_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> runbook_run_list
8100
+ def get_org_org_id_runbooks_runs_run_id: (run_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> runbook_run
8101
+ end
8102
+
8103
+ class RunbooksNamespace
8104
+ attr_reader get: RunbooksGetNamespace
8105
+ attr_reader runs: RunbooksRunsNamespace
8106
+ def initialize: (Transport) -> void
8107
+ def create: (?org_id: String?, ?body: runbook_create?, ?request_options: Hash[Symbol, untyped]?) -> runbook
8108
+ def delete: (runbook_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
8109
+ def update: (runbook_id: String, ?org_id: String?, ?body: runbook_update?, ?request_options: Hash[Symbol, untyped]?) -> runbook
8110
+ end
8111
+
7975
8112
  class SavedCostFiltersNamespace
7976
8113
  def initialize: (Transport) -> void
7977
8114
  def create: (body: saved_cost_filter_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> saved_cost_filter
@@ -8290,6 +8427,7 @@ module Infrawrench
8290
8427
  attr_reader quotas: QuotasNamespace
8291
8428
  attr_reader resources: ResourcesNamespace
8292
8429
  attr_reader rightsizing: RightsizingNamespace
8430
+ attr_reader runbooks: RunbooksNamespace
8293
8431
  attr_reader saved_cost_filters: SavedCostFiltersNamespace
8294
8432
  attr_reader schedules: SchedulesNamespace
8295
8433
  attr_reader search: SearchNamespace
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infrawrench-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.31.0
4
+ version: 1.33.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-18 00:00:00.000000000 Z
12
+ date: 2026-08-20 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.31.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.33.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.31.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.33.0).
62
62
  test_files: []