infrawrench-sdk 1.17.0 → 1.18.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: 359ea68464e3400d21793fcb623a2f4d3652d4438d0943d15d3a89ed08ba2d40
4
- data.tar.gz: d85bcd64441a864f5cc4fa8433242a907fe169f89663e66dd8d81595d42fbe52
3
+ metadata.gz: 88e054d8ab5e5f760e83695779f5d6fb4fd8630779b87d76c7268df6458a4368
4
+ data.tar.gz: 05cf568abc46f27c6488f536dba00e43f6b2905df806ac012a2bb1b8db33112c
5
5
  SHA512:
6
- metadata.gz: e2ce4ad9fff0121b54795ee4185628084ae0d7832d9970633a3a0f82ca1f98787c098f17a326ca62b62f88452a4836555fe91abd77302be4ccf00ba45953e002
7
- data.tar.gz: 8b216cbe55353f50c523ca02ed4e5c86db7a396f63313b629eed0a5747af7d8ec11640a018fab31a4a975537e38bdd5f6935ba3ad41b58aedf0342f62092ca77
6
+ metadata.gz: 3a594eda98b0d94712d89d36a7898bb521d1efd0d68edc137841ee3bf237aa787fa10a15463b01f2a80386ec275671270d33936c00eae59b23803099426a7f95
7
+ data.tar.gz: 90bf6a53e80839579db54dff18b4f9ea3e2c8e7ee1685ba1041d8346ba33e31e8c112f6b223fea188ffc5703b6d3de40690401bf2687a1b1d983edbabddbd819
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.17.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.18.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
- 601 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 615 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.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.18.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.18.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.17.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.17.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.18.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.18.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.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.18.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.18.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -2732,6 +2732,44 @@ module Infrawrench
2732
2732
  @revert = ChangesRevertNamespace.new(@transport)
2733
2733
  end
2734
2734
 
2735
+ # Cost impact of a page of changes
2736
+ #
2737
+ # For each change, compares the resource's per-day spend over the window
2738
+ # before it against the window after, and reports the difference as a
2739
+ # run-rate delta.
2740
+ #
2741
+ # A POST because it takes a list of ids, not because it writes: nothing is
2742
+ # stored. The answer is recomputed on every call, deliberately — provider
2743
+ # cost arrives late and is then restated, so a stored number would be a
2744
+ # wrong number that never corrects itself.
2745
+ #
2746
+ # Both windows exclude the change's own day (spend on it is half old shape,
2747
+ # half new) and today (an accruing day always reads as a dip), and are
2748
+ # clamped symmetrically to the days cost collection actually covers.
2749
+ #
2750
+ # _Requires permission: `costs:read`._
2751
+ #
2752
+ # POST /api/org/{orgId}/changes/cost-impacts
2753
+ #
2754
+ # Raises on 400: Bad request
2755
+ #
2756
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
2757
+ # constructed with.
2758
+ # @param body [Hash, nil] Request body, shaped as `ChangeCostImpactsRequest`.
2759
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
2760
+ # @return [Hash] Parsed JSON, shaped as `ChangeCostImpactsResponse` — see
2761
+ # `sig/infrawrench/sdk.rbs`.
2762
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
2763
+ def cost_impacts(org_id: nil, body: nil, request_options: nil)
2764
+ @transport.request(
2765
+ http_method: "POST",
2766
+ path: "/api/org/{orgId}/changes/cost-impacts",
2767
+ path_params: { "orgId" => org_id },
2768
+ body: body,
2769
+ request_options: request_options
2770
+ )
2771
+ end
2772
+
2735
2773
  # Org-wide change timeline (paginated, filterable)
2736
2774
  #
2737
2775
  # Change events recorded by the resource poller: each poll cycle diffs the
@@ -3252,6 +3290,43 @@ module Infrawrench
3252
3290
  @transport = transport
3253
3291
  end
3254
3292
 
