infrawrench-sdk 0.20.0 → 0.22.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: 5b2aa57bcc2fbd17de00c520a3c60b34f37d8694384a7c608a105971a0c002d3
4
- data.tar.gz: 7dad27d88aee603b8cc6bded0d97184e06b1d5f38c74d21e3f7ef5a8300df1fb
3
+ metadata.gz: 97429595e6e2da66c5e85eb15c0c61865b85da8db972b10d56d30bf861d672cb
4
+ data.tar.gz: 97e98d3f145425009e32f2f8fc757187ff9a702e06e017269e2d8b0d96eba5ba
5
5
  SHA512:
6
- metadata.gz: f7a1f587ef4f96872c9ad53cdc0d278e1d40351239c73fe157333fe9e6a5c3c8b3cf5367049e847e32993b4eda826fd11318ab1a839969b38dbaae30cd1cb985
7
- data.tar.gz: be96a48198f36e1ecc606fbfe402d61fae7cfba652f43682863d31f97d94b3bd8241d16d1226999aa2d81ec837b310976a0fc2afe580167d74c0d4fbe859a09a
6
+ metadata.gz: d536e7d79123f4c16c7548a13ae081184c42b2f1cb1907cf9bf0fecdea8e0f074d7df0db4cc36d09614971565b6936c520a7b92b69fb1438a6d5c0163e0887f0
7
+ data.tar.gz: ef68ff4e013d77135b55ee6d191d21389bccc7028766ca220648544687e2b62f86fe282457d5b919fc781e865ed919443bc872efc97f7d6bf807cf167a9a5287
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # infrawrench-sdk
2
2
 
