infrawrench-sdk 1.43.0 → 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: 1ce785a112c380423e94e554eaaf26856f82d2bd07b83f36597309df8400c517
4
- data.tar.gz: 9e56e8c92684ec47e121b9115adea199388035d5d01d6f6b01c214759d60db69
3
+ metadata.gz: 4308ec15b7df8ff800e6652212f117a63e8eaa92595c3f9f64d0fe4dbb3e50b1
4
+ data.tar.gz: 9db42671649c3da37d0e028fd1a4899ae69bf0be534d091df571ff62274a8595
5
5
  SHA512:
6
- metadata.gz: 95245e4a99034c05450e34db0c5fc110077e6ce87bdc5fcaf56c50bfdf554227aa39bbaf97cd8e122d66f87f99f4547d0373de66f9e634e5f413c4deeac02679
7
- data.tar.gz: 81d8bb202486f5139911509c9e62fa517dcf6e68948c8071ebb17d1110817d018a05e51c66c8e0a725e9dd9b8fce82a9ee6e70232bb9838f8fce7e56f6e3503d
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.43.0`).
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.43.0 | 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.43.0).
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.43.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.43.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 (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.43.0 | 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.43.0).
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.43.0 | 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.43.0).
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.43.0 | 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.43.0).
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.43.0 | 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.43.0).
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.43.0"
18
+ VERSION = "1.44.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.43.0 | 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.43.0).
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.43.0 | 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.43.0).
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"
@@ -5155,14 +5271,19 @@ module Infrawrench
5155
5271
  | "planetscale"
5156
5272
  | "postgres"
5157
5273
  | "redis"
5274
+ | "redis-cloud"
5158
5275
  | "replicate"
5159
5276
  | "revai"
5160
5277
  | "scaleway"
5278
+ | "sentry"
5279
+ | "snowflake"
5161
5280
  | "speechmatics"
5162
5281
  | "ssh"
5163
5282
  | "tailscale"
5283
+ | "temporal-cloud"
5164
5284
  | "together"
5165
5285
  | "turso"
5286
+ | "twilio"
5166
5287
  | "uploadthing"
5167
5288
  | "vercel"
5168
5289
  | "workos"
@@ -5845,9 +5966,11 @@ module Infrawrench
5845
5966
  #
5846
5967
  # Spec schema: `ResourceTypeId`.
5847
5968
  type resource_type_id = "access-application"
5969
+ | "access-key"
5848
5970
  | "access-policy"
5849
5971
  | "account"
5850
5972
  | "acm-certificate"
5973
+ | "actions-cache"
5851
5974
  | "admin-api-key"
5852
5975
  | "agent"
5853
5976
  | "agent-api-key"
@@ -5857,6 +5980,8 @@ module Infrawrench
5857
5980
  | "ai-gateway"
5858
5981
  | "ai-search"
5859
5982
  | "alb"
5983
+ | "alert"
5984
+ | "alert-configuration"
5860
5985
  | "alert-policy"
5861
5986
  | "alignment-job"
5862
5987
  | "alloydb-cluster"
@@ -5864,6 +5989,7 @@ module Infrawrench
5864
5989
  | "analytics-engine-dataset"
5865
5990
  | "api-gateway"
5866
5991
  | "api-key"
5992
+ | "api-token"
5867
5993
  | "app"
5868
5994
  | "app-engine-service"
5869
5995
  | "app-secret"
@@ -5871,6 +5997,7 @@ module Infrawrench
5871
5997
  | "artifact-registry-repo"
5872
5998
  | "audit-event"
5873
5999
  | "auto-scaling-group"
6000
+ | "automation"
5874
6001
  | "autonomous-database"
5875
6002
  | "autoscale-pool"
5876
6003
  | "azure-ai-services"
@@ -5910,7 +6037,10 @@ module Infrawrench
5910
6037
  | "azure-subnet"
5911
6038
  | "azure-vm"
5912
6039
  | "azure-vnet"
6040
+ | "backend"
5913
6041
  | "backend-service"
6042
+ | "backup-policy"
6043
+ | "backup-snapshot"
5914
6044
  | "backup-vault"
5915
6045
  | "balance"
5916
6046
  | "basin-catalog"
@@ -5925,6 +6055,8 @@ module Infrawrench
5925
6055
  | "bigquery-dataset"
5926
6056
  | "bigquery-table"
5927
6057
  | "bigtable-instance"
6058
+ | "billing-account"
6059
+ | "billing-group"
5928
6060
  | "block-volume"
5929
6061
  | "boot-volume"
5930
6062
  | "bucket"
@@ -5942,6 +6074,8 @@ module Infrawrench
5942
6074
  | "ch-member"
5943
6075
  | "ch-postgres"
5944
6076
  | "ch-service"
6077
+ | "cks-cluster"
6078
+ | "client-key"
5945
6079
  | "cloud-armor-policy"
5946
6080
  | "cloud-build-trigger"
5947
6081
  | "cloud-deploy-pipeline"
@@ -5960,19 +6094,33 @@ module Infrawrench
5960
6094
  | "cloudtrail-trail"
5961
6095
  | "cloudwatch-alarm"
5962
6096
  | "cloudwatch-log-group"
6097
+ | "cluster"
5963
6098
  | "codebuild-project"
5964
6099
  | "codepipeline-pipeline"
6100
+ | "codespace"
5965
6101
  | "cognito-user-pool"
5966
6102
  | "collection"
5967
6103
  | "collection-document"
5968
6104
  | "compartment"
5969
6105
  | "composer-environment"
6106
+ | "config-store"
5970
6107
  | "connection"
6108
+ | "connectivity-rule"
6109
+ | "connector"
5971
6110
  | "container"
5972
6111
  | "container-registry"
6112
+ | "context"
6113
+ | "context-variable"
6114
+ | "copilot-seat"
6115
+ | "cost-center"
6116
+ | "cron-monitor"
6117
+ | "custom-enrichment"
5973
6118
  | "custom-hostname"
5974
6119
  | "custom-voice"
5975
6120
  | "d1-database"
6121
+ | "dashboard"
6122
+ | "database"
6123
+ | "database-user"
5976
6124
  | "databricks-app"
5977
6125
  | "databricks-catalog"
5978
6126
  | "databricks-cluster"
@@ -6004,10 +6152,19 @@ module Infrawrench
6004
6152
  | "dedicated-inference"
6005
6153
  | "deployed-model"
6006
6154
  | "deployment"
6155
+ | "depot-actions-repo"
6156
+ | "depot-build"
6157
+ | "depot-project"
6158
+ | "depot-registry-image"
6159
+ | "depot-token"
6160
+ | "depot-trust-policy"
6007
6161
  | "device"
6162
+ | "dict"
6163
+ | "dictionary"
6008
6164
  | "directory"
6009
6165
  | "directory-group"
6010
6166
  | "directory-user"
6167
+ | "disk"
6011
6168
  | "distribution-credential"
6012
6169
  | "dns-record"
6013
6170
  | "dns-zone"
@@ -6018,6 +6175,7 @@ module Infrawrench
6018
6175
  | "documentdb-cluster"
6019
6176
  | "doks-cluster"
6020
6177
  | "domain"
6178
+ | "domain-record"
6021
6179
  | "dpo-job"
6022
6180
  | "droplet"
6023
6181
  | "durable-object-namespace"
@@ -6033,12 +6191,18 @@ module Infrawrench
6033
6191
  | "elasticache-serverless-cache"
6034
6192
  | "email-routing-rule"
6035
6193
  | "embed-job"
6194
+ | "encryption-key"
6036
6195
  | "endpoint"
6196
+ | "enrichment"
6197
+ | "environment"
6037
6198
  | "eval"
6038
6199
  | "evaluation"
6039
6200
  | "evaluation-job"
6040
6201
  | "evaluator"
6041
6202
  | "eventbridge-rule"
6203
+ | "events2metrics"
6204
+ | "export-sink"
6205
+ | "extension"
6042
6206
  | "feature-flag"
6043
6207
  | "file"
6044
6208
  | "file-search-document"
@@ -6049,10 +6213,13 @@ module Infrawrench
6049
6213
  | "firestore-database"
6050
6214
  | "firewall"
6051
6215
  | "firewall-rule"
6216
+ | "flex-cluster"
6052
6217
  | "flexible-ip"
6218
+ | "flink-compute-pool"
6053
6219
  | "floating-ip"
6054
6220
  | "folder"
6055
6221
  | "forwarding-rule"
6222
+ | "function"
6056
6223
  | "gateway"
6057
6224
  | "gce-disk"
6058
6225
  | "gce-instance"
@@ -6075,6 +6242,7 @@ module Infrawrench
6075
6242
  | "health-check"
6076
6243
  | "healthcheck"
6077
6244
  | "history-item"
6245
+ | "hosted-runner"
6078
6246
  | "hyperdrive"
6079
6247
  | "iam-role"
6080
6248
  | "iam-user"
@@ -6083,12 +6251,15 @@ module Infrawrench
6083
6251
  | "instance"
6084
6252
  | "instance-group"
6085
6253
  | "instance-template"
6254
+ | "instance-type"
6086
6255
  | "internet-gateway"
6087
6256
  | "invitation"
6088
6257
  | "invite"
6089
6258
  | "invoice"
6259
+ | "ip-access-entry"
6090
6260
  | "ip-access-rule"
6091
6261
  | "ip-allocation"
6262
+ | "issue"
6092
6263
  | "job"
6093
6264
  | "k8s-cluster"
6094
6265
  | "k8s-configmap"
@@ -6112,13 +6283,21 @@ module Infrawrench
6112
6283
  | "kms-key"
6113
6284
  | "kms-key-ring"
6114
6285
  | "knowledge-base-document"
6286
+ | "knowledge-note"
6287
+ | "ksqldb-cluster"
6288
+ | "kubernetes-cluster"
6115
6289
  | "kv-namespace"
6290
+ | "kv-store"
6116
6291
  | "lambda-function"
6117
6292
  | "language-id-job"
6293
+ | "linode"
6118
6294
  | "live-session"
6295
+ | "lke-cluster"
6296
+ | "lke-node-pool"
6119
6297
  | "llm-model"
6120
6298
  | "load-balancer"
6121
6299
  | "log-sink"
6300
+ | "logging-endpoint"
6122
6301
  | "logpush-job"
6123
6302
  | "machine"
6124
6303
  | "managed-database"
@@ -6132,6 +6311,7 @@ module Infrawrench
6132
6311
  | "memorystore-redis"
6133
6312
  | "memorystore-valkey"
6134
6313
  | "message-batch"
6314
+ | "messaging-service"
6135
6315
  | "mistral-agent"
6136
6316
  | "mistral-api-key"
6137
6317
  | "mistral-batch-job"
@@ -6145,10 +6325,12 @@ module Infrawrench
6145
6325
  | "model-endpoint"
6146
6326
  | "model-version"
6147
6327
  | "mongodb-database"
6328
+ | "monitor"
6148
6329
  | "mq-broker"
6149
6330
  | "msk-cluster"
6150
6331
  | "mssql-database"
6151
6332
  | "mysql-database"
6333
+ | "namespace"
6152
6334
  | "nat-gateway"
6153
6335
  | "neon-ai-gateway"
6154
6336
  | "neon-auth"
@@ -6176,12 +6358,16 @@ module Infrawrench
6176
6358
  | "netlify-site"
6177
6359
  | "netlify-snippet"
6178
6360
  | "network"
6361
+ | "network-connection"
6362
+ | "nexus-endpoint"
6179
6363
  | "nfs-share"
6180
6364
  | "node-pool"
6365
+ | "nodebalancer"
6181
6366
  | "notification-policy"
6182
6367
  | "object-storage-bucket"
6183
6368
  | "octavia-load-balancer"
6184
6369
  | "oke-cluster"
6370
+ | "online-archive"
6185
6371
  | "opensearch-cluster"
6186
6372
  | "opensearch-domain"
6187
6373
  | "organization"
@@ -6190,16 +6376,21 @@ module Infrawrench
6190
6376
  | "organization-membership"
6191
6377
  | "organization-role"
6192
6378
  | "organization-user"
6379
+ | "outgoing-webhook"
6193
6380
  | "page-rule"
6381
+ | "parsing-rule-group"
6194
6382
  | "permission"
6195
6383
  | "pg-database"
6196
6384
  | "pg-schema"
6197
6385
  | "phone-number"
6386
+ | "pipeline"
6198
6387
  | "placement-group"
6388
+ | "playbook"
6199
6389
  | "postgres-cluster"
6200
6390
  | "posture-integration"
6201
6391
  | "prediction"
6202
6392
  | "primary-ip"
6393
+ | "private-endpoint-service"
6203
6394
  | "private-network"
6204
6395
  | "product-environment"
6205
6396
  | "project"
@@ -6207,6 +6398,7 @@ module Infrawrench
6207
6398
  | "project-rate-limit"
6208
6399
  | "project-service-account"
6209
6400
  | "project-user"
6401
+ | "project-variable"
6210
6402
  | "pronunciation-dict"
6211
6403
  | "pronunciation-dictionary"
6212
6404
  | "provider"
@@ -6222,9 +6414,20 @@ module Infrawrench
6222
6414
  | "purchase"
6223
6415
  | "queue"
6224
6416
  | "quota"
6417
+ | "quota-rule"
6225
6418
  | "r2-bucket"
6226
6419
  | "rate-limit"
6227
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"
6228
6431
  | "rdb-instance"
6229
6432
  | "rds-cluster"
6230
6433
  | "rds-instance"
@@ -6233,6 +6436,9 @@ module Infrawrench
6233
6436
  | "redshift-cluster"
6234
6437
  | "registry-namespace"
6235
6438
  | "reinforcement-fine-tuning-job"
6439
+ | "release"
6440
+ | "repo-blocklist"
6441
+ | "reservation"
6236
6442
  | "reserved-ip"
6237
6443
  | "role"
6238
6444
  | "route-table"
@@ -6240,10 +6446,17 @@ module Infrawrench
6240
6446
  | "route53-hosted-zone"
6241
6447
  | "route53-record-set"
6242
6448
  | "router"
6449
+ | "runner"
6450
+ | "runner-resource-class"
6243
6451
  | "s3-bucket"
6244
6452
  | "sagemaker-endpoint"
6453
+ | "schedule"
6454
+ | "scheduled-function"
6455
+ | "schema-registry"
6456
+ | "search-index"
6245
6457
  | "secret"
6246
6458
  | "secret-manager-secret"
6459
+ | "secret-store"
6247
6460
  | "secrets-manager-secret"
6248
6461
  | "secrets-store-secret"
6249
6462
  | "security-group"
@@ -6252,10 +6465,25 @@ module Infrawrench
6252
6465
  | "server"
6253
6466
  | "serverless-container"
6254
6467
  | "serverless-function"
6468
+ | "serverless-instance"
6469
+ | "serverless-traffic-filter"
6255
6470
  | "service"
6471
+ | "service-account"
6472
+ | "service-version"
6473
+ | "session"
6256
6474
  | "shared-volume"
6257
6475
  | "skill"
6258
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"
6259
6487
  | "sns-topic"
6260
6488
  | "spaces-bucket"
6261
6489
  | "spanner-backup"
@@ -6270,15 +6498,23 @@ module Infrawrench
6270
6498
  | "ssh-target"
6271
6499
  | "ssl-certificate"
6272
6500
  | "ssm-parameter"
6501
+ | "stackscript"
6273
6502
  | "static-ip"
6274
6503
  | "step-function"
6275
6504
  | "storage-box"
6505
+ | "subaccount"
6276
6506
  | "subnet"
6277
6507
  | "supervised-fine-tuning-job"
6278
6508
  | "tailnet"
6279
6509
  | "target-group"
6510
+ | "tco-policy"
6511
+ | "team"
6512
+ | "team-member"
6280
6513
  | "tenancy"
6514
+ | "tls-certificate"
6515
+ | "tls-subscription"
6281
6516
  | "topic-job"
6517
+ | "traffic-filter"
6282
6518
  | "training"
6283
6519
  | "transcript"
6284
6520
  | "transcription"
@@ -6294,9 +6530,12 @@ module Infrawrench
6294
6530
  | "turso-location"
6295
6531
  | "turso-organization-invite"
6296
6532
  | "turso-organization-member"
6533
+ | "twiml-app"
6297
6534
  | "upload-mapping"
6298
6535
  | "upload-preset"
6299
6536
  | "uptime-check"
6537
+ | "uptime-monitor"
6538
+ | "usage-trigger"
6300
6539
  | "user"
6301
6540
  | "user-invite"
6302
6541
  | "ut-app"
@@ -6311,8 +6550,10 @@ module Infrawrench
6311
6550
  | "vercel-project"
6312
6551
  | "vercel-team"
6313
6552
  | "vercel-webhook"
6553
+ | "verify-service"
6314
6554
  | "vertex-ai-endpoint"
6315
6555
  | "vertex-gemini-model"
6556
+ | "vm"
6316
6557
  | "vocabulary"
6317
6558
  | "voice"
6318
6559
  | "voice-agent"
@@ -6322,6 +6563,7 @@ module Infrawrench
6322
6563
  | "vpc-nat-gateway"
6323
6564
  | "vpc-network"
6324
6565
  | "vpc-peering"
6566
+ | "vpc-subnet"
6325
6567
  | "waf-web-acl"
6326
6568
  | "waiting-room"
6327
6569
  | "webhook"
@@ -6593,7 +6835,7 @@ module Infrawrench
6593
6835
 
6594
6836
  # Spec schema: `SavedCostFilterReferent`.
6595
6837
  type saved_cost_filter_referent = {
6596
- "kind" => "budget" | "cost_report" | "cost_graph_widget",
6838
+ "kind" => "budget" | "cost_report" | "cost_graph_widget" | "cost_visibility_scope",
6597
6839
  "id" => String,
6598
6840
  "name" => String,
6599
6841
  ?"dashboardId" => String,
@@ -6789,6 +7031,9 @@ module Infrawrench
6789
7031
  ?"sshUsername" => String
6790
7032
  }
6791
7033
 
7034
+ # Spec schema: `ShareableObjectType`.
7035
+ type shareable_object_type = "cost_report" | "cost_report_folder" | "dashboard"
7036
+
6792
7037
  # Spec schema: `SharedConsole`.
6793
7038
  type shared_console = {
6794
7039
  "id" => String,
@@ -7703,6 +7948,7 @@ module Infrawrench
7703
7948
  attr_reader sync_type: AccountsSyncTypeNamespace
7704
7949
  def initialize: (Transport) -> void
7705
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
7706
7952
  def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
7707
7953
  def detail: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> account_detail
7708
7954
  def export_terraform: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> terraform_export
@@ -8089,6 +8335,13 @@ module Infrawrench
8089
8335
  def update: (id: String, body: cost_scenario_model_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_scenario_model
8090
8336
  end
8091
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
+
8092
8345
  class CostsAnomaliesNamespace
8093
8346
  def initialize: (Transport) -> void
8094
8347
  def acknowledge: (anomaly_id: String, ?org_id: String?, ?body: { "explanation" => String }?, ?request_options: Hash[Symbol, untyped]?) -> cost_anomaly
@@ -8761,6 +9014,13 @@ module Infrawrench
8761
9014
  def request_driver: (console_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> shared_console_state
8762
9015
  end
8763
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
+
8764
9024
  class SlackChannelsNamespace
8765
9025
  def initialize: (Transport) -> void
8766
9026
  def create: (?org_id: String?, ?body: slack_channel_create?, ?request_options: Hash[Symbol, untyped]?) -> slack_channel
@@ -8968,6 +9228,7 @@ module Infrawrench
8968
9228
  attr_reader cost_report_notifications: CostReportNotificationsNamespace
8969
9229
  attr_reader cost_reports: CostReportsNamespace
8970
9230
  attr_reader cost_scenarios: CostScenariosNamespace
9231
+ attr_reader cost_visibility: CostVisibilityNamespace
8971
9232
  attr_reader costs: CostsNamespace
8972
9233
  attr_reader credential_hygiene: CredentialHygieneNamespace
8973
9234
  attr_reader credits: CreditsNamespace
@@ -9015,6 +9276,7 @@ module Infrawrench
9015
9276
  attr_reader session_recordings: SessionRecordingsNamespace
9016
9277
  attr_reader sftp: SftpNamespace
9017
9278
  attr_reader shared_consoles: SharedConsolesNamespace
9279
+ attr_reader sharing: SharingNamespace
9018
9280
  attr_reader slack: SlackNamespace
9019
9281
  attr_reader sql: SqlNamespace
9020
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.43.0
4
+ version: 1.44.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-10-04 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.43.0). 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.43.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.44.0).
62
62
  test_files: []