infrawrench-sdk 0.21.0 → 0.23.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: eb80de89d191177fb33592a005ee0797a350546085193711921f9d6256f323c1
4
- data.tar.gz: f30aecb0d29c23f341a860fba9e46cb6c67b58a860e88df1e029a05837a95e55
3
+ metadata.gz: '08dda7ce89a7fe2f3fa7ac4a5148730d4213ee49bd79d2cd0263e24680353414'
4
+ data.tar.gz: 86b775f9ff8eb7de1ee019f6f3b91d4667a0c7fd6f64a820c6f98539fe6edbf8
5
5
  SHA512:
6
- metadata.gz: 22ada180851878d88c1f711bbf68359279f2d5819399cb4b19e784a73b96b325a6e26cdf502265edaf4acd2e412c154c724dcdd838eaf177d2135dc53abc14bb
7
- data.tar.gz: b10a4a2db6c35b6cd423d6bddc5fedfa451cbf12a9f3ce7ceaaf5b53d446e485d6a38cac1649c2127adf302142817ae8307e05b5423370974039b4a2916e39d1
6
+ metadata.gz: 67428f17d99e56a2af1abb36caf76be890238f3ad7a0dd5753af50b07620f4e1095b6014cc3d55da29733283a0024d5748a1d360e311e41085945cfca806601e
7
+ data.tar.gz: 7ef24085616046855a2efe885f313dc5959da6ad0fbba75fb7887c29a26e050e881320b9f144de3c2155291d9b7a2aac67c2f03cc5e9f19cf015ee9dad8a92b2
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.21.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `0.23.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
- 232 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 242 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.21.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.23.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.21.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.23.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.21.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v0.21.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.23.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v0.23.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.21.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.23.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.21.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.23.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1112,6 +1112,257 @@ module Infrawrench
1112
1112
  end
1113
1113
  end
1114
1114
 
1115
+ # `client.change_freezes`
1116
+ class ChangeFreezesNamespace
1117
+ # @api private
1118
+ # @param transport [Transport]
1119
+ def initialize(transport)
1120
+ @transport = transport
1121
+ end
1122
+
1123
+ # Declare a change freeze window
1124
+ #
1125
+ # While the freeze is in effect, destructive actions (resource deletion,
1126
+ # destructive plugin actions, secret-version destroys, deployment rollbacks)
1127
+ # return `423` unless explicitly overridden by a caller with
1128
+ # `freezes:override`.
1129
+ #
1130
+ # _Requires permission: `freezes:write`._
1131
+ #
1132
+ # POST /api/org/{orgId}/change-freezes
1133
+ #
1134
+ # Raises on 400: Bad request
1135
+ #
1136
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1137
+ # constructed with.
1138
+ # @param body [Hash] Request body, shaped as `ChangeFreezeInput`.
1139
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1140
+ # @return [Hash] Parsed JSON, shaped as `ChangeFreeze` — see `sig/infrawrench/sdk.rbs`.
1141
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1142
+ def create(body:, org_id: nil, request_options: nil)
1143
+ @transport.request(
1144
+ http_method: "POST",
1145
+ path: "/api/org/{orgId}/change-freezes",
1146
+ path_params: { "orgId" => org_id },
1147
+ body: body,
1148
+ request_options: request_options
1149
+ )
1150
+ end
1151
+
1152
+ # Delete a change freeze window
1153
+ #
1154
+ # _Requires permission: `freezes:write`._
1155
+ #
1156
+ # DELETE /api/org/{orgId}/change-freezes/{id}
1157
+ #
1158
+ # Raises on 404: Not found
1159
+ #
1160
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1161
+ # constructed with.
1162
+ # @param id [String]
1163
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1164
+ # @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
1165
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1166
+ def delete(id:, org_id: nil, request_options: nil)
1167
+ @transport.request(
1168
+ http_method: "DELETE",
1169
+ path: "/api/org/{orgId}/change-freezes/{id}",
1170
+ path_params: { "orgId" => org_id, "id" => id },
1171
+ request_options: request_options
1172
+ )
1173
+ end
1174
+
1175
+ # End a change freeze now
1176
+ #
1177
+ # _Requires permission: `freezes:write`._
1178
+ #
1179
+ # POST /api/org/{orgId}/change-freezes/{id}/end
1180
+ #
1181
+ # Raises on 404: Not found
1182
+ #
1183
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1184
+ # constructed with.
1185
+ # @param id [String]
1186
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1187
+ # @return [Hash] Parsed JSON, shaped as `ChangeFreeze` — see `sig/infrawrench/sdk.rbs`.
1188
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1189
+ def post_org_org_id_change_freezes_id_end(id:, org_id: nil, request_options: nil)
1190
+ @transport.request(
1191
+ http_method: "POST",
1192
+ path: "/api/org/{orgId}/change-freezes/{id}/end",
1193
+ path_params: { "orgId" => org_id, "id" => id },
1194
+ request_options: request_options
1195
+ )
1196
+ end
1197
+
1198
+ # List change freeze windows, newest first
1199
+ #
1200
+ # _Requires permission: `freezes:read`._
1201
+ #
1202
+ # GET /api/org/{orgId}/change-freezes
1203
+ #
1204
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1205
+ # constructed with.
1206
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1207
+ # @return [Array<Hash>] Parsed JSON, shaped as `Array<ChangeFreeze>` — see
1208
+ # `sig/infrawrench/sdk.rbs`.
1209
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1210
+ def list(org_id: nil, request_options: nil)
1211
+ @transport.request(
1212
+ http_method: "GET",
1213
+ path: "/api/org/{orgId}/change-freezes",
1214
+ path_params: { "orgId" => org_id },
1215
+ request_options: request_options
1216
+ )
1217
+ end
1218
+
1219
+ # The freeze currently in effect, if any
1220
+ #
1221
+ # Returns the active freeze window (active, started, not yet past its end
1222
+ # time) or `freeze: null`. Clients poll this to show the freeze banner and
1223
+ # pre-warn before destructive actions.
1224
+ #
1225
+ # _Requires permission: `freezes:read`._
1226
+ #
1227
+ # GET /api/org/{orgId}/change-freezes/status
1228
+ #
1229
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1230
+ # constructed with.
1231
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1232
+ # @return [Hash] Parsed JSON, shaped as `ChangeFreezeStatus` — see
1233
+ # `sig/infrawrench/sdk.rbs`.
1234
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1235
+ def status(org_id: nil, request_options: nil)
1236
+ @transport.request(
1237
+ http_method: "GET",
1238
+ path: "/api/org/{orgId}/change-freezes/status",
1239
+ path_params: { "orgId" => org_id },
1240
+ request_options: request_options
1241
+ )
1242
+ end
1243
+
1244
+ # Update a change freeze window
1245
+ #
1246
+ # _Requires permission: `freezes:write`._
1247
+ #
1248
+ # PUT /api/org/{orgId}/change-freezes/{id}
1249
+ #
1250
+ # Raises on 400: Bad request
1251
+ #
1252
+ # Raises on 404: Not found
1253
+ #
1254
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1255
+ # constructed with.
1256
+ # @param id [String]
1257
+ # @param body [Hash] Request body, shaped as `ChangeFreezeInput`.
1258
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1259
+ # @return [Hash] Parsed JSON, shaped as `ChangeFreeze` — see `sig/infrawrench/sdk.rbs`.
1260
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1261
+ def update(id:, body:, org_id: nil, request_options: nil)
1262
+ @transport.request(
1263
+ http_method: "PUT",
1264
+ path: "/api/org/{orgId}/change-freezes/{id}",
1265
+ path_params: { "orgId" => org_id, "id" => id },
1266
+ body: body,
1267
+ request_options: request_options
1268
+ )
1269
+ end
1270
+ end
1271
+
1272
+ # `client.changes`
1273
+ class ChangesNamespace
1274
+ # @api private
1275
+ # @param transport [Transport]
1276
+ def initialize(transport)
1277
+ @transport = transport
1278
+ end
1279
+
1280
+ # Org-wide change timeline (paginated, filterable)
1281
+ #
1282
+ # Change events recorded by the resource poller: each poll cycle diffs the
1283
+ # freshly fetched state against the stored snapshot and records resources
1284
+ # that appeared, changed a stored field, or disappeared upstream.
1285
+ # Cross-provider by construction — the diff runs on the generic stored
1286
+ # record, so every plugin's resources show up here.
1287
+ #
1288
+ # _Requires permission: `resources:read`._
1289
+ #
1290
+ # GET /api/org/{orgId}/changes
1291
+ #
1292
+ # Raises on 400: Bad request
1293
+ #
1294
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1295
+ # constructed with.
1296
+ # @param page [Integer, nil]
1297
+ # @param page_size [Integer, nil]
1298
+ # @param account_id [String, nil]
1299
+ # @param resource_id [String, nil]
1300
+ # @param kind [String, nil]
1301
+ # @param from [String, nil]
1302
+ # @param to [String, nil]
1303
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1304
+ # @return [Hash] Parsed JSON, shaped as `ResourceChangeFeedResponse` — see
1305
+ # `sig/infrawrench/sdk.rbs`.
1306
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1307
+ def get(
1308
+ org_id: nil,
1309
+ page: nil,
1310
+ page_size: nil,
1311
+ account_id: nil,
1312
+ resource_id: nil,
1313
+ kind: nil,
1314
+ from: nil,
1315
+ to: nil,
1316
+ request_options: nil
1317
+ )
1318
+ @transport.request(
1319
+ http_method: "GET",
1320
+ path: "/api/org/{orgId}/changes",
1321
+ path_params: { "orgId" => org_id },
1322
+ query: {
1323
+ "page" => page,
1324
+ "pageSize" => page_size,
1325
+ "accountId" => account_id,
1326
+ "resourceId" => resource_id,
1327
+ "kind" => kind,
1328
+ "from" => from,
1329
+ "to" => to
1330
+ },
1331
+ request_options: request_options
1332
+ )
1333
+ end
1334
+
1335
+ # Change timeline for one resource
1336
+ #
1337
+ # Recent change events for a single resource, newest first. The resource id
1338
+ # travels as a query parameter because composite ids contain slashes and
1339
+ # colons.
1340
+ #
1341
+ # _Requires permission: `resources:read`._
1342
+ #
1343
+ # GET /api/org/{orgId}/changes/resource
1344
+ #
1345
+ # Raises on 400: Bad request
1346
+ #
1347
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1348
+ # constructed with.
1349
+ # @param resource_id [String]
1350
+ # @param limit [Integer, nil]
1351
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1352
+ # @return [Hash] Parsed JSON, shaped as `ResourceChangeListResponse` — see
1353
+ # `sig/infrawrench/sdk.rbs`.
1354
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1355
+ def resource(resource_id:, org_id: nil, limit: nil, request_options: nil)
1356
+ @transport.request(
1357
+ http_method: "GET",
1358
+ path: "/api/org/{orgId}/changes/resource",
1359
+ path_params: { "orgId" => org_id },
1360
+ query: { "resourceId" => resource_id, "limit" => limit },
1361
+ request_options: request_options
1362
+ )
1363
+ end
1364
+ end
1365
+
1115
1366
  # `client.connect`
1116
1367
  class ConnectNamespace
1117
1368
  # @api private
@@ -2131,6 +2382,10 @@ module Infrawrench
2131
2382
  #
2132
2383
  # Raises on 409: Conflict
2133
2384
  #
2385
+ # Raises on 423: Blocked by an active change freeze. Retry with the
2386
+ # `x-change-freeze-override: true` header if you hold `freezes:override`;
2387
+ # both blocks and overrides are audit-logged.
2388
+ #
2134
2389
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
2135
2390
  # constructed with.
2136
2391
  # @param id [String]
@@ -3501,6 +3756,10 @@ module Infrawrench
3501
3756
  #
3502
3757
  # Raises on 404: Not found
3503
3758
  #
3759
+ # Raises on 423: Blocked by an active change freeze. Retry with the
3760
+ # `x-change-freeze-override: true` header if you hold `freezes:override`;
3761
+ # both blocks and overrides are audit-logged.
3762
+ #
3504
3763
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3505
3764
  # constructed with.
3506
3765
  # @param plugin_id [String]
@@ -3672,6 +3931,10 @@ module Infrawrench
3672
3931
  #
3673
3932
  # Raises on 404: Not found
3674
3933
  #
3934
+ # Raises on 423: Blocked by an active change freeze. Retry with the
3935
+ # `x-change-freeze-override: true` header if you hold `freezes:override`;
3936
+ # both blocks and overrides are audit-logged.
3937
+ #
3675
3938
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3676
3939
  # constructed with.
3677
3940
  # @param plugin_id [String]
@@ -3868,6 +4131,9 @@ module Infrawrench
3868
4131
 
3869
4132
  # Invoke a plugin-defined action on a resource
3870
4133
  #
4134
+ # Actions the plugin marks `destructive: true` in its detail schema are
4135
+ # blocked with `423` while an org change freeze is in effect.
4136
+ #
3871
4137
  # _Requires permission: `resources:write`._
3872
4138
  #
3873
4139
  # POST /api/org/{orgId}/resources/invoke-action
@@ -3876,6 +4142,10 @@ module Infrawrench
3876
4142
  #
3877
4143
  # Raises on 404: Not found
3878
4144
  #
4145
+ # Raises on 423: Blocked by an active change freeze. Retry with the
4146
+ # `x-change-freeze-override: true` header if you hold `freezes:override`;
4147
+ # both blocks and overrides are audit-logged.
4148
+ #
3879
4149
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3880
4150
  # constructed with.
3881
4151
  # @param body [Hash] Request body, shaped as `InvokeActionRequest`.
@@ -5393,6 +5663,10 @@ module Infrawrench
5393
5663
  attr_reader :billing
5394
5664
  # @return [BudgetsNamespace] `client.budgets`
5395
5665
  attr_reader :budgets
5666
+ # @return [ChangeFreezesNamespace] `client.change_freezes`
5667
+ attr_reader :change_freezes
5668
+ # @return [ChangesNamespace] `client.changes`
5669
+ attr_reader :changes
5396
5670
  # @return [ConnectNamespace] `client.connect`
5397
5671
  attr_reader :connect
5398
5672
  # @return [CostsNamespace] `client.costs`
@@ -5457,6 +5731,8 @@ module Infrawrench
5457
5731
  @bastions = BastionsNamespace.new(@transport)
5458
5732
  @billing = BillingNamespace.new(@transport)
5459
5733
  @budgets = BudgetsNamespace.new(@transport)
5734
+ @change_freezes = ChangeFreezesNamespace.new(@transport)
5735
+ @changes = ChangesNamespace.new(@transport)
5460
5736
  @connect = ConnectNamespace.new(@transport)
5461
5737
  @costs = CostsNamespace.new(@transport)
5462
5738
  @custom_graphs = CustomGraphsNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.21.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.23.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.21.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.23.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.21.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.23.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.21.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.23.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.21.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.23.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.21.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.23.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.21.0"
18
+ VERSION = "0.23.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.21.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.23.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.21.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.23.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.21.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v0.23.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.21.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.23.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -332,6 +332,39 @@ module Infrawrench
332
332
  "placements" => Array[{ "widgetId" => String, "dashboardId" => String, "dashboardName" => String }]
333
333
  }
334
334
 
335
+ # Spec schema: `ChangeFreeze`.
336
+ type change_freeze = {
337
+ "id" => String,
338
+ "name" => String,
339
+ "reason" => String | nil,
340
+ "startsAt" => String,
341
+ "endsAt" => String | nil,
342
+ "active" => bool,
343
+ "createdByUserId" => String | nil,
344
+ "endedByUserId" => String | nil,
345
+ "createdAt" => String,
346
+ "updatedAt" => String
347
+ }
348
+
349
+ # Spec schema: `ChangeFreezeBlocked`.
350
+ type change_freeze_blocked = {
351
+ "error" => String,
352
+ "code" => "change_freeze_active",
353
+ "freeze" => {
354
+ "id" => String,
355
+ "name" => String,
356
+ "reason" => String | nil,
357
+ "startsAt" => String,
358
+ "endsAt" => String | nil
359
+ }
360
+ }
361
+
362
+ # Spec schema: `ChangeFreezeInput`.
363
+ type change_freeze_input = { "name" => String, ?"reason" => String, ?"startsAt" => String, ?"endsAt" => String }
364
+
365
+ # Spec schema: `ChangeFreezeStatus`.
366
+ type change_freeze_status = { "freeze" => change_freeze & (Hash[String, untyped] | nil) }
367
+
335
368
  # Spec schema: `ChildResourceRef`.
336
369
  type child_resource_ref = {
337
370
  "id" => resource_id,
@@ -1205,6 +1238,9 @@ module Infrawrench
1205
1238
  | "costs:write"
1206
1239
  | "budgets:read"
1207
1240
  | "budgets:write"
1241
+ | "freezes:read"
1242
+ | "freezes:write"
1243
+ | "freezes:override"
1208
1244
  | "audit:read"
1209
1245
  | "team:read"
1210
1246
  | "team:invite"
@@ -1422,6 +1458,34 @@ module Infrawrench
1422
1458
  "parentResourceId" => resource_id & (String | nil)
1423
1459
  }
1424
1460
 
1461
+ # Spec schema: `ResourceChangeEntry`.
1462
+ type resource_change_entry = {
1463
+ "id" => String,
1464
+ "resourceId" => resource_id,
1465
+ "accountId" => String,
1466
+ "pluginId" => String,
1467
+ "resourceTypeId" => String,
1468
+ "displayName" => String,
1469
+ "changeKind" => resource_change_kind,
1470
+ "diff" => Array[resource_field_change],
1471
+ "createdAt" => String
1472
+ }
1473
+
1474
+ # Spec schema: `ResourceChangeFeedEntry`.
1475
+ type resource_change_feed_entry = resource_change_entry & { "accountName" => String | nil }
1476
+
1477
+ # Spec schema: `ResourceChangeFeedResponse`.
1478
+ type resource_change_feed_response = { "entries" => Array[resource_change_feed_entry], "total" => Integer }
1479
+
1480
+ # What happened between two consecutive syncs: the resource appeared, a stored
1481
+ # field changed, or the resource disappeared upstream.
1482
+ #
1483
+ # Spec schema: `ResourceChangeKind`.
1484
+ type resource_change_kind = "created" | "updated" | "deleted"
1485
+
1486
+ # Spec schema: `ResourceChangeListResponse`.
1487
+ type resource_change_list_response = { "entries" => Array[resource_change_entry] }
1488
+
1425
1489
  # Spec schema: `ResourceDetail`.
1426
1490
  type resource_detail = {
1427
1491
  "detailSchema" => json_object & untyped,
@@ -1462,6 +1526,9 @@ module Infrawrench
1462
1526
  "supportsMetrics" => bool
1463
1527
  }
1464
1528
 
1529
+ # Spec schema: `ResourceFieldChange`.
1530
+ type resource_field_change = { "field" => String, ?"from" => untyped, ?"to" => untyped }
1531
+
1465
1532
  # Composite id `pluginId:accountId:externalId`.
1466
1533
  #
1467
1534
  # Spec schema: `ResourceId`.
@@ -2368,6 +2435,22 @@ module Infrawrench
2368
2435
  def update: (id: String, body: budget_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> budget_full
2369
2436
  end
2370
2437
 
2438
+ class ChangeFreezesNamespace
2439
+ def initialize: (Transport) -> void
2440
+ def create: (body: change_freeze_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> change_freeze
2441
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2442
+ def post_org_org_id_change_freezes_id_end: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> change_freeze
2443
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[change_freeze]
2444
+ def status: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> change_freeze_status
2445
+ def update: (id: String, body: change_freeze_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> change_freeze
2446
+ end
2447
+
2448
+ class ChangesNamespace
2449
+ def initialize: (Transport) -> void
2450
+ 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
2451
+ def resource: (resource_id: String, ?org_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> resource_change_list_response
2452
+ end
2453
+
2371
2454
  class ConnectNamespace
2372
2455
  def initialize: (Transport) -> void
2373
2456
  def env_deploy: (body: connect_env_deploy_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
@@ -2707,6 +2790,8 @@ module Infrawrench
2707
2790
  attr_reader bastions: BastionsNamespace
2708
2791
  attr_reader billing: BillingNamespace
2709
2792
  attr_reader budgets: BudgetsNamespace
2793
+ attr_reader change_freezes: ChangeFreezesNamespace
2794
+ attr_reader changes: ChangesNamespace
2710
2795
  attr_reader connect: ConnectNamespace
2711
2796
  attr_reader costs: CostsNamespace
2712
2797
  attr_reader custom_graphs: CustomGraphsNamespace
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.21.0
4
+ version: 0.23.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.21.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v0.23.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.21.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v0.23.0).
62
62
  test_files: []