3
- Generated Ruby client for the Infrawrench API (API version `0.20.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `0.22.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
- 230 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 238 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 v0.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.22.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 0.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.22.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 (v0.20.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v0.20.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 (v0.22.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v0.22.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 v0.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.22.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 0.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.22.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1112,6 +1112,100 @@ module Infrawrench
1112
1112
  end
1113
1113
  end
1114
1114
 
1115
+ # `client.changes`
1116
+ class ChangesNamespace
1117
+ # @api private
1118
+ # @param transport [Transport]
1119
+ def initialize(transport)
1120
+ @transport = transport
1121
+ end
1122
+
1123
+ # Org-wide change timeline (paginated, filterable)
1124
+ #
1125
+ # Change events recorded by the resource poller: each poll cycle diffs the
1126
+ # freshly fetched state against the stored snapshot and records resources
1127
+ # that appeared, changed a stored field, or disappeared upstream.
1128
+ # Cross-provider by construction — the diff runs on the generic stored
1129
+ # record, so every plugin's resources show up here.
1130
+ #
1131
+ # _Requires permission: `resources:read`._
1132
+ #
1133
+ # GET /api/org/{orgId}/changes
1134
+ #
1135
+ # Raises on 400: Bad request
1136
+ #
1137
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1138
+ # constructed with.
1139
+ # @param page [Integer, nil]
1140
+ # @param page_size [Integer, nil]
1141
+ # @param account_id [String, nil]
1142
+ # @param resource_id [String, nil]
1143
+ # @param kind [String, nil]
1144
+ # @param from [String, nil]
1145
+ # @param to [String, nil]
1146
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1147
+ # @return [Hash] Parsed JSON, shaped as `ResourceChangeFeedResponse` — see
1148
+ # `sig/infrawrench/sdk.rbs`.
1149
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1150
+ def get(
1151
+ org_id: nil,
1152
+ page: nil,
1153
+ page_size: nil,
1154
+ account_id: nil,
1155
+ resource_id: nil,
1156
+ kind: nil,
1157
+ from: nil,
1158
+ to: nil,
1159
+ request_options: nil
1160
+ )
1161
+ @transport.request(
1162
+ http_method: "GET",
1163
+ path: "/api/org/{orgId}/changes",
1164
+ path_params: { "orgId" => org_id },
1165
+ query: {
1166
+ "page" => page,
1167
+ "pageSize" => page_size,
1168
+ "accountId" => account_id,
1169
+ "resourceId" => resource_id,
1170
+ "kind" => kind,
1171
+ "from" => from,
1172
+ "to" => to
1173
+ },
1174
+ request_options: request_options
1175
+ )
1176
+ end
1177
+
1178
+ # Change timeline for one resource
1179
+ #
1180
+ # Recent change events for a single resource, newest first. The resource id
1181
+ # travels as a query parameter because composite ids contain slashes and
1182
+ # colons.
1183
+ #
1184
+ # _Requires permission: `resources:read`._
1185
+ #
1186
+ # GET /api/org/{orgId}/changes/resource
1187
+ #
1188
+ # Raises on 400: Bad request
1189
+ #
1190
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1191
+ # constructed with.
1192
+ # @param resource_id [String]
1193
+ # @param limit [Integer, nil]
1194
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1195
+ # @return [Hash] Parsed JSON, shaped as `ResourceChangeListResponse` — see
1196
+ # `sig/infrawrench/sdk.rbs`.
1197
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1198
+ def resource(resource_id:, org_id: nil, limit: nil, request_options: nil)
1199
+ @transport.request(
1200
+ http_method: "GET",
1201
+ path: "/api/org/{orgId}/changes/resource",
1202
+ path_params: { "orgId" => org_id },
1203
+ query: { "resourceId" => resource_id, "limit" => limit },
1204
+ request_options: request_options
1205
+ )
1206
+ end
1207
+ end
1208
+
1115
1209
  # `client.connect`
1116
1210
  class ConnectNamespace
1117
1211
  # @api private
@@ -5267,6 +5361,100 @@ module Infrawrench
5267
5361
  end
5268
5362
  end
5269
5363
 
5364
+ # `client.workflow_approvals`
5365
+ class WorkflowApprovalsNamespace
5366
+ # @api private
5367
+ # @param transport [Transport]
5368
+ def initialize(transport)
5369
+ @transport = transport
5370
+ end
5371
+
5372
+ # Approve a pending workflow approval request
5373
+ #
5374
+ # The suspended run resumes within a few seconds of the decision landing.
5375
+ #
5376
+ # _Requires permission: `dashboards:write`._
5377
+ #
5378
+ # POST /api/org/{orgId}/workflow-approvals/{id}/approve
5379
+ #
5380
+ # Raises on 404: Not found
5381
+ #
5382
+ # Raises on 409: Conflict
5383
+ #
5384
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
5385
+ # constructed with.
5386
+ # @param id [String]
5387
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
5388
+ # @return [Hash] Parsed JSON, shaped as `WorkflowApproval` — see `sig/infrawrench/sdk.rbs`.
5389
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
5390
+ def approve(id:, org_id: nil, request_options: nil)
5391
+ @transport.request(
5392
+ http_method: "POST",
5393
+ path: "/api/org/{orgId}/workflow-approvals/{id}/approve",
5394
+ path_params: { "orgId" => org_id, "id" => id },
5395
+ request_options: request_options
5396
+ )
5397
+ end
5398
+
5399
+ # Deny a pending workflow approval request
5400
+ #
5401
+ # Denial fails the waiting `infra.waitForApproval(...)` call in the run.
5402
+ #
5403
+ # _Requires permission: `dashboards:write`._
5404
+ #
5405
+ # POST /api/org/{orgId}/workflow-approvals/{id}/deny
5406
+ #
5407
+ # Raises on 404: Not found
5408
+ #
5409
+ # Raises on 409: Conflict
5410
+ #
5411
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
5412
+ # constructed with.
5413
+ # @param id [String]
5414
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
5415
+ # @return [Hash] Parsed JSON, shaped as `WorkflowApproval` — see `sig/infrawrench/sdk.rbs`.
5416
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
5417
+ def deny(id:, org_id: nil, request_options: nil)
5418
+ @transport.request(
5419
+ http_method: "POST",
5420
+ path: "/api/org/{orgId}/workflow-approvals/{id}/deny",
5421
+ path_params: { "orgId" => org_id, "id" => id },
5422
+ request_options: request_options
5423
+ )
5424
+ end
5425
+
5426
+ # List workflow approval requests
5427
+ #
5428
+ # Approval requests raised by `infra.waitForApproval(...)` inside workflow
5429
+ # runs, newest first. Filter with `status=pending` to build an approvals
5430
+ # inbox.
5431
+ #
5432
+ # _Requires permission: `dashboards:read`._
5433
+ #
5434
+ # GET /api/org/{orgId}/workflow-approvals
5435
+ #
5436
+ # Raises on 400: Bad request
5437
+ #
5438
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
5439
+ # constructed with.
5440
+ # @param status [String, nil]
5441
+ # @param workflow_id [String, nil]
5442
+ # @param run_id [String, nil]
5443
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
5444
+ # @return [Array<Hash>] Parsed JSON, shaped as `Array<WorkflowApproval>` — see
5445
+ # `sig/infrawrench/sdk.rbs`.
5446
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
5447
+ def list(org_id: nil, status: nil, workflow_id: nil, run_id: nil, request_options: nil)
5448
+ @transport.request(
5449
+ http_method: "GET",
5450
+ path: "/api/org/{orgId}/workflow-approvals",
5451
+ path_params: { "orgId" => org_id },
5452
+ query: { "status" => status, "workflowId" => workflow_id, "runId" => run_id },
5453
+ request_options: request_options
5454
+ )
5455
+ end
5456
+ end
5457
+
5270
5458
  # A client for the Infrawrench API.
5271
5459
  #
5272
5460
  # client = Infrawrench::APIV1Client.new(
@@ -5299,6 +5487,8 @@ module Infrawrench
5299
5487
  attr_reader :billing
5300
5488
  # @return [BudgetsNamespace] `client.budgets`
5301
5489
  attr_reader :budgets
5490
+ # @return [ChangesNamespace] `client.changes`
5491
+ attr_reader :changes
5302
5492
  # @return [ConnectNamespace] `client.connect`
5303
5493
  attr_reader :connect
5304
5494
  # @return [CostsNamespace] `client.costs`
@@ -5345,6 +5535,8 @@ module Infrawrench
5345
5535
  attr_reader :storage
5346
5536
  # @return [TeamNamespace] `client.team`
5347
5537
  attr_reader :team
5538
+ # @return [WorkflowApprovalsNamespace] `client.workflow_approvals`
5539
+ attr_reader :workflow_approvals
5348
5540
 
5349
5541
  # @param options [Hash] Client configuration — `:base_url`, `:api_key`,
5350
5542
  # `:org_id`, `:headers`, `:timeout`, `:open_timeout` and `:http_handler`.
@@ -5361,6 +5553,7 @@ module Infrawrench
5361
5553
  @bastions = BastionsNamespace.new(@transport)
5362
5554
  @billing = BillingNamespace.new(@transport)
5363
5555
  @budgets = BudgetsNamespace.new(@transport)
5556
+ @changes = ChangesNamespace.new(@transport)
5364
5557
  @connect = ConnectNamespace.new(@transport)
5365
5558
  @costs = CostsNamespace.new(@transport)
5366
5559
  @custom_graphs = CustomGraphsNamespace.new(@transport)
@@ -5384,6 +5577,7 @@ module Infrawrench
5384
5577
  @ssh_tunnels = SshTunnelsNamespace.new(@transport)
5385
5578
  @storage = StorageNamespace.new(@transport)
5386
5579
  @team = TeamNamespace.new(@transport)
5580
+ @workflow_approvals = WorkflowApprovalsNamespace.new(@transport)
5387
5581
  end
5388
5582
  end
5389
5583
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.22.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 0.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.22.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 v0.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.22.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 0.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.22.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 v0.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.22.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 0.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.22.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 = "0.20.0"
18
+ VERSION = "0.22.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.22.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 0.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.22.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 v0.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v0.22.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 0.20.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.22.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1422,6 +1422,34 @@ module Infrawrench
1422
1422
  "parentResourceId" => resource_id & (String | nil)
1423
1423
  }
1424
1424
 
1425
+ # Spec schema: `ResourceChangeEntry`.
1426
+ type resource_change_entry = {
1427
+ "id" => String,
1428
+ "resourceId" => resource_id,
1429
+ "accountId" => String,
1430
+ "pluginId" => String,
1431
+ "resourceTypeId" => String,
1432
+ "displayName" => String,
1433
+ "changeKind" => resource_change_kind,
1434
+ "diff" => Array[resource_field_change],
1435
+ "createdAt" => String
1436
+ }
1437
+
1438
+ # Spec schema: `ResourceChangeFeedEntry`.
1439
+ type resource_change_feed_entry = resource_change_entry & { "accountName" => String | nil }
1440
+
1441
+ # Spec schema: `ResourceChangeFeedResponse`.
1442
+ type resource_change_feed_response = { "entries" => Array[resource_change_feed_entry], "total" => Integer }
1443
+
1444
+ # What happened between two consecutive syncs: the resource appeared, a stored
1445
+ # field changed, or the resource disappeared upstream.
1446
+ #
1447
+ # Spec schema: `ResourceChangeKind`.
1448
+ type resource_change_kind = "created" | "updated" | "deleted"
1449
+
1450
+ # Spec schema: `ResourceChangeListResponse`.
1451
+ type resource_change_list_response = { "entries" => Array[resource_change_entry] }
1452
+
1425
1453
  # Spec schema: `ResourceDetail`.
1426
1454
  type resource_detail = {
1427
1455
  "detailSchema" => json_object & untyped,
@@ -1462,6 +1490,9 @@ module Infrawrench
1462
1490
  "supportsMetrics" => bool
1463
1491
  }
1464
1492
 
1493
+ # Spec schema: `ResourceFieldChange`.
1494
+ type resource_field_change = { "field" => String, ?"from" => untyped, ?"to" => untyped }
1495
+
1465
1496
  # Composite id `pluginId:accountId:externalId`.
1466
1497
  #
1467
1498
  # Spec schema: `ResourceId`.
@@ -2246,6 +2277,24 @@ module Infrawrench
2246
2277
  # Spec schema: `ValidateTabsResponse`.
2247
2278
  type validate_tabs_response = { "validTabIds" => Array[String] }
2248
2279
 
2280
+ # Spec schema: `WorkflowApproval`.
2281
+ type workflow_approval = {
2282
+ "id" => String,
2283
+ "workflowId" => String,
2284
+ "workflowName" => String | nil,
2285
+ "runId" => String,
2286
+ "title" => String,
2287
+ "message" => String,
2288
+ "status" => workflow_approval_status,
2289
+ "expiresAt" => String,
2290
+ "decidedAt" => String | nil,
2291
+ "decidedByName" => String | nil,
2292
+ "createdAt" => String
2293
+ }
2294
+
2295
+ # Spec schema: `WorkflowApprovalStatus`.
2296
+ type workflow_approval_status = "pending" | "approved" | "denied" | "expired"
2297
+
2249
2298
  # Spec schema: `WorkflowPinRequest`.
2250
2299
  type workflow_pin_request = { "dashboardId" => String, "workflowId" => String }
2251
2300
 
@@ -2350,6 +2399,12 @@ module Infrawrench
2350
2399
  def update: (id: String, body: budget_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> budget_full
2351
2400
  end
2352
2401
 
2402
+ class ChangesNamespace
2403
+ def initialize: (Transport) -> void
2404
+ 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
2405
+ def resource: (resource_id: String, ?org_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> resource_change_list_response
2406
+ end
2407
+
2353
2408
  class ConnectNamespace
2354
2409
  def initialize: (Transport) -> void
2355
2410
  def env_deploy: (body: connect_env_deploy_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
@@ -2670,6 +2725,13 @@ module Infrawrench
2670
2725
  def permissions: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> permission_catalog
2671
2726
  end
2672
2727
 
2728
+ class WorkflowApprovalsNamespace
2729
+ def initialize: (Transport) -> void
2730
+ def approve: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> workflow_approval
2731
+ def deny: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> workflow_approval
2732
+ def list: (?org_id: String?, ?status: workflow_approval_status?, ?workflow_id: String?, ?run_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[workflow_approval]
2733
+ end
2734
+
2673
2735
  class APIV1Client
2674
2736
  attr_reader transport: Transport
2675
2737
  attr_reader accounts: AccountsNamespace
@@ -2682,6 +2744,7 @@ module Infrawrench
2682
2744
  attr_reader bastions: BastionsNamespace
2683
2745
  attr_reader billing: BillingNamespace
2684
2746
  attr_reader budgets: BudgetsNamespace
2747
+ attr_reader changes: ChangesNamespace
2685
2748
  attr_reader connect: ConnectNamespace
2686
2749
  attr_reader costs: CostsNamespace
2687
2750
  attr_reader custom_graphs: CustomGraphsNamespace
@@ -2705,6 +2768,7 @@ module Infrawrench
2705
2768
  attr_reader ssh_tunnels: SshTunnelsNamespace
2706
2769
  attr_reader storage: StorageNamespace
2707
2770
  attr_reader team: TeamNamespace
2771
+ attr_reader workflow_approvals: WorkflowApprovalsNamespace
2708
2772
  def initialize: (**untyped) -> void
2709
2773
  end
2710
2774
  end
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: 0.20.0
4
+ version: 0.22.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-07-31 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v0.20.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v0.22.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 (v0.20.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v0.22.0).
62
62
  test_files: []