3293
+ # Pin a change's or deploy's cost impact onto the cost charts
3294
+ #
3295
+ # Writes the finding as a cost annotation, so the step in the run rate is
3296
+ # explained on the graph where it shows. Re-posting the same subject
3297
+ # **rewords the existing note** rather than adding a second — which is what
3298
+ # makes it safe to pin a finding again once the provider has finished
3299
+ # restating. The note's date and report scope are never rewritten: they may
3300
+ # have been edited deliberately.
3301
+ #
3302
+ # A subject with no measurable impact is a 400, not a note reading
3303
+ # `$0.00/day`.
3304
+ #
3305
+ # _Requires permission: `costs:write`._
3306
+ #
3307
+ # POST /api/org/{orgId}/cost-annotations/change-impact
3308
+ #
3309
+ # Raises on 400: Bad request
3310
+ #
3311
+ # Raises on 404: Not found
3312
+ #
3313
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3314
+ # constructed with.
3315
+ # @param body [Hash, nil] Request body, shaped as `ChangeCostImpactAnnotationRequest`.
3316
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
3317
+ # @return [Hash] Parsed JSON, shaped as `ChangeCostImpactAnnotationResponse` — see
3318
+ # `sig/infrawrench/sdk.rbs`.
3319
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
3320
+ def change_impact(org_id: nil, body: nil, request_options: nil)
3321
+ @transport.request(
3322
+ http_method: "POST",
3323
+ path: "/api/org/{orgId}/cost-annotations/change-impact",
3324
+ path_params: { "orgId" => org_id },
3325
+ body: body,
3326
+ request_options: request_options
3327
+ )
3328
+ end
3329
+
3255
3330
  # Create a cost annotation
3256
3331
  #
3257
3332
  # _Requires permission: `costs:write`._
@@ -5918,6 +5993,43 @@ module Infrawrench
5918
5993
  @transport = transport
5919
5994
  end
5920
5995
 
5996
+ # Cost impact of a deployment run
5997
+ #
5998
+ # The same comparison as `POST /changes/cost-impacts`, run over the
5999
+ # resources this deploy provisioned, with a per-resource breakdown that sums
6000
+ # to the total.
6001
+ #
6002
+ # _Requires permission: `costs:read`._
6003
+ #
6004
+ # GET /api/org/{orgId}/deployments/runs/{id}/cost-impact
6005
+ #
6006
+ # Raises on 400: Bad request
6007
+ #
6008
+ # Raises on 404: Not found
6009
+ #
6010
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6011
+ # constructed with.
6012
+ # @param id [String]
6013
+ # @param window_days [Integer, nil]
6014
+ # @param cost_basis [String, nil] Which charge-type basis both windows are read on. `cash`
6015
+ # (the default) is what the provider charged on the day it charged it; `amortized` spreads a
6016
+ # commitment's up-front fee across the term it buys. It is echoed on every response because
6017
+ # a delta whose basis is unstated is unreadable — an amortized 'after' against a cash
6018
+ # 'before' looks exactly like a saving.
6019
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6020
+ # @return [Hash] Parsed JSON, shaped as `DeploymentCostImpact` — see
6021
+ # `sig/infrawrench/sdk.rbs`.
6022
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6023
+ def cost_impact(id:, org_id: nil, window_days: nil, cost_basis: nil, request_options: nil)
6024
+ @transport.request(
6025
+ http_method: "GET",
6026
+ path: "/api/org/{orgId}/deployments/runs/{id}/cost-impact",
6027
+ path_params: { "orgId" => org_id, "id" => id },
6028
+ query: { "windowDays" => window_days, "costBasis" => cost_basis },
6029
+ request_options: request_options
6030
+ )
6031
+ end
6032
+
5921
6033
  # Record a deployment that ran elsewhere
5922
6034
  #
5923
6035
  # The CLI builds on the operator's own machine, so the server never sees
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.18.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.18.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.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.18.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.18.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.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.18.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.18.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.17.0"
18
+ VERSION = "1.18.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.18.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.18.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.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.18.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.17.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.18.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -888,6 +888,96 @@ module Infrawrench
888
888
  "slots" => Array[capacity_slot]
889
889
  }
890
890
 
