infrawrench-sdk 1.66.0 → 1.68.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: 1b12c3510f623aa61a1409b1430c1cafccf89a939221ec5cee7d35a51650a6f1
4
- data.tar.gz: a7bb4f300419ad8a0456d5f5d55e6253d0022d2fa98057469b8324c87409061d
3
+ metadata.gz: 2e730f32935d656b33da8b472498c2da67181b07b510dfb6f80f46f6e1e23e1a
4
+ data.tar.gz: 335c07095699c735df7ecfdd6d87f7acebaf5b41e47022765f048bffd8dc1060
5
5
  SHA512:
6
- metadata.gz: 888eb1fb8fffd427d6646e6ab9f1b01f6e12234fbd163ed53a4555157d5dd53b08c2758924a3d458f19d1f154d3e96e7c128beb89986114974c66dd61527b050
7
- data.tar.gz: e283026c7f55b494868da5f38ecc8f9d81019a325be0442a13ef414a15a14318fe11da077b512e4bf13847ef07b9fc76982819175967411d93f420953887d676
6
+ metadata.gz: ad0d25573ec5f7a5315f58256a2984518991b6ebdeaa8f6417d7a6dcaadba1660c26d8f0aa98c79f7cd1d0d3eb5727885e65bc5d6a243a5b5bd6e9149c31ae8a
7
+ data.tar.gz: c963363c2702cc417615a9aee8d7de9f5db30c9b1dd8a3359ce137de9cbe8be30cda0ec2e629c56a57f018d9962dbf7784a461b0eb6a6bc0aa01128a24349511
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.66.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.68.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
- 889 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 892 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.66.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.68.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.66.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.68.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.66.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.66.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.68.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.68.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.66.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.68.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.66.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.68.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -7715,7 +7715,8 @@ module Infrawrench
7715
7715
  # @param to [String, nil] Defaults to today.
7716
7716
  # @param basis [String, nil] Which money to sum. `cash` (the default) is what the provider
7717
7717
  # charged on the day it charged it; `amortized` spreads a commitment's up-front fee across
7718
- # the term it buys. Providers that report no amortized amount fall back to their cash
7718
+ # the term it buys; `blended` also spreads each commitment's discount evenly over all the
7719
+ # usage it could cover. Providers that report no amortized amount fall back to their cash
7719
7720
  # amount.
7720
7721
  # @param adjusted [String, nil] Apply the organization's billing rules (see /billing-rules):
7721
7722
  # markups multiply, and a reallocation moves a centre's spend onto another centre. Off by
@@ -7778,7 +7779,8 @@ module Infrawrench
7778
7779
  # @param to [String, nil] Defaults to today.
7779
7780
  # @param basis [String, nil] Which money to sum. `cash` (the default) is what the provider
7780
7781
  # charged on the day it charged it; `amortized` spreads a commitment's up-front fee across
7781
- # the term it buys. Providers that report no amortized amount fall back to their cash
7782
+ # the term it buys; `blended` also spreads each commitment's discount evenly over all the
7783
+ # usage it could cover. Providers that report no amortized amount fall back to their cash
7782
7784
  # amount.
7783
7785
  # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7784
7786
  # @return [Hash] Parsed JSON, shaped as `UntaggedSpendReport` — see
@@ -9358,9 +9360,10 @@ module Infrawrench
9358
9360
  # @param window_days [Integer, nil]
9359
9361
  # @param cost_basis [String, nil] Which charge-type basis both windows are read on. `cash`
9360
9362
  # (the default) is what the provider charged on the day it charged it; `amortized` spreads a
9361
- # commitment's up-front fee across the term it buys. It is echoed on every response because
9362
- # a delta whose basis is unstated is unreadable — an amortized 'after' against a cash
9363
- # 'before' looks exactly like a saving.
9363
+ # commitment's up-front fee across the term it buys; `blended` also spreads each
9364
+ # commitment's discount evenly over the usage it could cover. It is echoed on every response
9365
+ # because a delta whose basis is unstated is unreadable — an amortized 'after' against a
9366
+ # cash 'before' looks exactly like a saving.
9364
9367
  # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
9365
9368
  # @return [Hash] Parsed JSON, shaped as `DeploymentCostImpact` — see
9366
9369
  # `sig/infrawrench/sdk.rbs`.
