infrawrench-sdk 0.17.0 → 0.19.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: 83cef33920e9375e8eabc8bab21901ce26c79c28e8fa9c49899b6793b5a65011
4
- data.tar.gz: 230d10e333a19ed65ec9a492858f7b555651d07c2dc52aa1fd96635b7ade8e1d
3
+ metadata.gz: e5f5de404146a05716e4cb66312ff2725ec257dd3685655d9dfa19590cd4c22d
4
+ data.tar.gz: fbd8dc2aae7a8eec84c860c2921557d29d3b8bb4d7d128e59903cc7c3f10f0b9
5
5
  SHA512:
6
- metadata.gz: dd717a9076b270846c4b5603402f10123b58551c22013b322d9678550b9ebd99725c296786aac00a973210ca6048e8af8122da223999b0f6f967c3fb53129e9c
7
- data.tar.gz: dc726139cd989efad3f892e7cb76e16a68ccc50550c241e63e4ca6c4e75fd66dc7f04a8a06e81bc60f7f108ca81f26922f4761fb154ee78d3ef856de9f7ea848
6
+ metadata.gz: 6deda93cc2ceb7b851ec2308e4be980c81e6123a17c3514a35f08e29db1f99c488381126f4a22bc7ae0a50f8bcac99e0dcac622d7391a8f7a15a82217ebc9b5d
7
+ data.tar.gz: 38d443af5341762208cb8e2cd22b794214efd513fe589183a05425ae3885d544acf24b01ec87c679105ad4cb3f7d48a37bfffd5fbf86d83a5b3a73798bc0d777
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.17.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `0.19.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
- 223 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 227 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.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.19.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.19.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.17.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v0.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 (v0.19.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v0.19.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.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.19.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.19.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -141,6 +141,9 @@ module Infrawrench
141
141
  #
142
142
  # Raises on 400: Bad request
143
143
  #
144
+ # Raises on 402: Payment required — the organization's plan does not include
145
+ # this
146
+ #
144
147
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
145
148
  # constructed with.
146
149
  # @param body [Hash] Request body, shaped as `CreateAccountRequest & Hash`.
@@ -2687,6 +2690,44 @@ module Infrawrench
2687
2690
  end
2688
2691
  end
2689
2692
 
2693
+ # `client.orphans`
2694
+ class OrphansNamespace
2695
+ # @api private
2696
+ # @param transport [Transport]
2697
+ def initialize(transport)
2698
+ @transport = transport
2699
+ end
2700
+
2701
+ # List likely-orphaned and idle resources
2702
+ #
2703
+ # Scans the organization's already-synced resources against each plugin's
2704
+ # declarative orphan heuristics — unattached volumes, unassigned
2705
+ # floating/elastic IPs, reserved-but-unused static IPs — and returns the
2706
+ # matches grouped by account, each with the plugin's reason. Purely a read
2707
+ # over stored state: no provider API calls are made, so results reflect the
2708
+ # last sync. Where the org's collected cost data has per-resource rows,
2709
+ # matches are annotated with trailing spend.
2710
+ #
2711
+ # _Requires permission: `resources:read`._
2712
+ #
2713
+ # GET /api/org/{orgId}/orphans
2714
+ #
2715
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
2716
+ # constructed with.
2717
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
2718
+ # @return [Hash] Parsed JSON, shaped as `OrphanListResponse` — see
2719
+ # `sig/infrawrench/sdk.rbs`.
2720
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
2721
+ def get(org_id: nil, request_options: nil)
2722
+ @transport.request(
2723
+ http_method: "GET",
2724
+ path: "/api/org/{orgId}/orphans",
2725
+ path_params: { "orgId" => org_id },
2726
+ request_options: request_options
2727
+ )
2728
+ end
2729
+ end
2730
+
2690
2731
  # `client.pages`
2691
2732
  class PagesNamespace
2692
2733
  # @api private
@@ -4840,6 +4881,9 @@ module Infrawrench
4840
4881
  #
4841
4882
  # POST /api/org/{orgId}/team/invitations
4842
4883
  #
4884
+ # Raises on 402: Payment required — the organization's plan does not include
4885
+ # this
4886
+ #
4843
4887
  # Raises on 409: All seats are in use; retry with addSeat to buy one more
4844
4888
  #
4845
4889
  # Raises on 502: Buying the extra seat failed; the invitation was not sent
@@ -5194,6 +5238,8 @@ module Infrawrench
5194
5238
  attr_reader :msteams
5195
5239
  # @return [OrgsNamespace] `client.orgs`
5196
5240
  attr_reader :orgs
5241
+ # @return [OrphansNamespace] `client.orphans`
5242
+ attr_reader :orphans
5197
5243
  # @return [PagesNamespace] `client.pages`
5198
5244
  attr_reader :pages
5199
5245
  # @return [ProfileNamespace] `client.profile`
@@ -5242,6 +5288,7 @@ module Infrawrench
5242
5288
  @kv = KvNamespace.new(@transport)
5243
5289
  @msteams = MsteamsNamespace.new(@transport)
5244
5290
  @orgs = OrgsNamespace.new(@transport)
5291
+ @orphans = OrphansNamespace.new(@transport)
5245
5292
  @pages = PagesNamespace.new(@transport)
5246
5293
  @profile = ProfileNamespace.new(@transport)
5247
5294
  @resources = ResourcesNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.19.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.19.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.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.19.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.19.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.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.19.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.19.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.17.0"
18
+ VERSION = "0.19.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.19.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.17.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.19.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.17.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v0.19.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.17.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.19.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1089,6 +1089,43 @@ module Infrawrench
1089
1089
  # Spec schema: `OrganizationRole`.
1090
1090
  type organization_role = "owner" | "admin" | "member"
1091
1091
 
1092
+ # Spec schema: `OrphanAccountGroup`.
1093
+ type orphan_account_group = {
1094
+ "accountId" => String,
1095
+ "accountName" => String,
1096
+ "pluginId" => plugin_id,
1097
+ "pluginName" => String,
1098
+ "resources" => Array[orphaned_resource]
1099
+ }
1100
+
1101
+ # Best-effort trailing spend matched from collected per-resource cost rows;
1102
+ # null when the provider reports no per-resource cost. The flag itself never
1103
+ # depends on billing data.
1104
+ #
1105
+ # Spec schema: `OrphanCostAnnotation`.
1106
+ type orphan_cost_annotation = { "amount" => Numeric, "currency" => String } | nil
1107
+
1108
+ # Spec schema: `OrphanListResponse`.
1109
+ type orphan_list_response = {
1110
+ "accounts" => Array[orphan_account_group],
1111
+ "totalCount" => Integer,
1112
+ "costWindowDays" => Integer,
1113
+ "generatedAt" => String
1114
+ }
1115
+
1116
+ # Spec schema: `OrphanedResource`.
1117
+ type orphaned_resource = {
1118
+ "id" => String,
1119
+ "pluginId" => plugin_id,
1120
+ "resourceTypeId" => String,
1121
+ "resourceTypeName" => String,
1122
+ "displayName" => String,
1123
+ "externalId" => String | nil,
1124
+ "reason" => String,
1125
+ "cost" => orphan_cost_annotation,
1126
+ "lastSyncedAt" => String | nil
1127
+ }
1128
+
1092
1129
  # Spec schema: `OwnershipBlocker`.
1093
1130
  type ownership_blocker = { "id" => String, "name" => String, "memberCount" => Integer }
1094
1131
 
@@ -2120,6 +2157,7 @@ module Infrawrench
2120
2157
  | "resource"
2121
2158
  | "agents"
2122
2159
  | "costs"
2160
+ | "savings"
2123
2161
  | "workflows"
2124
2162
  | "deployments"
2125
2163
  | "chat",
@@ -2422,6 +2460,11 @@ module Infrawrench
2422
2460
  def create: (body: create_org_request, ?request_options: Hash[Symbol, untyped]?) -> organization
2423
2461
  end
2424
2462
 
2463
+ class OrphansNamespace
2464
+ def initialize: (Transport) -> void
2465
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> orphan_list_response
2466
+ end
2467
+
2425
2468
  class PagesNamespace
2426
2469
  def initialize: (Transport) -> void
2427
2470
  def create: (body: page_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> page_response
@@ -2623,6 +2666,7 @@ module Infrawrench
2623
2666
  attr_reader kv: KvNamespace
2624
2667
  attr_reader msteams: MsteamsNamespace
2625
2668
  attr_reader orgs: OrgsNamespace
2669
+ attr_reader orphans: OrphansNamespace
2626
2670
  attr_reader pages: PagesNamespace
2627
2671
  attr_reader profile: ProfileNamespace
2628
2672
  attr_reader resources: ResourcesNamespace
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.17.0
4
+ version: 0.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infrawrench LLC
@@ -9,9 +9,9 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2026-07-30 00:00:00.000000000 Z
12
+ date: 2026-07-31 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v0.17.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v0.19.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.17.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v0.19.0).
62
62
  test_files: []