891
+ # Which charge-type basis both windows are read on. `cash` (the default) is
892
+ # what the provider charged on the day it charged it; `amortized` spreads a
893
+ # commitment's up-front fee across the term it buys. It is echoed on every
894
+ # response because a delta whose basis is unstated is unreadable — an
895
+ # amortized 'after' against a cash 'before' looks exactly like a saving.
896
+ #
897
+ # Spec schema: `ChangeCostBasis`.
898
+ type change_cost_basis = "cash" | "amortized"
899
+
900
+ # Spec schema: `ChangeCostImpact`.
901
+ type change_cost_impact = {
902
+ "status" => change_cost_impact_status,
903
+ "costBasis" => change_cost_basis,
904
+ "windowDays" => Integer,
905
+ "effectiveWindowDays" => Integer,
906
+ "eventDay" => String,
907
+ "before" => change_cost_impact_window,
908
+ "after" => change_cost_impact_window,
909
+ "series" => Array[change_cost_impact_series],
910
+ "confidence" => change_cost_impact_confidence,
911
+ "reasons" => Array[change_cost_impact_reason],
912
+ "overlappingChanges" => Integer
913
+ }
914
+
915
+ # Spec schema: `ChangeCostImpactAnnotationRequest`.
916
+ type change_cost_impact_annotation_request = {
917
+ "subjectKind" => "change" | "deployment",
918
+ "subjectId" => String,
919
+ ?"windowDays" => Integer,
920
+ ?"costBasis" => change_cost_basis
921
+ }
922
+
923
+ # Spec schema: `ChangeCostImpactAnnotationResponse`.
924
+ type change_cost_impact_annotation_response = { "annotationId" => String, "text" => String, "impact" => change_cost_impact }
925
+
926
+ # How much the delta is worth believing. Derived from the number of comparable
927
+ # days per side (7+ high, 4+ medium, otherwise low) and dropped one tier when
928
+ # other recorded changes touched the same resource inside the window.
929
+ #
930
+ # Spec schema: `ChangeCostImpactConfidence`.
931
+ type change_cost_impact_confidence = "high" | "medium" | "low" | "none"
932
+
933
+ # Spec schema: `ChangeCostImpactEntry`.
934
+ type change_cost_impact_entry = { "changeId" => String, "resourceId" => resource_id, "impact" => change_cost_impact }
935
+
936
+ # Why the result reads the way it does. Every non-`measured` status carries at
937
+ # least one, and `measured` carries whatever lowered its confidence.
938
+ # `period_native_provider` is the notable one: a provider that dates a whole
939
+ # invoice period to the period's start cannot be read by a day-window
940
+ # comparison at all.
941
+ #
942
+ # Spec schema: `ChangeCostImpactReason`.
943
+ type change_cost_impact_reason = "no_cost_identity"
944
+ | "period_native_provider"
945
+ | "no_cost_data"
946
+ | "no_coverage_before"
947
+ | "no_coverage_after"
948
+ | "short_window"
949
+ | "window_clamped"
950
+ | "overlapping_changes"
951
+
952
+ # Spec schema: `ChangeCostImpactSeries`.
953
+ type change_cost_impact_series = {
954
+ "currency" => String,
955
+ "beforePerDay" => Numeric,
956
+ "afterPerDay" => Numeric,
957
+ "deltaPerDay" => Numeric,
958
+ "deltaPercent" => Numeric | nil,
959
+ "beforeTotal" => Numeric,
960
+ "afterTotal" => Numeric
961
+ }
962
+
963
+ # `measured` — both windows had collected data and the delta is real.
964
+ # `insufficient_data` — the windows exist but are too short to compare.
965
+ # `unknown` — nothing here can answer the question. **`unknown` is never
966
+ # zero**: a resource with no cost data reports that we cannot say, not that
967
+ # the change was free.
968
+ #
969
+ # Spec schema: `ChangeCostImpactStatus`.
970
+ type change_cost_impact_status = "measured" | "insufficient_data" | "unknown"
971
+
972
+ # Spec schema: `ChangeCostImpactWindow`.
973
+ type change_cost_impact_window = { "from" => String, "to" => String } | nil
974
+
975
+ # Spec schema: `ChangeCostImpactsRequest`.
976
+ type change_cost_impacts_request = { "changeIds" => Array[String], ?"windowDays" => Integer, ?"costBasis" => change_cost_basis }
977
+
978
+ # Spec schema: `ChangeCostImpactsResponse`.
979
+ type change_cost_impacts_response = { "impacts" => Array[change_cost_impact_entry] }
980
+
891
981
  # Spec schema: `ChangeFreeze`.