@@ -13223,6 +13226,124 @@ module Infrawrench
13223
13226
  end
13224
13227
  end
13225
13228
 
13229
+ # `client.network_flows.kubernetes.settings`
13230
+ class NetworkFlowsKubernetesSettingsNamespace
13231
+ # @api private
13232
+ # @param transport [Transport]
13233
+ def initialize(transport)
13234
+ @transport = transport
13235
+ end
13236
+
13237
+ # Read a cluster's network cost settings
13238
+ #
13239
+ # _Requires permission: `costs:read`._
13240
+ #
13241
+ # GET /api/org/{orgId}/network-flows/kubernetes/{accountId}/settings
13242
+ #
13243
+ # Raises on 404: Not found
13244
+ #
13245
+ # @param org_id [String, nil] Defaults to the `org_id` the client was constructed with.
13246
+ # @param account_id [String]
13247
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
13248
+ # @return [Hash] Parsed JSON, shaped as `KubernetesNetworkSettings` — see
13249
+ # `sig/infrawrench/sdk.rbs`.
13250
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
13251
+ def get(account_id:, org_id: nil, request_options: nil)
13252
+ @transport.request(
13253
+ http_method: "GET",
13254
+ path: "/api/org/{orgId}/network-flows/kubernetes/{accountId}/settings",
13255
+ path_params: { "orgId" => org_id, "accountId" => account_id },
13256
+ request_options: request_options
13257
+ )
13258
+ end
13259
+
13260
+ # Set the billed data-transfer source for a cluster
13261
+ #
13262
+ # Say which billed cost rows are this cluster's data transfer, in the cost
13263
+ # query language. An empty or null query clears it. A query that narrows
13264
+ # nothing is refused: it would apportion the whole bill across one cluster.
13265
+ #
13266
+ # _Requires permission: `costs:write`._
13267
+ #
13268
+ # PUT /api/org/{orgId}/network-flows/kubernetes/{accountId}/settings
13269
+ #
13270
+ # Raises on 400: Bad request
13271
+ #
13272
+ # Raises on 403: Forbidden
13273
+ #
13274
+ # Raises on 404: Not found
13275
+ #
13276
+ # @param org_id [String, nil] Defaults to the `org_id` the client was constructed with.
13277
+ # @param account_id [String]
13278
+ # @param body [Hash] Request body, shaped as `Hash`.
13279
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
13280
+ # @return [Hash] Parsed JSON, shaped as `KubernetesNetworkSettings` — see
13281
+ # `sig/infrawrench/sdk.rbs`.
13282
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
13283
+ def update(account_id:, body:, org_id: nil, request_options: nil)
13284
+ @transport.request(
13285
+ http_method: "PUT",
13286
+ path: "/api/org/{orgId}/network-flows/kubernetes/{accountId}/settings",
13287
+ path_params: { "orgId" => org_id, "accountId" => account_id },
13288
+ body: body,
13289
+ request_options: request_options
13290
+ )
13291
+ end
13292
+ end
13293
+
13294
+ # `client.network_flows.kubernetes`
13295
+ class NetworkFlowsKubernetesNamespace
13296
+ # @return [NetworkFlowsKubernetesSettingsNamespace] `client.network_flows.kubernetes.settings`
13297
+ attr_reader :settings
13298
+
13299
+ # @api private
13300
+ # @param transport [Transport]
13301
+ def initialize(transport)
13302
+ @transport = transport
13303
+ @settings = NetworkFlowsKubernetesSettingsNamespace.new(@transport)
13304
+ end
13305
+
13306
+ # Kubernetes network costs for one cluster
13307
+ #
13308
+ # Pod-level network attribution for a Kubernetes account: bytes by
13309
+ # namespace, workload and boundary (same zone, cross-zone, cross-region,
13310
+ # internet), the largest workload → peer pairs, and which sources the
13311
+ # figures came from.
13312
+ #
13313
+ # `estimatedCost` is bytes at the published rate of the cloud the nodes run
13314
+ # on, with any per-cluster overrides from the account's rates field. When a
13315
+ # billed source is configured (`PUT .../settings`), `allocatedCost`
13316
+ # apportions that real billed spend across the rows day by day, never
13317
+ # handing out more than was billed; the rest is `unallocatedCost`.
13318
+ #
13319
+ # _Requires permission: `costs:read`._
13320
+ #
13321
+ # GET /api/org/{orgId}/network-flows/kubernetes/{accountId}
13322
+ #
13323
+ # Raises on 400: Bad request
13324
+ #
13325
+ # Raises on 404: Not found
13326
+ #
13327
+ # @param org_id [String, nil] Defaults to the `org_id` the client was constructed with.
13328
+ # @param account_id [String]
13329
+ # @param from [String, nil] Inclusive start day. Defaults to 13 days ago.
13330
+ # @param to [String, nil] Inclusive end day. Defaults to today.
13331
+ # @param limit [Integer, nil] Pairs to return in `topTalkers`. Defaults to 25.
13332
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
13333
+ # @return [Hash] Parsed JSON, shaped as `KubernetesNetworkReport` — see
13334
+ # `sig/infrawrench/sdk.rbs`.
13335
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
13336
+ def get(account_id:, org_id: nil, from: nil, to: nil, limit: nil, request_options: nil)
13337
+ @transport.request(
13338
+ http_method: "GET",
13339
+ path: "/api/org/{orgId}/network-flows/kubernetes/{accountId}",
13340
+ path_params: { "orgId" => org_id, "accountId" => account_id },
13341
+ query: { "from" => from, "to" => to, "limit" => limit },
13342
+ request_options: request_options
13343
+ )
13344
+ end
13345
+ end
13346
+
13226
13347
  # `client.network_flows.settings`
