infrawrench-sdk 1.42.3 → 1.44.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: 5cdfadf2458fcb249774033c77987d552136af585ad21f35871281825e74b708
4
- data.tar.gz: 21bee2231421506ee9ba3baf544d6cf444be7ccaf5e57f0f319a4fbe72dbe4e5
3
+ metadata.gz: 4308ec15b7df8ff800e6652212f117a63e8eaa92595c3f9f64d0fe4dbb3e50b1
4
+ data.tar.gz: 9db42671649c3da37d0e028fd1a4899ae69bf0be534d091df571ff62274a8595
5
5
  SHA512:
6
- metadata.gz: 405e33fce714d27e309407f99a4d8a053cdf8318b3e62539b92b72cdcb329f0a1f86f4f12e18233e3b536702adfaaf81f5b0a8cd7ac84178a4c4d4c34bda3eeb
7
- data.tar.gz: 7a4c8ea8ad26e736f26ab50153381e72ff1519d8e52b8e920a62c11c68e622f0f75d2387e209b714529ca0f86559bc65fc78c6a282c05b35f76a1e366f1d64ed
6
+ metadata.gz: 1ddde6dcd40bc1626e7e0783e3a47b5bb978c66461771f70d08905d67084153ea1f085695b46f7076ecfb3d74142997545c7b6605f0534fad4ab0832cf44e964
7
+ data.tar.gz: 0bd23f6b804a61a5d03f86037809fb511d0c232565e80fd02c6c2acfeb43755805f2d02013283c14e306aab484848a108fa656817e7df1403395ebdb0dfe88de
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.42.3`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.44.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
- 746 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 760 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.42.3 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.44.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.42.3).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.44.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.42.3)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.42.3). 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.44.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.44.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.42.3 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.44.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.42.3).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.44.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -695,6 +695,38 @@ module Infrawrench
695
695
  )
696
696
  end
697
697
 
698
+ # List the provider's choices for a credential field
699
+ #
700
+ # For credential fields that declare `providerOptions` (an account picker
701
+ # filled from the API key, say): asks the provider for the choices the
702
+ # submitted credentials can see. Nothing is stored. A 400 carries the
703
+ # provider's reason, and clients fall back to a text input.
704
+ #
705
+ # _Requires permission: `accounts:write`._
706
+ #
707
+ # POST /api/org/{orgId}/accounts/credential-options
708
+ #
709
+ # Raises on 400: Bad request
710
+ #
711
+ # Raises on 404: Not found
712
+ #
713
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
714
+ # constructed with.
715
+ # @param body [Hash] Request body, shaped as `CredentialOptionsRequest`.
716
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
717
+ # @return [Hash] Parsed JSON, shaped as `CredentialOptionsResponse` — see
718
+ # `sig/infrawrench/sdk.rbs`.
719
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
720
+ def credential_options(body:, org_id: nil, request_options: nil)
721
+ @transport.request(
722
+ http_method: "POST",
723
+ path: "/api/org/{orgId}/accounts/credential-options",
724
+ path_params: { "orgId" => org_id },
725
+ body: body,
726
+ request_options: request_options
727
+ )
728
+ end
729
+
698
730
  # Delete an account
699
731
  #
700
732
  # _Requires permission: `accounts:delete`._
@@ -5502,6 +5534,104 @@ module Infrawrench
5502
5534
  end
5503
5535
  end
5504
5536
 
5537
+ # `client.cost_visibility`
5538
+ class CostVisibilityNamespace
5539
+ # @api private
5540
+ # @param transport [Transport]
5541
+ def initialize(transport)
5542
+ @transport = transport
5543
+ end
5544
+
5545
+ # Remove a cost visibility scope
5546
+ #
5547
+ # _Requires permission: `team:role:write`._
5548
+ #
5549
+ # DELETE /api/org/{orgId}/cost-visibility/{principalKind}/{principalId}
5550
+ #
5551
+ # Raises on 403: Forbidden
5552
+ #
5553
+ # Raises on 404: Not found
5554
+ #
5555
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
5556
+ # constructed with.
5557
+ # @param principal_kind [String]
5558
+ # @param principal_id [String]
5559
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
5560
+ # @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
5561
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
5562
+ def delete(principal_kind:, principal_id:, org_id: nil, request_options: nil)
5563
+ @transport.request(
5564
+ http_method: "DELETE",
5565
+ path: "/api/org/{orgId}/cost-visibility/{principalKind}/{principalId}",
5566
+ path_params: {
5567
+ "orgId" => org_id,
5568
+ "principalKind" => principal_kind,
5569
+ "principalId" => principal_id
5570
+ },
5571
+ request_options: request_options
5572
+ )
5573
+ end
5574
+
5575
+ # List cost visibility scopes
5576
+ #
5577
+ # Every scope narrowing which cost rows a role, member or API key can see.
5578
+ # Scopes that apply to one caller are intersected.
5579
+ #
5580
+ # _Requires permission: `team:read`._
5581
+ #
5582
+ # GET /api/org/{orgId}/cost-visibility
5583
+ #
5584
+ # Raises on 403: Forbidden
5585
+ #
5586
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
5587
+ # constructed with.
5588
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
5589
+ # @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
5590
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
5591
+ def get(org_id: nil, request_options: nil)
5592
+ @transport.request(
5593
+ http_method: "GET",
5594
+ path: "/api/org/{orgId}/cost-visibility",
5595
+ path_params: { "orgId" => org_id },
5596
+ request_options: request_options
5597
+ )
5598
+ end
5599
+
5600
+ # Create or replace a cost visibility scope
5601
+ #
5602
+ # Upserts the scope of one principal. Roles and members need
5603
+ # `team:role:write`; an API key's owner may also scope their own key with
5604
+ # `apikeys:write`. Owners cannot be scoped, and cost-scoped callers cannot
5605
+ # change scopes.
5606
+ #
5607
+ # _Requires permission: `team:role:write`._
5608
+ #
5609
+ # PUT /api/org/{orgId}/cost-visibility
5610
+ #
5611
+ # Raises on 400: Bad request
5612
+ #
5613
+ # Raises on 403: Forbidden
5614
+ #
5615
+ # Raises on 404: Not found
5616
+ #
5617
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
5618
+ # constructed with.
5619
+ # @param body [Hash, nil] Request body, shaped as `CostVisibilityScopeInput`.
5620
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
5621
+ # @return [Hash] Parsed JSON, shaped as `CostVisibilityScope` — see
5622
+ # `sig/infrawrench/sdk.rbs`.
5623
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
5624
+ def update(org_id: nil, body: nil, request_options: nil)
5625
+ @transport.request(
5626
+ http_method: "PUT",
5627
+ path: "/api/org/{orgId}/cost-visibility",
5628
+ path_params: { "orgId" => org_id },
5629
+ body: body,
5630
+ request_options: request_options
5631
+ )
5632
+ end
5633
+ end
5634
+
5505
5635
  # `client.costs.anomalies`
5506
5636
  class CostsAnomaliesNamespace
5507
5637
  # @api private
@@ -14729,6 +14859,100 @@ module Infrawrench
14729
14859
  end
14730
14860
  end
14731
14861
 
14862
+ # `client.sharing`
14863
+ class SharingNamespace
14864
+ # @api private
14865
+ # @param transport [Transport]
14866
+ def initialize(transport)
14867
+ @transport = transport
14868
+ end
14869
+
14870
+ # Reset an object's sharing to the default
14871
+ #
14872
+ # Removes every grant and the org-wide setting, so everyone in the
14873
+ # organization can edit again. Owner only. A report's creator remains its
14874
+ # owner.
14875
+ #
14876
+ # DELETE /api/org/{orgId}/sharing/{objectType}/{objectId}
14877
+ #
14878
+ # Raises on 403: Forbidden
14879
+ #
14880
+ # Raises on 404: Not found
14881
+ #
14882
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
14883
+ # constructed with.
14884
+ # @param object_type [String]
14885
+ # @param object_id [String]
14886
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
14887
+ # @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
14888
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
14889
+ def delete(object_type:, object_id:, org_id: nil, request_options: nil)
14890
+ @transport.request(
14891
+ http_method: "DELETE",
14892
+ path: "/api/org/{orgId}/sharing/{objectType}/{objectId}",
14893
+ path_params: { "orgId" => org_id, "objectType" => object_type, "objectId" => object_id },
14894
+ request_options: request_options
14895
+ )
14896
+ end
14897
+
14898
+ # Get an object's sharing
14899
+ #
14900
+ # Who can open or edit a cost report, report folder or dashboard. Needs
14901
+ # viewer on the object and the family's read permission (`costs:read` /
14902
+ # `dashboards:read`).
14903
+ #
14904
+ # GET /api/org/{orgId}/sharing/{objectType}/{objectId}
14905
+ #
14906
+ # Raises on 404: Not found
14907
+ #
14908
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
14909
+ # constructed with.
14910
+ # @param object_type [String]
14911
+ # @param object_id [String]
14912
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
14913
+ # @return [Hash] Parsed JSON, shaped as `ObjectSharing` — see `sig/infrawrench/sdk.rbs`.
14914
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
14915
+ def get(object_type:, object_id:, org_id: nil, request_options: nil)
14916
+ @transport.request(
14917
+ http_method: "GET",
14918
+ path: "/api/org/{orgId}/sharing/{objectType}/{objectId}",
14919
+ path_params: { "orgId" => org_id, "objectType" => object_type, "objectId" => object_id },
14920
+ request_options: request_options
14921
+ )
14922
+ end
14923
+
14924
+ # Replace an object's sharing
14925
+ #
14926
+ # Replaces the org-wide default and every grant. Owner on the object plus
14927
+ # the family's write permission. At least one owner must remain.
14928
+ #
14929
+ # PUT /api/org/{orgId}/sharing/{objectType}/{objectId}
14930
+ #
14931
+ # Raises on 400: Bad request
14932
+ #
14933
+ # Raises on 403: Forbidden
14934
+ #
14935
+ # Raises on 404: Not found
14936
+ #
14937
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
14938
+ # constructed with.
14939
+ # @param object_type [String]
14940
+ # @param object_id [String]
14941
+ # @param body [Hash, nil] Request body, shaped as `ObjectSharingInput`.
14942
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
14943
+ # @return [Hash] Parsed JSON, shaped as `ObjectSharing` — see `sig/infrawrench/sdk.rbs`.
14944
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
14945
+ def update(object_type:, object_id:, org_id: nil, body: nil, request_options: nil)
14946
+ @transport.request(
14947
+ http_method: "PUT",
14948
+ path: "/api/org/{orgId}/sharing/{objectType}/{objectId}",
14949
+ path_params: { "orgId" => org_id, "objectType" => object_type, "objectId" => object_id },
14950
+ body: body,
14951
+ request_options: request_options
14952
+ )
14953
+ end
14954
+ end
14955
+
14732
14956
  # `client.slack.channels`
14733
14957
  class SlackChannelsNamespace
14734
14958
  # @api private
@@ -16848,6 +17072,8 @@ module Infrawrench
16848
17072
  attr_reader :cost_reports
16849
17073
  # @return [CostScenariosNamespace] `client.cost_scenarios`
16850
17074
  attr_reader :cost_scenarios
17075
+ # @return [CostVisibilityNamespace] `client.cost_visibility`
17076
+ attr_reader :cost_visibility
16851
17077
  # @return [CostsNamespace] `client.costs`
16852
17078
  attr_reader :costs
16853
17079
  # @return [CredentialHygieneNamespace] `client.credential_hygiene`
@@ -16942,6 +17168,8 @@ module Infrawrench
16942
17168
  attr_reader :sftp
16943
17169
  # @return [SharedConsolesNamespace] `client.shared_consoles`
16944
17170
  attr_reader :shared_consoles
17171
+ # @return [SharingNamespace] `client.sharing`
17172
+ attr_reader :sharing
16945
17173
  # @return [SlackNamespace] `client.slack`
16946
17174
  attr_reader :slack
16947
17175
  # @return [SqlNamespace] `client.sql`
@@ -17014,6 +17242,7 @@ module Infrawrench
17014
17242
  @cost_report_notifications = CostReportNotificationsNamespace.new(@transport)
17015
17243
  @cost_reports = CostReportsNamespace.new(@transport)
17016
17244
  @cost_scenarios = CostScenariosNamespace.new(@transport)
17245
+ @cost_visibility = CostVisibilityNamespace.new(@transport)
17017
17246
  @costs = CostsNamespace.new(@transport)
17018
17247
  @credential_hygiene = CredentialHygieneNamespace.new(@transport)
17019
17248
  @credits = CreditsNamespace.new(@transport)
@@ -17061,6 +17290,7 @@ module Infrawrench
17061
17290
  @session_recordings = SessionRecordingsNamespace.new(@transport)
17062
17291
  @sftp = SftpNamespace.new(@transport)
17063
17292
  @shared_consoles = SharedConsolesNamespace.new(@transport)
17293
+ @sharing = SharingNamespace.new(@transport)
17064
17294
  @slack = SlackNamespace.new(@transport)
17065
17295
  @sql = SqlNamespace.new(@transport)
17066
17296
  @ssh_fanout = SshFanoutNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.42.3 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.44.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.42.3).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.44.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.42.3 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.44.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.42.3).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.44.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.42.3 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.44.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.42.3).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.44.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.42.3"
18
+ VERSION = "1.44.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.42.3 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.44.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.42.3).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.44.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.42.3 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.44.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.42.3).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.44.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -2227,6 +2227,47 @@ module Infrawrench
2227
2227
  # Spec schema: `CostSeriesPoint`.
2228
2228
  type cost_series_point = { "bucket" => String, "amount" => Numeric }
2229
2229
 
2230
+ # What a cost visibility scope attaches to.
2231
+ #
2232
+ # Spec schema: `CostVisibilityPrincipalKind`.
2233
+ type cost_visibility_principal_kind = "role" | "member" | "api_key"
2234
+
2235
+ # Spec schema: `CostVisibilityScope`.
2236
+ type cost_visibility_scope = {
2237
+ "id" => String,
2238
+ "principalKind" => cost_visibility_principal_kind,
2239
+ "principalId" => String,
2240
+ "principalLabel" => String | nil,
2241
+ "costCentreIds" => Array[String],
2242
+ "accountIds" => Array[String],
2243
+ "savedFilterId" => String | nil,
2244
+ "createdAt" => String,
2245
+ "updatedAt" => String
2246
+ }
2247
+
2248
+ # Spec schema: `CostVisibilityScopeInput`.
2249
+ type cost_visibility_scope_input = {
2250
+ "principalKind" => cost_visibility_principal_kind,
2251
+ "principalId" => String,
2252
+ "costCentreIds" => Array[String],
2253
+ "accountIds" => Array[String],
2254
+ "savedFilterId" => String | nil
2255
+ }
2256
+
2257
+ # Spec schema: `CostVisibilitySource`.
2258
+ type cost_visibility_source = {
2259
+ "kind" => cost_visibility_principal_kind,
2260
+ "label" => String | nil,
2261
+ "costCentreIds" => Array[String],
2262
+ "accountIds" => Array[String],
2263
+ "savedFilterId" => String | nil
2264
+ }
2265
+
2266
+ # The caller's cost visibility scope. Every cost read enforces it server-side.
2267
+ #
2268
+ # Spec schema: `CostVisibilitySummary`.
2269
+ type cost_visibility_summary = { "restricted" => bool, "sources" => Array[cost_visibility_source] }
2270
+
2230
2271
  # Spec schema: `CreateAccountRequest`.
2231
2272
  type create_account_request = {
2232
2273
  "pluginId" => String,
@@ -2357,9 +2398,13 @@ module Infrawrench
2357
2398
  ?"multiline" => bool,
2358
2399
  ?"defaultValue" => String,
2359
2400
  ?"regions" => Array[credential_field_region],
2401
+ ?"providerOptions" => { "dependsOn" => Array[String], ?"emptyLabel" => String },
2360
2402
  ?"helpLink" => { "label" => String, "url" => String }
2361
2403
  }
2362
2404
 
2405
+ # Spec schema: `CredentialFieldOption`.
2406
+ type credential_field_option = { "id" => String, "label" => String, ?"description" => String }
2407
+
2363
2408
  # Spec schema: `CredentialFieldRegion`.
2364
2409
  type credential_field_region = { "id" => String, "label" => String, ?"location" => String, ?"flag" => String }
2365
2410
 
@@ -2372,6 +2417,18 @@ module Infrawrench
2372
2417
  ?"filenameTemplate" => String
2373
2418
  }
2374
2419
 
2420
+ # Spec schema: `CredentialOptionsRequest`.
2421
+ type credential_options_request = {
2422
+ "pluginId" => String,
2423
+ "fieldKey" => String,
2424
+ "credentials" => Hash[String, String],
2425
+ ?"bastionId" => String | nil,
2426
+ ?"accountId" => String | nil
2427
+ }
2428
+
2429
+ # Spec schema: `CredentialOptionsResponse`.
2430
+ type credential_options_response = { "options" => Array[credential_field_option] }
2431
+
2375
2432
  # Spec schema: `CreditBurndown`.
2376
2433
  type credit_burndown = {
2377
2434
  "pots" => Array[credit_pot],
@@ -4151,7 +4208,8 @@ module Infrawrench
4151
4208
  "userId" => String,
4152
4209
  "email" => String,
4153
4210
  "role" => role_summary,
4154
- "permissions" => Array[permission]
4211
+ "permissions" => Array[permission],
4212
+ ?"costVisibility" => cost_visibility_summary
4155
4213
  }
4156
4214
 
4157
4215
  # Spec schema: `MetricAlertEvent`.
@@ -4477,6 +4535,43 @@ module Infrawrench
4477
4535
  ?"parentResourceId" => resource_id
4478
4536
  }
4479
4537
 
4538
+ # Spec schema: `ObjectAccessGrant`.
4539
+ type object_access_grant = {
4540
+ "principalKind" => "member" | "role",
4541
+ "principalId" => String,
4542
+ "principalLabel" => String | nil,
4543
+ "level" => object_access_level,
4544
+ "implicit" => bool
4545
+ }
4546
+
4547
+ # Spec schema: `ObjectAccessLevel`.
4548
+ type object_access_level = "owner" | "editor" | "viewer"
4549
+
4550
+ # Spec schema: `ObjectSharing`.
4551
+ type object_sharing = {
4552
+ "objectType" => shareable_object_type,
4553
+ "objectId" => String,
4554
+ "orgAccess" => org_access_level,
4555
+ "grants" => Array[object_access_grant],
4556
+ "callerLevel" => "owner" | "editor" | "viewer" | "none",
4557
+ "inheritedFrom" => {
4558
+ "folderId" => String,
4559
+ "folderName" => String,
4560
+ "level" => "owner" | "editor" | "viewer" | "none"
4561
+ }
4562
+ | nil
4563
+ }
4564
+
4565
+ # Spec schema: `ObjectSharingInput`.
4566
+ type object_sharing_input = {
4567
+ "orgAccess" => org_access_level,
4568
+ "grants" => Array[{
4569
+ "principalKind" => "member" | "role",
4570
+ "principalId" => String,
4571
+ "level" => object_access_level
4572
+ }]
4573
+ }
4574
+
4480
4575
  # Spec schema: `Ok`.
4481
4576
  type ok = { "ok" => bool }
4482
4577
 
@@ -4578,6 +4673,12 @@ module Infrawrench
4578
4673
  "overrides" => Array[on_call_override]
4579
4674
  }
4580
4675
 
4676
+ # What everyone in the organization can do with the object. `editor` is the
4677
+ # default for an object nobody has shared.
4678
+ #
4679
+ # Spec schema: `OrgAccessLevel`.
4680
+ type org_access_level = "editor" | "viewer" | "none"
4681
+
4581
4682
  # Org-wide notification tuning. Cooldown claims (`lastNotifiedAt`,
4582
4683
  # `lastSentWeekStart`) are deliberately absent: they are poller state, and
4583
4684
  # resetting one from an apply would re-open a quiet period and page people
@@ -5052,6 +5153,7 @@ module Infrawrench
5052
5153
  | "invoices:write"
5053
5154
  | "invoices:issue"
5054
5155
  | "pages:write"
5156
+ | "sharing:override"
5055
5157
  | "org:settings:write"
5056
5158
 
5057
5159
  # Spec schema: `PermissionCatalog`.
@@ -5121,28 +5223,42 @@ module Infrawrench
5121
5223
  | "aws"
5122
5224
  | "azure"
5123
5225
  | "cartesia"
5226
+ | "circleci"
5124
5227
  | "clickhouse"
5125
5228
  | "cloudflare"
5126
5229
  | "cloudinary"
5127
5230
  | "cohere"
5231
+ | "confluent-cloud"
5232
+ | "coralogix"
5233
+ | "coreweave"
5234
+ | "crusoe"
5235
+ | "cursor"
5128
5236
  | "databricks"
5129
5237
  | "deepgram"
5130
5238
  | "deepseek"
5239
+ | "depot"
5240
+ | "devin"
5131
5241
  | "digitalocean"
5132
5242
  | "docker"
5243
+ | "elastic-cloud"
5133
5244
  | "elevenlabs"
5245
+ | "fastly"
5134
5246
  | "fireworks"
5135
5247
  | "fly"
5136
5248
  | "gcp"
5137
5249
  | "gemini"
5250
+ | "github"
5138
5251
  | "gladia"
5139
5252
  | "groq"
5140
5253
  | "hetzner"
5141
5254
  | "kafka"
5142
5255
  | "kubernetes"
5256
+ | "linode"
5143
5257
  | "memcached"
5144
5258
  | "mistral"
5259
+ | "modal"
5145
5260
  | "mongodb"
5261
+ | "mongodb-atlas"
5146
5262
  | "mssql"
5147
5263
  | "mysql"
5148
5264
  | "neon"
@@ -5150,18 +5266,24 @@ module Infrawrench
5150
5266
  | "openai"
5151
5267
  | "openrouter"
5152
5268
  | "opensearch"
5269
+ | "oracle-cloud"
5153
5270
  | "ovh"
5154
5271
  | "planetscale"
5155
5272
  | "postgres"
5156
5273
  | "redis"
5274
+ | "redis-cloud"
5157
5275
  | "replicate"
5158
5276
  | "revai"
5159
5277
  | "scaleway"
5278
+ | "sentry"
5279
+ | "snowflake"
5160
5280
  | "speechmatics"
5161
5281
  | "ssh"
5162
5282
  | "tailscale"
5283
+ | "temporal-cloud"
5163
5284
  | "together"
5164
5285
  | "turso"
5286
+ | "twilio"
5165
5287
  | "uploadthing"
5166
5288
  | "vercel"
5167
5289
  | "workos"
@@ -5844,9 +5966,11 @@ module Infrawrench
5844
5966
  #
5845
5967
  # Spec schema: `ResourceTypeId`.
5846
5968
  type resource_type_id = "access-application"
5969
+ | "access-key"
5847
5970
  | "access-policy"
5848
5971
  | "account"
5849
5972
  | "acm-certificate"
5973
+ | "actions-cache"
5850
5974
  | "admin-api-key"
5851
5975
  | "agent"
5852
5976
  | "agent-api-key"
@@ -5856,6 +5980,8 @@ module Infrawrench
5856
5980
  | "ai-gateway"
5857
5981
  | "ai-search"
5858
5982
  | "alb"
5983
+ | "alert"
5984
+ | "alert-configuration"
5859
5985
  | "alert-policy"
5860
5986
  | "alignment-job"
5861
5987
  | "alloydb-cluster"
@@ -5863,6 +5989,7 @@ module Infrawrench
5863
5989
  | "analytics-engine-dataset"
5864
5990
  | "api-gateway"
5865
5991
  | "api-key"
5992
+ | "api-token"
5866
5993
  | "app"
5867
5994
  | "app-engine-service"
5868
5995
  | "app-secret"
@@ -5870,6 +5997,8 @@ module Infrawrench
5870
5997
  | "artifact-registry-repo"
5871
5998
  | "audit-event"
5872
5999
  | "auto-scaling-group"
6000
+ | "automation"
6001
+ | "autonomous-database"
5873
6002
  | "autoscale-pool"
5874
6003
  | "azure-ai-services"
5875
6004
  | "azure-aks-cluster"
@@ -5908,7 +6037,10 @@ module Infrawrench
5908
6037
  | "azure-subnet"
5909
6038
  | "azure-vm"
5910
6039
  | "azure-vnet"
6040
+ | "backend"
5911
6041
  | "backend-service"
6042
+ | "backup-policy"
6043
+ | "backup-snapshot"
5912
6044
  | "backup-vault"
5913
6045
  | "balance"
5914
6046
  | "basin-catalog"
@@ -5923,7 +6055,13 @@ module Infrawrench
5923
6055
  | "bigquery-dataset"
5924
6056
  | "bigquery-table"
5925
6057
  | "bigtable-instance"
6058
+ | "billing-account"
6059
+ | "billing-group"
5926
6060
  | "block-volume"
6061
+ | "boot-volume"
6062
+ | "bucket"
6063
+ | "budget"
6064
+ | "budget-alert-rule"
5927
6065
  | "byok-credential"
5928
6066
  | "cache-rule"
5929
6067
  | "cached-content"
@@ -5936,6 +6074,8 @@ module Infrawrench
5936
6074
  | "ch-member"
5937
6075
  | "ch-postgres"
5938
6076
  | "ch-service"
6077
+ | "cks-cluster"
6078
+ | "client-key"
5939
6079
  | "cloud-armor-policy"
5940
6080
  | "cloud-build-trigger"
5941
6081
  | "cloud-deploy-pipeline"
@@ -5954,18 +6094,33 @@ module Infrawrench
5954
6094
  | "cloudtrail-trail"
5955
6095
  | "cloudwatch-alarm"
5956
6096
  | "cloudwatch-log-group"
6097
+ | "cluster"
5957
6098
  | "codebuild-project"
5958
6099
  | "codepipeline-pipeline"
6100
+ | "codespace"
5959
6101
  | "cognito-user-pool"
5960
6102
  | "collection"
5961
6103
  | "collection-document"
6104
+ | "compartment"
5962
6105
  | "composer-environment"
6106
+ | "config-store"
5963
6107
  | "connection"
6108
+ | "connectivity-rule"
6109
+ | "connector"
5964
6110
  | "container"
5965
6111
  | "container-registry"
6112
+ | "context"
6113
+ | "context-variable"
6114
+ | "copilot-seat"
6115
+ | "cost-center"
6116
+ | "cron-monitor"
6117
+ | "custom-enrichment"
5966
6118
  | "custom-hostname"
5967
6119
  | "custom-voice"
5968
6120
  | "d1-database"
6121
+ | "dashboard"
6122
+ | "database"
6123
+ | "database-user"
5969
6124
  | "databricks-app"
5970
6125
  | "databricks-catalog"
5971
6126
  | "databricks-cluster"
@@ -5997,10 +6152,19 @@ module Infrawrench
5997
6152
  | "dedicated-inference"
5998
6153
  | "deployed-model"
5999
6154
  | "deployment"
6155
+ | "depot-actions-repo"
6156
+ | "depot-build"
6157
+ | "depot-project"
6158
+ | "depot-registry-image"
6159
+ | "depot-token"
6160
+ | "depot-trust-policy"
6000
6161
  | "device"
6162
+ | "dict"
6163
+ | "dictionary"
6001
6164
  | "directory"
6002
6165
  | "directory-group"
6003
6166
  | "directory-user"
6167
+ | "disk"
6004
6168
  | "distribution-credential"
6005
6169
  | "dns-record"
6006
6170
  | "dns-zone"
@@ -6011,6 +6175,7 @@ module Infrawrench
6011
6175
  | "documentdb-cluster"
6012
6176
  | "doks-cluster"
6013
6177
  | "domain"
6178
+ | "domain-record"
6014
6179
  | "dpo-job"
6015
6180
  | "droplet"
6016
6181
  | "durable-object-namespace"
@@ -6026,12 +6191,18 @@ module Infrawrench
6026
6191
  | "elasticache-serverless-cache"
6027
6192
  | "email-routing-rule"
6028
6193
  | "embed-job"
6194
+ | "encryption-key"
6029
6195
  | "endpoint"
6196
+ | "enrichment"
6197
+ | "environment"
6030
6198
  | "eval"
6031
6199
  | "evaluation"
6032
6200
  | "evaluation-job"
6033
6201
  | "evaluator"
6034
6202
  | "eventbridge-rule"
6203
+ | "events2metrics"
6204
+ | "export-sink"
6205
+ | "extension"
6035
6206
  | "feature-flag"
6036
6207
  | "file"
6037
6208
  | "file-search-document"
@@ -6042,10 +6213,13 @@ module Infrawrench
6042
6213
  | "firestore-database"
6043
6214
  | "firewall"
6044
6215
  | "firewall-rule"
6216
+ | "flex-cluster"
6045
6217
  | "flexible-ip"
6218
+ | "flink-compute-pool"
6046
6219
  | "floating-ip"
6047
6220
  | "folder"
6048
6221
  | "forwarding-rule"
6222
+ | "function"
6049
6223
  | "gateway"
6050
6224
  | "gce-disk"
6051
6225
  | "gce-instance"
@@ -6068,6 +6242,7 @@ module Infrawrench
6068
6242
  | "health-check"
6069
6243
  | "healthcheck"
6070
6244
  | "history-item"
6245
+ | "hosted-runner"
6071
6246
  | "hyperdrive"
6072
6247
  | "iam-role"
6073
6248
  | "iam-user"
@@ -6076,12 +6251,15 @@ module Infrawrench
6076
6251
  | "instance"
6077
6252
  | "instance-group"
6078
6253
  | "instance-template"
6254
+ | "instance-type"
6079
6255
  | "internet-gateway"
6080
6256
  | "invitation"
6081
6257
  | "invite"
6082
6258
  | "invoice"
6259
+ | "ip-access-entry"
6083
6260
  | "ip-access-rule"
6084
6261
  | "ip-allocation"
6262
+ | "issue"
6085
6263
  | "job"
6086
6264
  | "k8s-cluster"
6087
6265
  | "k8s-configmap"
@@ -6105,13 +6283,21 @@ module Infrawrench
6105
6283
  | "kms-key"
6106
6284
  | "kms-key-ring"
6107
6285
  | "knowledge-base-document"
6286
+ | "knowledge-note"
6287
+ | "ksqldb-cluster"
6288
+ | "kubernetes-cluster"
6108
6289
  | "kv-namespace"
6290
+ | "kv-store"
6109
6291
  | "lambda-function"
6110
6292
  | "language-id-job"
6293
+ | "linode"
6111
6294
  | "live-session"
6295
+ | "lke-cluster"
6296
+ | "lke-node-pool"
6112
6297
  | "llm-model"
6113
6298
  | "load-balancer"
6114
6299
  | "log-sink"
6300
+ | "logging-endpoint"
6115
6301
  | "logpush-job"
6116
6302
  | "machine"
6117
6303
  | "managed-database"
@@ -6125,6 +6311,7 @@ module Infrawrench
6125
6311
  | "memorystore-redis"
6126
6312
  | "memorystore-valkey"
6127
6313
  | "message-batch"
6314
+ | "messaging-service"
6128
6315
  | "mistral-agent"
6129
6316
  | "mistral-api-key"
6130
6317
  | "mistral-batch-job"
@@ -6138,10 +6325,12 @@ module Infrawrench
6138
6325
  | "model-endpoint"
6139
6326
  | "model-version"
6140
6327
  | "mongodb-database"
6328
+ | "monitor"
6141
6329
  | "mq-broker"
6142
6330
  | "msk-cluster"
6143
6331
  | "mssql-database"
6144
6332
  | "mysql-database"
6333
+ | "namespace"
6145
6334
  | "nat-gateway"
6146
6335
  | "neon-ai-gateway"
6147
6336
  | "neon-auth"
@@ -6169,10 +6358,16 @@ module Infrawrench
6169
6358
  | "netlify-site"
6170
6359
  | "netlify-snippet"
6171
6360
  | "network"
6361
+ | "network-connection"
6362
+ | "nexus-endpoint"
6172
6363
  | "nfs-share"
6364
+ | "node-pool"
6365
+ | "nodebalancer"
6173
6366
  | "notification-policy"
6174
6367
  | "object-storage-bucket"
6175
6368
  | "octavia-load-balancer"
6369
+ | "oke-cluster"
6370
+ | "online-archive"
6176
6371
  | "opensearch-cluster"
6177
6372
  | "opensearch-domain"
6178
6373
  | "organization"
@@ -6181,16 +6376,21 @@ module Infrawrench
6181
6376
  | "organization-membership"
6182
6377
  | "organization-role"
6183
6378
  | "organization-user"
6379
+ | "outgoing-webhook"
6184
6380
  | "page-rule"
6381
+ | "parsing-rule-group"
6185
6382
  | "permission"
6186
6383
  | "pg-database"
6187
6384
  | "pg-schema"
6188
6385
  | "phone-number"
6386
+ | "pipeline"
6189
6387
  | "placement-group"
6388
+ | "playbook"
6190
6389
  | "postgres-cluster"
6191
6390
  | "posture-integration"
6192
6391
  | "prediction"
6193
6392
  | "primary-ip"
6393
+ | "private-endpoint-service"
6194
6394
  | "private-network"
6195
6395
  | "product-environment"
6196
6396
  | "project"
@@ -6198,6 +6398,7 @@ module Infrawrench
6198
6398
  | "project-rate-limit"
6199
6399
  | "project-service-account"
6200
6400
  | "project-user"
6401
+ | "project-variable"
6201
6402
  | "pronunciation-dict"
6202
6403
  | "pronunciation-dictionary"
6203
6404
  | "provider"
@@ -6213,9 +6414,20 @@ module Infrawrench
6213
6414
  | "purchase"
6214
6415
  | "queue"
6215
6416
  | "quota"
6417
+ | "quota-rule"
6216
6418
  | "r2-bucket"
6217
6419
  | "rate-limit"
6218
6420
  | "rate-limit-rule"
6421
+ | "rc-account"
6422
+ | "rc-acl-role"
6423
+ | "rc-acl-rule"
6424
+ | "rc-acl-user"
6425
+ | "rc-cloud-account"
6426
+ | "rc-database"
6427
+ | "rc-psc-endpoint"
6428
+ | "rc-subscription"
6429
+ | "rc-transit-gateway"
6430
+ | "rc-vpc-peering"
6219
6431
  | "rdb-instance"
6220
6432
  | "rds-cluster"
6221
6433
  | "rds-instance"
@@ -6224,6 +6436,9 @@ module Infrawrench
6224
6436
  | "redshift-cluster"
6225
6437
  | "registry-namespace"
6226
6438
  | "reinforcement-fine-tuning-job"
6439
+ | "release"
6440
+ | "repo-blocklist"
6441
+ | "reservation"
6227
6442
  | "reserved-ip"
6228
6443
  | "role"
6229
6444
  | "route-table"
@@ -6231,21 +6446,44 @@ module Infrawrench
6231
6446
  | "route53-hosted-zone"
6232
6447
  | "route53-record-set"
6233
6448
  | "router"
6449
+ | "runner"
6450
+ | "runner-resource-class"
6234
6451
  | "s3-bucket"
6235
6452
  | "sagemaker-endpoint"
6453
+ | "schedule"
6454
+ | "scheduled-function"
6455
+ | "schema-registry"
6456
+ | "search-index"
6236
6457
  | "secret"
6237
6458
  | "secret-manager-secret"
6459
+ | "secret-store"
6238
6460
  | "secrets-manager-secret"
6239
6461
  | "secrets-store-secret"
6240
6462
  | "security-group"
6463
+ | "security-list"
6241
6464
  | "sentiment-job"
6242
6465
  | "server"
6243
6466
  | "serverless-container"
6244
6467
  | "serverless-function"
6468
+ | "serverless-instance"
6469
+ | "serverless-traffic-filter"
6245
6470
  | "service"
6471
+ | "service-account"
6472
+ | "service-version"
6473
+ | "session"
6246
6474
  | "shared-volume"
6247
6475
  | "skill"
6248
6476
  | "snapshot"
6477
+ | "snowflake-account"
6478
+ | "snowflake-database"
6479
+ | "snowflake-dynamic-table"
6480
+ | "snowflake-pipe"
6481
+ | "snowflake-resource-monitor"
6482
+ | "snowflake-role"
6483
+ | "snowflake-schema"
6484
+ | "snowflake-task"
6485
+ | "snowflake-user"
6486
+ | "snowflake-warehouse"
6249
6487
  | "sns-topic"
6250
6488
  | "spaces-bucket"
6251
6489
  | "spanner-backup"
@@ -6260,14 +6498,23 @@ module Infrawrench
6260
6498
  | "ssh-target"
6261
6499
  | "ssl-certificate"
6262
6500
  | "ssm-parameter"
6501
+ | "stackscript"
6263
6502
  | "static-ip"
6264
6503
  | "step-function"
6265
6504
  | "storage-box"
6505
+ | "subaccount"
6266
6506
  | "subnet"
6267
6507
  | "supervised-fine-tuning-job"
6268
6508
  | "tailnet"
6269
6509
  | "target-group"
6510
+ | "tco-policy"
6511
+ | "team"
6512
+ | "team-member"
6513
+ | "tenancy"
6514
+ | "tls-certificate"
6515
+ | "tls-subscription"
6270
6516
  | "topic-job"
6517
+ | "traffic-filter"
6271
6518
  | "training"
6272
6519
  | "transcript"
6273
6520
  | "transcription"
@@ -6283,13 +6530,17 @@ module Infrawrench
6283
6530
  | "turso-location"
6284
6531
  | "turso-organization-invite"
6285
6532
  | "turso-organization-member"
6533
+ | "twiml-app"
6286
6534
  | "upload-mapping"
6287
6535
  | "upload-preset"
6288
6536
  | "uptime-check"
6537
+ | "uptime-monitor"
6538
+ | "usage-trigger"
6289
6539
  | "user"
6290
6540
  | "user-invite"
6291
6541
  | "ut-app"
6292
6542
  | "ut-file"
6543
+ | "vcn"
6293
6544
  | "vector-store"
6294
6545
  | "vectorize-index"
6295
6546
  | "vercel-deployment"
@@ -6299,8 +6550,10 @@ module Infrawrench
6299
6550
  | "vercel-project"
6300
6551
  | "vercel-team"
6301
6552
  | "vercel-webhook"
6553
+ | "verify-service"
6302
6554
  | "vertex-ai-endpoint"
6303
6555
  | "vertex-gemini-model"
6556
+ | "vm"
6304
6557
  | "vocabulary"
6305
6558
  | "voice"
6306
6559
  | "voice-agent"
@@ -6310,6 +6563,7 @@ module Infrawrench
6310
6563
  | "vpc-nat-gateway"
6311
6564
  | "vpc-network"
6312
6565
  | "vpc-peering"
6566
+ | "vpc-subnet"
6313
6567
  | "waf-web-acl"
6314
6568
  | "waiting-room"
6315
6569
  | "webhook"
@@ -6581,7 +6835,7 @@ module Infrawrench
6581
6835
 
6582
6836
  # Spec schema: `SavedCostFilterReferent`.
6583
6837
  type saved_cost_filter_referent = {
6584
- "kind" => "budget" | "cost_report" | "cost_graph_widget",
6838
+ "kind" => "budget" | "cost_report" | "cost_graph_widget" | "cost_visibility_scope",
6585
6839
  "id" => String,
6586
6840
  "name" => String,
6587
6841
  ?"dashboardId" => String,
@@ -6777,6 +7031,9 @@ module Infrawrench
6777
7031
  ?"sshUsername" => String
6778
7032
  }
6779
7033
 
7034
+ # Spec schema: `ShareableObjectType`.
7035
+ type shareable_object_type = "cost_report" | "cost_report_folder" | "dashboard"
7036
+
6780
7037
  # Spec schema: `SharedConsole`.
6781
7038
  type shared_console = {
6782
7039
  "id" => String,
@@ -7691,6 +7948,7 @@ module Infrawrench
7691
7948
  attr_reader sync_type: AccountsSyncTypeNamespace
7692
7949
  def initialize: (Transport) -> void
7693
7950
  def create: (body: (create_account_request & { ?"pluginId" => plugin_id }), ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> create_account_response
7951
+ def credential_options: (body: credential_options_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> credential_options_response
7694
7952
  def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
7695
7953
  def detail: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> account_detail
7696
7954
  def export_terraform: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> terraform_export
@@ -8077,6 +8335,13 @@ module Infrawrench
8077
8335
  def update: (id: String, body: cost_scenario_model_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_scenario_model
8078
8336
  end
8079
8337
 
8338
+ class CostVisibilityNamespace
8339
+ def initialize: (Transport) -> void
8340
+ def delete: (principal_kind: cost_visibility_principal_kind, principal_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
8341
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "scopes" => Array[cost_visibility_scope] }
8342
+ def update: (?org_id: String?, ?body: cost_visibility_scope_input?, ?request_options: Hash[Symbol, untyped]?) -> cost_visibility_scope
8343
+ end
8344
+
8080
8345
  class CostsAnomaliesNamespace
8081
8346
  def initialize: (Transport) -> void
8082
8347
  def acknowledge: (anomaly_id: String, ?org_id: String?, ?body: { "explanation" => String }?, ?request_options: Hash[Symbol, untyped]?) -> cost_anomaly
@@ -8749,6 +9014,13 @@ module Infrawrench
8749
9014
  def request_driver: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
8750
9015
  end
8751
9016
 
9017
+ class SharingNamespace
9018
+ def initialize: (Transport) -> void
9019
+ def delete: (object_type: shareable_object_type, object_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
9020
+ def get: (object_type: shareable_object_type, object_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> object_sharing
9021
+ def update: (object_type: shareable_object_type, object_id: String, ?org_id: String?, ?body: object_sharing_input?, ?request_options: Hash[Symbol, untyped]?) -> object_sharing
9022
+ end
9023
+
8752
9024
  class SlackChannelsNamespace
8753
9025
  def initialize: (Transport) -> void
8754
9026
  def create: (?org_id: String?, ?body: slack_channel_create?, ?request_options: Hash[Symbol, untyped]?) -> slack_channel
@@ -8956,6 +9228,7 @@ module Infrawrench
8956
9228
  attr_reader cost_report_notifications: CostReportNotificationsNamespace
8957
9229
  attr_reader cost_reports: CostReportsNamespace
8958
9230
  attr_reader cost_scenarios: CostScenariosNamespace
9231
+ attr_reader cost_visibility: CostVisibilityNamespace
8959
9232
  attr_reader costs: CostsNamespace
8960
9233
  attr_reader credential_hygiene: CredentialHygieneNamespace
8961
9234
  attr_reader credits: CreditsNamespace
@@ -9003,6 +9276,7 @@ module Infrawrench
9003
9276
  attr_reader session_recordings: SessionRecordingsNamespace
9004
9277
  attr_reader sftp: SftpNamespace
9005
9278
  attr_reader shared_consoles: SharedConsolesNamespace
9279
+ attr_reader sharing: SharingNamespace
9006
9280
  attr_reader slack: SlackNamespace
9007
9281
  attr_reader sql: SqlNamespace
9008
9282
  attr_reader ssh_fanout: SshFanoutNamespace
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.42.3
4
+ version: 1.44.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-10-03 00:00:00.000000000 Z
12
+ date: 2026-10-04 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.42.3). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.44.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.42.3).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.44.0).
62
62
  test_files: []