infrawrench-sdk 1.15.0 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/infrawrench-sdk.gemspec +4 -4
- data/lib/infrawrench/client.rb +172 -2
- data/lib/infrawrench/sdk.rb +2 -2
- data/lib/infrawrench/transport.rb +2 -2
- data/lib/infrawrench/version.rb +3 -3
- data/lib/infrawrench-sdk.rb +2 -2
- data/sig/infrawrench/sdk.rbs +140 -2
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ed2bbb041647f781da0b26a0d376c2cedcf6a4904aa085405ee8c7bd5d477de9
|
|
4
|
+
data.tar.gz: fc6adc2c9b7edd3188848c118b52f322ce2e54bd1d613fc927cc718401759df8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cfa7d9ba7d12d044aca5221751c60b316d4ac51133f6c17967417deaea411f688dafbce45af8c18836fd421cf9f1469b1972eb068c5fb085501efb3f7d14ff62
|
|
7
|
+
data.tar.gz: 1eb649eb2e24e58172ec86e6b84a4d90c2c8739bb7d01804defc426845bc566261a69f241f9b6af1cc7db1ea4ee888274ff2415a645c50efcc441d068962cc9d
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# infrawrench-sdk
|
|
2
2
|
|
|
3
|
-
Generated Ruby client for the Infrawrench API (API version `1.
|
|
3
|
+
Generated Ruby client for the Infrawrench API (API version `1.16.0`).
|
|
4
4
|
|
|
5
5
|
**Do not edit this gem by hand** — it is regenerated from `openapi.json` and is
|
|
6
6
|
not checked into the repository. Run
|
|
@@ -41,7 +41,7 @@ Every method takes an optional trailing `request_options:` hash (`:headers`,
|
|
|
41
41
|
Responses are the plain `Hash`/`Array` that `JSON.parse` returns, with String
|
|
42
42
|
keys spelled exactly as the wire spells them. There are no model classes — see
|
|
43
43
|
[`sig/infrawrench/sdk.rbs`](./sig/infrawrench/sdk.rbs) for the shape of every one of the
|
|
44
|
-
|
|
44
|
+
596 schemas, as RBS type aliases that steep and TypeProf can read.
|
|
45
45
|
|
|
46
46
|
Non-2xx responses raise `Infrawrench::ApiError`, which carries `#status`,
|
|
47
47
|
the parsed `#body`, and the machine-readable `#code` when the API sends one —
|
data/infrawrench-sdk.gemspec
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.16.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.16.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -17,8 +17,8 @@ require_relative "lib/infrawrench/version"
|
|
|
17
17
|
Gem::Specification.new do |spec|
|
|
18
18
|
spec.name = "infrawrench-sdk"
|
|
19
19
|
spec.version = Infrawrench::VERSION
|
|
20
|
-
spec.summary = "Generated Ruby client for the Infrawrench API (v1.
|
|
21
|
-
spec.description = "Generated Ruby client for the Infrawrench API (v1.
|
|
20
|
+
spec.summary = "Generated Ruby client for the Infrawrench API (v1.16.0)."
|
|
21
|
+
spec.description = "Generated Ruby client for the Infrawrench API (v1.16.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
|
|
22
22
|
spec.authors = ["Infrawrench LLC", "Astrid Gealer"]
|
|
23
23
|
spec.email = ["astrid@infrawrench.com"]
|
|
24
24
|
spec.homepage = "https://infrawrench.com/docs/team-and-billing/client-sdks"
|
data/lib/infrawrench/client.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.16.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.16.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -246,6 +246,173 @@ module Infrawrench
|
|
|
246
246
|
end
|
|
247
247
|
end
|
|
248
248
|
|
|
249
|
+
# `client.access_review.dismissals`
|
|
250
|
+
class AccessReviewDismissalsNamespace
|
|
251
|
+
# @api private
|
|
252
|
+
# @param transport [Transport]
|
|
253
|
+
def initialize(transport)
|
|
254
|
+
@transport = transport
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
# Dismiss an access review finding
|
|
258
|
+
#
|
|
259
|
+
# Accept a finding — that break-glass role really is meant to be admin, that
|
|
260
|
+
# shared key really is rotated out of band. The finding leaves `findings`
|
|
261
|
+
# and stops feeding the security alerts, but the rule keeps being evaluated
|
|
262
|
+
# and the finding is reported back under `dismissed` for as long as it still
|
|
263
|
+
# matches. The principal itself stays in `principals` either way.
|
|
264
|
+
# Idempotent: dismissing an already-dismissed finding rewrites the note and
|
|
265
|
+
# the author.
|
|
266
|
+
#
|
|
267
|
+
# _Requires permission: `resources:write`._
|
|
268
|
+
#
|
|
269
|
+
# POST /api/org/{orgId}/access-review/dismissals
|
|
270
|
+
#
|
|
271
|
+
# Raises on 400: Bad request
|
|
272
|
+
#
|
|
273
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
274
|
+
# constructed with.
|
|
275
|
+
# @param body [Hash, nil] Request body, shaped as `AccessReviewDismissalCreate`.
|
|
276
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
277
|
+
# @return [Hash] Parsed JSON, shaped as `AccessReviewDismissal` — see
|
|
278
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
279
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
280
|
+
def create(org_id: nil, body: nil, request_options: nil)
|
|
281
|
+
@transport.request(
|
|
282
|
+
http_method: "POST",
|
|
283
|
+
path: "/api/org/{orgId}/access-review/dismissals",
|
|
284
|
+
path_params: { "orgId" => org_id },
|
|
285
|
+
body: body,
|
|
286
|
+
request_options: request_options
|
|
287
|
+
)
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
# Restore a dismissed access review finding
|
|
291
|
+
#
|
|
292
|
+
# Undo a dismissal, putting the finding back on the list and back into the
|
|
293
|
+
# security alerts. The finding is identified by query parameters rather than
|
|
294
|
+
# path segments because resource ids are provider-native and routinely
|
|
295
|
+
# contain slashes.
|
|
296
|
+
#
|
|
297
|
+
# _Requires permission: `resources:write`._
|
|
298
|
+
#
|
|
299
|
+
# DELETE /api/org/{orgId}/access-review/dismissals
|
|
300
|
+
#
|
|
301
|
+
# Raises on 400: Bad request
|
|
302
|
+
#
|
|
303
|
+
# Raises on 404: Not found
|
|
304
|
+
#
|
|
305
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
306
|
+
# constructed with.
|
|
307
|
+
# @param resource_id [String] Infrawrench resource id the finding is on.
|
|
308
|
+
# @param rule_id [String] Which rule was raised. Half of a dismissal's key, alongside the
|
|
309
|
+
# resource id. The `access-review:` prefix is reserved so these can share the posture
|
|
310
|
+
# dismissal store without colliding with plugin-declared posture rule ids.
|
|
311
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
312
|
+
# @return [nil] This endpoint returns no content.
|
|
313
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
314
|
+
def delete(resource_id:, rule_id:, org_id: nil, request_options: nil)
|
|
315
|
+
@transport.request(
|
|
316
|
+
http_method: "DELETE",
|
|
317
|
+
path: "/api/org/{orgId}/access-review/dismissals",
|
|
318
|
+
path_params: { "orgId" => org_id },
|
|
319
|
+
query: { "resourceId" => resource_id, "ruleId" => rule_id },
|
|
320
|
+
accept: :empty,
|
|
321
|
+
request_options: request_options
|
|
322
|
+
)
|
|
323
|
+
end
|
|
324
|
+
end
|
|
325
|
+
|
|
326
|
+
# `client.access_review`
|
|
327
|
+
class AccessReviewNamespace
|
|
328
|
+
# @return [AccessReviewDismissalsNamespace] `client.access_review.dismissals`
|
|
329
|
+
attr_reader :dismissals
|
|
330
|
+
|
|
331
|
+
# @api private
|
|
332
|
+
# @param transport [Transport]
|
|
333
|
+
def initialize(transport)
|
|
334
|
+
@transport = transport
|
|
335
|
+
@dismissals = AccessReviewDismissalsNamespace.new(@transport)
|
|
336
|
+
end
|
|
337
|
+
|
|
338
|
+
# Export the access review as compliance evidence
|
|
339
|
+
#
|
|
340
|
+
# The same review as a downloadable file, one row per finding. `format=csv`
|
|
341
|
+
# (the default) returns RFC 4180 CSV with every cell quoted and spreadsheet
|
|
342
|
+
# formulas neutralised; `format=json` returns the full response body
|
|
343
|
+
# pretty-printed.
|
|
344
|
+
#
|
|
345
|
+
# Dismissed findings are included and labelled in both formats, with the
|
|
346
|
+
# note and the person who accepted them: an evidence pack answers what you
|
|
347
|
+
# found *and* what you decided. Exports are recorded in the audit log.
|
|
348
|
+
#
|
|
349
|
+
# _Requires permission: `resources:read`._
|
|
350
|
+
#
|
|
351
|
+
# GET /api/org/{orgId}/access-review/export
|
|
352
|
+
#
|
|
353
|
+
# Raises on 400: Bad request
|
|
354
|
+
#
|
|
355
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
356
|
+
# constructed with.
|
|
357
|
+
# @param format [String, nil] Defaults to "csv".
|
|
358
|
+
# @param stale_days [Integer, nil] Staleness window in days. Defaults to 90.
|
|
359
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
360
|
+
# @return [Hash] Parsed JSON, shaped as `AccessReviewResponse` — see
|
|
361
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
362
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
363
|
+
def export(org_id: nil, format: nil, stale_days: nil, request_options: nil)
|
|
364
|
+
@transport.request(
|
|
365
|
+
http_method: "GET",
|
|
366
|
+
path: "/api/org/{orgId}/access-review/export",
|
|
367
|
+
path_params: { "orgId" => org_id },
|
|
368
|
+
query: { "format" => format, "staleDays" => stale_days },
|
|
369
|
+
request_options: request_options
|
|
370
|
+
)
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
# Review the principals inside your connected clouds
|
|
374
|
+
#
|
|
375
|
+
# Every IAM user and role, service account, app registration, group, role
|
|
376
|
+
# binding and long-lived API key your connected accounts have synced, with
|
|
377
|
+
# the findings that have evidence against them: unused beyond the staleness
|
|
378
|
+
# window, holding administrative or wildcard permissions, past the rotation
|
|
379
|
+
# budget their plugin declares, carrying no recorded owner, or signing in
|
|
380
|
+
# without a second factor.
|
|
381
|
+
#
|
|
382
|
+
# This is about principals in **your** clouds — it is neither your
|
|
383
|
+
# Infrawrench team's roles (`/team`) nor the credentials Infrawrench stores
|
|
384
|
+
# for you (`/credential-hygiene`).
|
|
385
|
+
#
|
|
386
|
+
# No provider API calls are made: everything is computed from already-synced
|
|
387
|
+
# fields, so a principal whose provider does not report last use is reported
|
|
388
|
+
# with `activity: "unknown"` and is never called stale. Findings the
|
|
389
|
+
# organization has dismissed are reported separately under `dismissed` and
|
|
390
|
+
# are excluded from `findings`, `counts`, `byRule` and the security alerts.
|
|
391
|
+
#
|
|
392
|
+
# _Requires permission: `resources:read`._
|
|
393
|
+
#
|
|
394
|
+
# GET /api/org/{orgId}/access-review
|
|
395
|
+
#
|
|
396
|
+
# Raises on 400: Bad request
|
|
397
|
+
#
|
|
398
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
399
|
+
# constructed with.
|
|
400
|
+
# @param stale_days [Integer, nil] Staleness window in days. Defaults to 90.
|
|
401
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
402
|
+
# @return [Hash] Parsed JSON, shaped as `AccessReviewResponse` — see
|
|
403
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
404
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
405
|
+
def get(org_id: nil, stale_days: nil, request_options: nil)
|
|
406
|
+
@transport.request(
|
|
407
|
+
http_method: "GET",
|
|
408
|
+
path: "/api/org/{orgId}/access-review",
|
|
409
|
+
path_params: { "orgId" => org_id },
|
|
410
|
+
query: { "staleDays" => stale_days },
|
|
411
|
+
request_options: request_options
|
|
412
|
+
)
|
|
413
|
+
end
|
|
414
|
+
end
|
|
415
|
+
|
|
249
416
|
# `client.accounts.credentials`
|
|
250
417
|
class AccountsCredentialsNamespace
|
|
251
418
|
# @api private
|
|
@@ -13552,6 +13719,8 @@ module Infrawrench
|
|
|
13552
13719
|
attr_reader :transport
|
|
13553
13720
|
# @return [AccessRequestsNamespace] `client.access_requests`
|
|
13554
13721
|
attr_reader :access_requests
|
|
13722
|
+
# @return [AccessReviewNamespace] `client.access_review`
|
|
13723
|
+
attr_reader :access_review
|
|
13555
13724
|
# @return [AccountsNamespace] `client.accounts`
|
|
13556
13725
|
attr_reader :accounts
|
|
13557
13726
|
# @return [AgentsNamespace] `client.agents`
|
|
@@ -13723,6 +13892,7 @@ module Infrawrench
|
|
|
13723
13892
|
def initialize(**options)
|
|
13724
13893
|
@transport = Transport.new(**options)
|
|
13725
13894
|
@access_requests = AccessRequestsNamespace.new(@transport)
|
|
13895
|
+
@access_review = AccessReviewNamespace.new(@transport)
|
|
13726
13896
|
@accounts = AccountsNamespace.new(@transport)
|
|
13727
13897
|
@agents = AgentsNamespace.new(@transport)
|
|
13728
13898
|
@alert_rules = AlertRulesNamespace.new(@transport)
|
data/lib/infrawrench/sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.16.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.16.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.16.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.16.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
data/lib/infrawrench/version.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.16.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.16.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
# Kept in its own file so the gemspec can read the version without loading the
|
|
16
16
|
# client — a gemspec that pulls in net/http is a gemspec that can fail to parse.
|
|
17
17
|
module Infrawrench
|
|
18
|
-
VERSION = "1.
|
|
18
|
+
VERSION = "1.16.0"
|
|
19
19
|
end
|
data/lib/infrawrench-sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.16.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.16.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
data/sig/infrawrench/sdk.rbs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# infrawrench-sdk v1.
|
|
1
|
+
# infrawrench-sdk v1.16.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
2
2
|
# https://github.com/Infrawrench/Infrawrench
|
|
3
3
|
#
|
|
4
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
4
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.16.0).
|
|
5
5
|
#
|
|
6
6
|
# DO NOT EDIT. Regenerate with:
|
|
7
7
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -104,6 +104,57 @@ module Infrawrench
|
|
|
104
104
|
?"missing" => Array[String]
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
+
# Spec schema: `AccessFinding`.
|
|
108
|
+
type access_finding = {
|
|
109
|
+
"resourceId" => String,
|
|
110
|
+
"ruleId" => "access-review:stale-principal"
|
|
111
|
+
| "access-review:admin-principal"
|
|
112
|
+
| "access-review:key-past-rotation"
|
|
113
|
+
| "access-review:no-recorded-owner"
|
|
114
|
+
| "access-review:no-mfa",
|
|
115
|
+
"title" => String,
|
|
116
|
+
"severity" => "critical" | "high" | "medium" | "low",
|
|
117
|
+
"reason" => String,
|
|
118
|
+
"principal" => access_principal
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
# Spec schema: `AccessPrincipal`.
|
|
122
|
+
type access_principal = {
|
|
123
|
+
"resourceId" => String,
|
|
124
|
+
"pluginId" => plugin_id,
|
|
125
|
+
"pluginName" => String,
|
|
126
|
+
"resourceTypeId" => String,
|
|
127
|
+
"resourceTypeName" => String,
|
|
128
|
+
"accountId" => String,
|
|
129
|
+
"accountName" => String,
|
|
130
|
+
"displayName" => String,
|
|
131
|
+
"externalId" => String | nil,
|
|
132
|
+
"role" => "user" | "group" | "role" | "service-account" | "key" | "binding",
|
|
133
|
+
"lastUsedAt" => String | nil,
|
|
134
|
+
"daysSinceLastUsed" => Integer | nil,
|
|
135
|
+
"activity" => "active" | "stale" | "unknown",
|
|
136
|
+
"createdAt" => String | nil,
|
|
137
|
+
"ageDays" => Integer | nil,
|
|
138
|
+
"admin" => bool | nil,
|
|
139
|
+
"mfa" => bool | nil,
|
|
140
|
+
"parent" => String | nil,
|
|
141
|
+
"owner" => access_principal_owner,
|
|
142
|
+
"revokeActionId" => String | nil
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
# Who owns the resource, from the resource-ownership record. Null when nobody
|
|
146
|
+
# is named.
|
|
147
|
+
#
|
|
148
|
+
# Spec schema: `AccessPrincipalOwner`.
|
|
149
|
+
type access_principal_owner = {
|
|
150
|
+
"userId" => String | nil,
|
|
151
|
+
"displayName" => String,
|
|
152
|
+
"isLabel" => bool,
|
|
153
|
+
"ticketUrl" => String | nil,
|
|
154
|
+
"purpose" => String | nil
|
|
155
|
+
}
|
|
156
|
+
| nil
|
|
157
|
+
|
|
107
158
|
# Spec schema: `AccessRequest`.
|
|
108
159
|
type access_request = {
|
|
109
160
|
"id" => String,
|
|
@@ -137,6 +188,63 @@ module Infrawrench
|
|
|
137
188
|
# Spec schema: `AccessRequestCreate`.
|
|
138
189
|
type access_request_create = { "permissions" => Array[String], "reason" => String, "durationMinutes" => Integer }
|
|
139
190
|
|
|
191
|
+
# Spec schema: `AccessReviewDismissal`.
|
|
192
|
+
type access_review_dismissal = {
|
|
193
|
+
"resourceId" => String,
|
|
194
|
+
"ruleId" => String,
|
|
195
|
+
"dismissedAt" => String,
|
|
196
|
+
"dismissedBy" => String | nil,
|
|
197
|
+
"reason" => String | nil
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
# Spec schema: `AccessReviewDismissalCreate`.
|
|
201
|
+
type access_review_dismissal_create = {
|
|
202
|
+
"resourceId" => String,
|
|
203
|
+
"ruleId" => "access-review:stale-principal"
|
|
204
|
+
| "access-review:admin-principal"
|
|
205
|
+
| "access-review:key-past-rotation"
|
|
206
|
+
| "access-review:no-recorded-owner"
|
|
207
|
+
| "access-review:no-mfa",
|
|
208
|
+
?"reason" => String | nil
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
# Spec schema: `AccessReviewResponse`.
|
|
212
|
+
type access_review_response = {
|
|
213
|
+
"principals" => Array[access_principal],
|
|
214
|
+
"findings" => Array[access_finding],
|
|
215
|
+
"totalCount" => Integer,
|
|
216
|
+
"counts" => access_review_severity_counts,
|
|
217
|
+
"byRule" => access_review_rule_counts,
|
|
218
|
+
"byRole" => access_review_role_counts,
|
|
219
|
+
"dismissed" => Array[dismissed_access_finding],
|
|
220
|
+
"dismissedCount" => Integer,
|
|
221
|
+
"unknownActivityCount" => Integer,
|
|
222
|
+
"staleDays" => Integer,
|
|
223
|
+
"generatedAt" => String
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
# Spec schema: `AccessReviewRoleCounts`.
|
|
227
|
+
type access_review_role_counts = {
|
|
228
|
+
"user" => Integer,
|
|
229
|
+
"group" => Integer,
|
|
230
|
+
"role" => Integer,
|
|
231
|
+
"service-account" => Integer,
|
|
232
|
+
"key" => Integer,
|
|
233
|
+
"binding" => Integer
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
# Spec schema: `AccessReviewRuleCounts`.
|
|
237
|
+
type access_review_rule_counts = {
|
|
238
|
+
"access-review:stale-principal" => Integer,
|
|
239
|
+
"access-review:admin-principal" => Integer,
|
|
240
|
+
"access-review:key-past-rotation" => Integer,
|
|
241
|
+
"access-review:no-recorded-owner" => Integer,
|
|
242
|
+
"access-review:no-mfa" => Integer
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
# Spec schema: `AccessReviewSeverityCounts`.
|
|
246
|
+
type access_review_severity_counts = { "critical" => Integer, "high" => Integer, "medium" => Integer, "low" => Integer }
|
|
247
|
+
|
|
140
248
|
# Spec schema: `AccessRevokeConflict`.
|
|
141
249
|
type access_revoke_conflict = { "error" => String }
|
|
142
250
|
|
|
@@ -2178,6 +2286,21 @@ module Infrawrench
|
|
|
2178
2286
|
# Spec schema: `DigestTransportResult`.
|
|
2179
2287
|
type digest_transport_result = { "attempted" => Integer, "succeeded" => Integer }
|
|
2180
2288
|
|
|
2289
|
+
# Spec schema: `DismissedAccessFinding`.
|
|
2290
|
+
type dismissed_access_finding = {
|
|
2291
|
+
"resourceId" => String,
|
|
2292
|
+
"ruleId" => "access-review:stale-principal"
|
|
2293
|
+
| "access-review:admin-principal"
|
|
2294
|
+
| "access-review:key-past-rotation"
|
|
2295
|
+
| "access-review:no-recorded-owner"
|
|
2296
|
+
| "access-review:no-mfa",
|
|
2297
|
+
"title" => String,
|
|
2298
|
+
"severity" => "critical" | "high" | "medium" | "low",
|
|
2299
|
+
"reason" => String,
|
|
2300
|
+
"principal" => access_principal,
|
|
2301
|
+
"dismissal" => access_review_dismissal
|
|
2302
|
+
}
|
|
2303
|
+
|
|
2181
2304
|
# Spec schema: `DismissedPostureFinding`.
|
|
2182
2305
|
type dismissed_posture_finding = {
|
|
2183
2306
|
"resourceId" => String,
|
|
@@ -5792,6 +5915,7 @@ module Infrawrench
|
|
|
5792
5915
|
| "changes"
|
|
5793
5916
|
| "expiring"
|
|
5794
5917
|
| "posture"
|
|
5918
|
+
| "access-review"
|
|
5795
5919
|
| "dns"
|
|
5796
5920
|
| "environment-diff"
|
|
5797
5921
|
| "ssh-fanout"
|
|
@@ -6038,6 +6162,19 @@ module Infrawrench
|
|
|
6038
6162
|
def withdraw: (request_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
|
|
6039
6163
|
end
|
|
6040
6164
|
|
|
6165
|
+
class AccessReviewDismissalsNamespace
|
|
6166
|
+
def initialize: (Transport) -> void
|
|
6167
|
+
def create: (?org_id: String?, ?body: access_review_dismissal_create?, ?request_options: Hash[Symbol, untyped]?) -> access_review_dismissal
|
|
6168
|
+
def delete: (resource_id: String, rule_id: "access-review:stale-principal" | "access-review:admin-principal" | "access-review:key-past-rotation" | "access-review:no-recorded-owner" | "access-review:no-mfa", ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
|
|
6169
|
+
end
|
|
6170
|
+
|
|
6171
|
+
class AccessReviewNamespace
|
|
6172
|
+
attr_reader dismissals: AccessReviewDismissalsNamespace
|
|
6173
|
+
def initialize: (Transport) -> void
|
|
6174
|
+
def export: (?org_id: String?, ?format: "csv" | "json"?, ?stale_days: Integer?, ?request_options: Hash[Symbol, untyped]?) -> access_review_response
|
|
6175
|
+
def get: (?org_id: String?, ?stale_days: Integer?, ?request_options: Hash[Symbol, untyped]?) -> access_review_response
|
|
6176
|
+
end
|
|
6177
|
+
|
|
6041
6178
|
class AccountsCredentialsNamespace
|
|
6042
6179
|
def initialize: (Transport) -> void
|
|
6043
6180
|
def get: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Hash[String, String]
|
|
@@ -7049,6 +7186,7 @@ module Infrawrench
|
|
|
7049
7186
|
class APIV1Client
|
|
7050
7187
|
attr_reader transport: Transport
|
|
7051
7188
|
attr_reader access_requests: AccessRequestsNamespace
|
|
7189
|
+
attr_reader access_review: AccessReviewNamespace
|
|
7052
7190
|
attr_reader accounts: AccountsNamespace
|
|
7053
7191
|
attr_reader agents: AgentsNamespace
|
|
7054
7192
|
attr_reader alert_rules: AlertRulesNamespace
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: infrawrench-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.16.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.
|
|
14
|
+
description: Generated Ruby client for the Infrawrench API (v1.16.0). Covers the published
|
|
15
15
|
API surface only — operations marked x-internal in the spec are not generated. No
|
|
16
16
|
runtime dependencies.
|
|
17
17
|
email:
|
|
@@ -58,5 +58,5 @@ requirements: []
|
|
|
58
58
|
rubygems_version: 3.5.22
|
|
59
59
|
signing_key:
|
|
60
60
|
specification_version: 4
|
|
61
|
-
summary: Generated Ruby client for the Infrawrench API (v1.
|
|
61
|
+
summary: Generated Ruby client for the Infrawrench API (v1.16.0).
|
|
62
62
|
test_files: []
|