13227
13348
  class NetworkFlowsSettingsNamespace
13228
13349
  # @api private
@@ -13289,6 +13410,8 @@ module Infrawrench
13289
13410
 
13290
13411
  # `client.network_flows`
13291
13412
  class NetworkFlowsNamespace
13413
+ # @return [NetworkFlowsKubernetesNamespace] `client.network_flows.kubernetes`
13414
+ attr_reader :kubernetes
13292
13415
  # @return [NetworkFlowsSettingsNamespace] `client.network_flows.settings`
13293
13416
  attr_reader :settings
13294
13417
 
@@ -13296,6 +13419,7 @@ module Infrawrench
13296
13419
  # @param transport [Transport]
13297
13420
  def initialize(transport)
13298
13421
  @transport = transport
13422
+ @kubernetes = NetworkFlowsKubernetesNamespace.new(@transport)
13299
13423
  @settings = NetworkFlowsSettingsNamespace.new(@transport)
13300
13424
  end
13301
13425
 
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.66.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.68.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.66.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.68.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.66.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.68.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.66.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.68.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.66.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.68.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.66.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.68.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.66.0"
18
+ VERSION = "1.68.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.66.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.68.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.66.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.68.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.66.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.68.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.66.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.68.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1105,7 +1105,7 @@ module Infrawrench
1105
1105
  # The basis `actualCents` and `forecastCents` were measured on.
1106
1106
  #
1107
1107
  # Spec schema: `BudgetCostBasis`.
1108
- type budget_cost_basis = "cash" | "amortized"
1108
+ type budget_cost_basis = "cash" | "amortized" | "blended"
1109
1109
 
1110
1110
  # Spec schema: `BudgetCostFilter`.