892
982
  type change_freeze = {
893
983
  "id" => String,
@@ -2197,6 +2287,27 @@ module Infrawrench
2197
2287
  # Spec schema: `DeployTriggerInput`.
2198
2288
  type deploy_trigger_input = { "repo" => String, "branch" => String, "env" => String, ?"answers" => Hash[String, String] }
2199
2289
 
2290
+ # Spec schema: `DeploymentCostImpact`.
2291
+ type deployment_cost_impact = {
2292
+ "runId" => String,
2293
+ "costBasis" => change_cost_basis,
2294
+ "windowDays" => Integer,
2295
+ "eventDay" => String,
2296
+ "resources" => Array[deployment_cost_impact_resource],
2297
+ "total" => Array[{ "currency" => String, "deltaPerDay" => Numeric }],
2298
+ "unknownResources" => Integer,
2299
+ "confidence" => change_cost_impact_confidence & untyped
2300
+ }
2301
+
2302
+ # Spec schema: `DeploymentCostImpactResource`.
2303
+ type deployment_cost_impact_resource = {
2304
+ "resourceId" => resource_id,
2305
+ "displayName" => String,
2306
+ "pluginId" => String,
2307
+ "resourceTypeId" => String,
2308
+ "impact" => change_cost_impact
2309
+ }
2310
+
2200
2311
  # Spec schema: `DeploymentRun`.
2201
2312
  type deployment_run = {
2202
2313
  "id" => String,
@@ -6426,6 +6537,7 @@ module Infrawrench
6426
6537
  attr_reader alert_settings: ChangesAlertSettingsNamespace
6427
6538
  attr_reader revert: ChangesRevertNamespace
6428
6539
  def initialize: (Transport) -> void
6540
+ def cost_impacts: (?org_id: String?, ?body: change_cost_impacts_request?, ?request_options: Hash[Symbol, untyped]?) -> change_cost_impacts_response
6429
6541
  def get: (?org_id: String?, ?page: Integer?, ?page_size: Integer?, ?account_id: String?, ?resource_id: String?, ?kind: resource_change_kind?, ?from: String?, ?to: String?, ?request_options: Hash[Symbol, untyped]?) -> resource_change_feed_response
6430
6542
  def resource: (resource_id: String, ?org_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> resource_change_list_response
6431
6543
  end
@@ -6466,6 +6578,7 @@ module Infrawrench
6466
6578
 
6467
6579
  class CostAnnotationsNamespace
6468
6580
  def initialize: (Transport) -> void
6581
+ def change_impact: (?org_id: String?, ?body: change_cost_impact_annotation_request?, ?request_options: Hash[Symbol, untyped]?) -> change_cost_impact_annotation_response
6469
6582
  def create: (body: cost_annotation_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_annotation
6470
6583
  def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
6471
6584
  def get: (?org_id: String?, ?report_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "annotations" => Array[cost_annotation] }
@@ -6660,6 +6773,7 @@ module Infrawrench
6660
6773
 
6661
6774
  class DeploymentsRunsNamespace
6662
6775
  def initialize: (Transport) -> void
6776
+ def cost_impact: (id: String, ?org_id: String?, ?window_days: Integer?, ?cost_basis: change_cost_basis?, ?request_options: Hash[Symbol, untyped]?) -> deployment_cost_impact
6663
6777
  def create: (?org_id: String?, ?body: deployment_run_input?, ?request_options: Hash[Symbol, untyped]?) -> { "id" => String }
6664
6778
  def get: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> deployment_run
6665
6779
  def list: (?org_id: String?, ?env: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> Array[deployment_run]
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.17.0
4
+ version: 1.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infrawrench LLC
@@ -11,7 +11,7 @@ bindir: bin
11
11
  cert_chain: []
12
12
  date: 2026-08-12 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.17.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.18.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.17.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.18.0).
62
62
  test_files: []