1111
1111
  type budget_cost_filter = {
@@ -1646,12 +1646,14 @@ module Infrawrench
1646
1646
 
1647
1647
  # Which charge-type basis both windows are read on. `cash` (the default) is
1648
1648
  # what the provider charged on the day it charged it; `amortized` spreads a
1649
- # commitment's up-front fee across the term it buys. It is echoed on every
1650
- # response because a delta whose basis is unstated is unreadable — an
1651
- # amortized 'after' against a cash 'before' looks exactly like a saving.
1649
+ # commitment's up-front fee across the term it buys; `blended` also spreads
1650
+ # each commitment's discount evenly over the usage it could cover. It is
1651
+ # echoed on every response because a delta whose basis is unstated is
1652
+ # unreadable — an amortized 'after' against a cash 'before' looks exactly like
1653
+ # a saving.
1652
1654
  #
1653
1655
  # Spec schema: `ChangeCostBasis`.
1654
- type change_cost_basis = "cash" | "amortized"
1656
+ type change_cost_basis = "cash" | "amortized" | "blended"
1655
1657
 
1656
1658
  # Spec schema: `ChangeCostImpact`.
1657
1659
  type change_cost_impact = {
@@ -1974,6 +1976,7 @@ module Infrawrench
1974
1976
  "dimensions" => Array["service" | "region" | "resource" | "tag"],
1975
1977
  "chargeTypes" => bool,
1976
1978
  "amortization" => bool,
1979
+ ?"blending" => bool,
1977
1980
  "estimated" => bool,
1978
1981
  "granularity" => "daily" | "hourly",
1979
1982
  "costLastPolledAt" => String | nil,
@@ -2282,10 +2285,16 @@ module Infrawrench
2282
2285
  # `amortized` spreads a commitment's up-front fee across the term it buys, so
2283
2286
  # a year of capacity bought on one day is counted on the days it covers.
2284
2287
  # Providers that report no amortized amount fall back to their cash amount, so
2285
- # an amortized query over a mixed estate never drops their spend.
2288
+ # an amortized query over a mixed estate never drops their spend. `blended` is
2289
+ # amortized with each commitment's discount (reservations, savings plans,
2290
+ # committed-use discounts) spread evenly over all the usage it was eligible to
2291
+ # cover, so every eligible hour in the commitment's scope carries the same
2292
+ # effective rate whichever account or resource the provider applied it to: the
2293
+ # fair basis for chargeback. Day totals equal the amortized totals exactly;
2294
+ # rows a provider did not blend fall back to their amortized amount.
2286
2295
  #
2287
2296
  # Spec schema: `CostBasis`.
2288
- type cost_basis = "cash" | "amortized"
2297
+ type cost_basis = "cash" | "amortized" | "blended"
2289
2298
 
2290
2299
  # Time bucket of the x axis. Weeks start on Monday and quarters on the first
2291
2300
  # of January, April, July and October (UTC). `cumulative` is the older
@@ -2345,7 +2354,7 @@ module Infrawrench
2345
2354
  "dateRange" => cost_date_range,
2346
2355
  ?"filters" => Array[cost_report_filter],
2347
2356
  ?"savedFilterId" => String,
2348
- ?"costBasis" => "cash" | "amortized",
2357
+ ?"costBasis" => "cash" | "amortized" | "blended",
2349
2358
  ?"adjusted" => bool
2350
2359
  }
2351
2360
  | {
@@ -2354,7 +2363,7 @@ module Infrawrench
2354
2363
  "dateRange" => cost_date_range,
2355
2364
  ?"filters" => Array[cost_report_filter],
2356
2365
  ?"savedFilterId" => String,
2357
- ?"costBasis" => "cash" | "amortized"
2366
+ ?"costBasis" => "cash" | "amortized" | "blended"
2358
2367
  }
2359
2368
  | {
2360
2369
  "type" => "forecast",
@@ -2421,7 +2430,7 @@ module Infrawrench
2421
2430
  ?"groupByTagKey" => String,
2422
2431
  ?"filters" => Array[cost_report_filter],
2423
2432
  ?"savedFilterId" => String,
2424
- ?"costBasis" => "cash" | "amortized",
2433
+ ?"costBasis" => "cash" | "amortized" | "blended",
2425
2434
  ?"adjusted" => bool,
2426
2435
  ?"topN" => Integer
2427
2436
  }
@@ -2651,7 +2660,7 @@ module Infrawrench
2651
2660
  | "adjustment"
2652
2661
  | "support"
2653
2662
  | "other"],
2654
- ?"costBasis" => "cash" | "amortized"
2663
+ ?"costBasis" => "cash" | "amortized" | "blended"
2655
2664
  }
2656
2665
 
2657
2666
  # Spec schema: `CostExportRunResult`.
@@ -2736,7 +2745,7 @@ module Infrawrench
2736
2745
  ?"comparePreviousPeriod" => bool,
2737
2746
  ?"showForecast" => bool,
2738
2747
  ?"scenarioModelId" => String,
2739
- ?"costBasis" => "cash" | "amortized",
2748
+ ?"costBasis" => "cash" | "amortized" | "blended",
2740
2749
  ?"measure" => cost_measure,
2741
2750
  ?"usageUnit" => String,
2742
2751
  ?"cumulative" => bool
@@ -4950,7 +4959,7 @@ module Infrawrench
4950
4959
  #
4951
4960
  # Spec schema: `InvoiceDerivation`.
4952
4961
  type invoice_derivation = {
4953
- "costBasis" => "cash" | "amortized",
4962
+ "costBasis" => "cash" | "amortized" | "blended",
4954
4963
  "applyBillingRules" => bool,
4955
4964
  "rateDate" => String,
4956
4965
  "rates" => Array[{ "currency" => String, "rate" => Numeric, "effectiveFrom" => String }],
@@ -5155,6 +5164,67 @@ module Infrawrench
5155
5164
  # Spec schema: `JsonObject`.
5156
5165
  type json_object = Hash[String, untyped]
5157
5166
 
5167
+ # Spec schema: `KubernetesNetworkReport`.
5168
+ type kubernetes_network_report = {
5169
+ "accountId" => String,
5170
+ "displayName" => String,
5171
+ "range" => { "from" => String, "to" => String },
5172
+ "estimated" => bool,
5173
+ "currency" => String,
5174
+ "totals" => {
5175
+ "bytes" => Numeric,
5176
+ "estimatedCost" => Numeric,
5177
+ "allocatedCost" => Numeric | nil,
5178
+ "unallocatedCost" => Numeric | nil
5179
+ },
5180
+ "billed" => {
5181
+ "query" => String | nil,
5182
+ "error" => String | nil,
5183
+ "billedCost" => Numeric | nil,
5184
+ "basis" => "cost" | "bytes" | "none",
5185
+ "scaledDays" => Integer,
5186
+ "daysWithoutBilled" => Integer
5187
+ },
5188
+ "scopes" => Array[{
5189
+ "scope" => "intra_zone"
5190
+ | "cross_zone"
5191
+ | "cross_region"
5192
+ | "internet_egress"
5193
+ | "internet_ingress"
5194
+ | "provider_service"
5195
+ | "nat_gateway"
5196
+ | "private_interconnect"
5197
+ | "unknown",
5198
+ "bytes" => Numeric,
5199
+ "estimatedCost" => Numeric,
5200
+ "allocatedCost" => Numeric | nil
5201
+ }],
5202
+ "methods" => Array[{
5203
+ "method" => "flow_log" | "in_cluster_flows" | "counter_estimate" | "",
5204
+ "bytes" => Numeric
5205
+ }],
5206
+ "namespaces" => Array[kubernetes_network_row],
5207
+ "workloads" => Array[kubernetes_network_row],
5208
+ "topTalkers" => Array[network_flow_pair],
5209
+ "collection" => network_flow_account_status & (Hash[String, untyped] | nil)
5210
+ }
5211
+
5212
+ # Spec schema: `KubernetesNetworkRow`.
5213
+ type kubernetes_network_row = {
5214
+ "key" => String,
5215
+ "label" => String,
5216
+ "namespace" => String,
5217
+ "kind" => "workload" | "namespace" | "node" | "truncated",
5218
+ "bytes" => Numeric,
5219
+ "estimatedCost" => Numeric,
5220
+ "allocatedCost" => Numeric | nil,
5221
+ "byScope" => Hash[String, Numeric],
5222
+ "method" => "flow_log" | "in_cluster_flows" | "counter_estimate" | ""
5223
+ }
5224
+
5225
+ # Spec schema: `KubernetesNetworkSettings`.
5226
+ type kubernetes_network_settings = { "accountId" => String, "billedQuery" => String | nil, "updatedAt" => String | nil }
5227
+
5158
5228
  # Spec schema: `KvCommandRequest`.
5159
5229
  type kv_command_request = {
5160
5230
  "accountId" => String,
@@ -5363,7 +5433,7 @@ module Infrawrench
5363
5433
  "contactEmail" => String | nil,
5364
5434
  "billingAddress" => String | nil,
5365
5435
  "billingCurrency" => String,
5366
- "costBasis" => "cash" | "amortized",
5436
+ "costBasis" => "cash" | "amortized" | "blended",
5367
5437
  "applyBillingRules" => bool,
5368
5438
  "pricing" => managed_account_pricing & Hash[String, untyped],
5369
5439
  "notes" => String | nil,
@@ -5382,7 +5452,7 @@ module Infrawrench
5382
5452
  ?"contactEmail" => String | nil,
5383
5453
  ?"billingAddress" => String | nil,
5384
5454
  "billingCurrency" => String,
5385
- ?"costBasis" => "cash" | "amortized",
5455
+ ?"costBasis" => "cash" | "amortized" | "blended",
5386
5456
  ?"applyBillingRules" => bool,
5387
5457
  ?"pricing" => managed_account_pricing & Hash[String, untyped],
5388
5458
  ?"notes" => String | nil,
@@ -5623,6 +5693,7 @@ module Infrawrench
5623
5693
  "pluginId" => String,
5624
5694
  "displayName" => String,
5625
5695
  "supportsFlows" => bool,
5696
+ "recut" => bool,
5626
5697
  "collectedThrough" => String | nil,
5627
5698
  "lastPolledAt" => String | nil,
5628
5699
  "failureCount" => Integer,
@@ -9154,7 +9225,7 @@ module Infrawrench
9154
9225
  ?"filters" => Array[business_metric_scope_term],
9155
9226
  ?"query" => String,
9156
9227
  ?"savedFilterId" => String,
9157
- ?"costBasis" => "cash" | "amortized",
9228
+ ?"costBasis" => "cash" | "amortized" | "blended",
9158
9229
  ?"chargeTypes" => Array[String],
9159
9230
  ?"displayCurrency" => String
9160
9231
  }
@@ -9999,9 +10070,9 @@ module Infrawrench
9999
10070
  def focus_export: (body: focus_export_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> String
10000
10071
  def query: (body: cost_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_query_response
10001
10072
  def rows: (body: cost_push_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_push_response
10002
- def showback: (?org_id: String?, ?from: String?, ?to: String?, ?basis: "cash" | "amortized"?, ?adjusted: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> showback_report
10073
+ def showback: (?org_id: String?, ?from: String?, ?to: String?, ?basis: "cash" | "amortized" | "blended"?, ?adjusted: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> showback_report
10003
10074
  def status: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "accounts" => Array[cost_account_status] }
10004
- def untagged: (?org_id: String?, ?from: String?, ?to: String?, ?basis: "cash" | "amortized"?, ?request_options: Hash[Symbol, untyped]?) -> untagged_spend_report
10075
+ def untagged: (?org_id: String?, ?from: String?, ?to: String?, ?basis: "cash" | "amortized" | "blended"?, ?request_options: Hash[Symbol, untyped]?) -> untagged_spend_report
10005
10076
  end
10006
10077
 
10007
10078
  class CredentialHygieneNamespace
@@ -10395,6 +10466,18 @@ module Infrawrench
10395
10466
  def test: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool, "webhookCount" => Integer, "attempted" => Integer, "succeeded" => Integer }
10396
10467
  end
10397
10468
 
10469
+ class NetworkFlowsKubernetesSettingsNamespace
10470
+ def initialize: (Transport) -> void
10471
+ def get: (account_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> kubernetes_network_settings
10472
+ def update: (account_id: String, body: { "billedQuery" => String | nil }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> kubernetes_network_settings
10473
+ end
10474
+
10475
+ class NetworkFlowsKubernetesNamespace
10476
+ attr_reader settings: NetworkFlowsKubernetesSettingsNamespace
10477
+ def initialize: (Transport) -> void
10478
+ def get: (account_id: String, ?org_id: String?, ?from: String?, ?to: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> kubernetes_network_report
10479
+ end
10480
+
10398
10481
  class NetworkFlowsSettingsNamespace
10399
10482
  def initialize: (Transport) -> void
10400
10483
  def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> network_flow_settings
@@ -10402,6 +10485,7 @@ module Infrawrench
10402
10485
  end
10403
10486
 
10404
10487
  class NetworkFlowsNamespace
10488
+ attr_reader kubernetes: NetworkFlowsKubernetesNamespace
10405
10489
  attr_reader settings: NetworkFlowsSettingsNamespace
10406
10490
  def initialize: (Transport) -> void
10407
10491
  def get: (?org_id: String?, ?from: String?, ?to: String?, ?scope: "intra_zone" | "cross_zone" | "cross_region" | "internet_egress" | "internet_ingress" | "provider_service" | "nat_gateway" | "private_interconnect" | "unknown"?, ?account_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> network_flow_feed
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.66.0
4
+ version: 1.68.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-05 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.66.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.68.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.66.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.68.0).
62
62
  test_files: []