infrawrench-sdk 1.66.0 → 1.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/infrawrench-sdk.gemspec +4 -4
- data/lib/infrawrench/client.rb +212 -10
- data/lib/infrawrench/sdk.rb +2 -2
- data/lib/infrawrench/transport.rb +2 -2
- data/lib/infrawrench/version.rb +3 -3
- data/lib/infrawrench-sdk.rb +2 -2
- data/sig/infrawrench/sdk.rbs +246 -36
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 46cb020003e6f0ccd4c0df6c8eaa6941ace890215f3818597b2d3a188d151f7c
|
|
4
|
+
data.tar.gz: e392a0ed1b80a61ee7f0dc476c785ad97fc69ee6d58160f79ae402579fd808ee
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dda0c71d25b1d8a63605f0bda392441bfaf6bf7037ea86bc241c2e445512612004db1f07cb6d8f64f04c34d7f23dfcefc2fb6b0f3f2585b311df1bd12a872c42
|
|
7
|
+
data.tar.gz: f0d91cee4b944347d3899857752f0a75d25927924e6bd0fddf99bf9611b0a94d031bad2f8a67400ddf4cb364cdd0fb78e0ad9c8bd33cd222da4e44af96256768
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# infrawrench-sdk
|
|
2
2
|
|
|
3
|
-
Generated Ruby client for the Infrawrench API (API version `1.
|
|
3
|
+
Generated Ruby client for the Infrawrench API (API version `1.69.0`).
|
|
4
4
|
|
|
5
5
|
**Do not edit this gem by hand** — it is regenerated from `openapi.json` and is
|
|
6
6
|
not checked into the repository. Run
|
|
@@ -41,7 +41,7 @@ Every method takes an optional trailing `request_options:` hash (`:headers`,
|
|
|
41
41
|
Responses are the plain `Hash`/`Array` that `JSON.parse` returns, with String
|
|
42
42
|
keys spelled exactly as the wire spells them. There are no model classes — see
|
|
43
43
|
[`sig/infrawrench/sdk.rbs`](./sig/infrawrench/sdk.rbs) for the shape of every one of the
|
|
44
|
-
|
|
44
|
+
900 schemas, as RBS type aliases that steep and TypeProf can read.
|
|
45
45
|
|
|
46
46
|
Non-2xx responses raise `Infrawrench::ApiError`, which carries `#status`,
|
|
47
47
|
the parsed `#body`, and the machine-readable `#code` when the API sends one —
|
data/infrawrench-sdk.gemspec
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.69.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.69.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -17,8 +17,8 @@ require_relative "lib/infrawrench/version"
|
|
|
17
17
|
Gem::Specification.new do |spec|
|
|
18
18
|
spec.name = "infrawrench-sdk"
|
|
19
19
|
spec.version = Infrawrench::VERSION
|
|
20
|
-
spec.summary = "Generated Ruby client for the Infrawrench API (v1.
|
|
21
|
-
spec.description = "Generated Ruby client for the Infrawrench API (v1.
|
|
20
|
+
spec.summary = "Generated Ruby client for the Infrawrench API (v1.69.0)."
|
|
21
|
+
spec.description = "Generated Ruby client for the Infrawrench API (v1.69.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
|
|
22
22
|
spec.authors = ["Infrawrench LLC", "Astrid Gealer"]
|
|
23
23
|
spec.email = ["astrid@infrawrench.com"]
|
|
24
24
|
spec.homepage = "https://infrawrench.com/docs/team-and-billing/client-sdks"
|
data/lib/infrawrench/client.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.69.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.69.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -3673,6 +3673,31 @@ module Infrawrench
|
|
|
3673
3673
|
)
|
|
3674
3674
|
end
|
|
3675
3675
|
|
|
3676
|
+
# List a metric's labels
|
|
3677
|
+
#
|
|
3678
|
+
# The label keys the metric's values carry, each with its distinct values
|
|
3679
|
+
# (at most 500) and its cost mapping. A mapped label nobody has reported yet
|
|
3680
|
+
# is listed with no values.
|
|
3681
|
+
#
|
|
3682
|
+
# GET /api/org/{orgId}/business-metrics/{id}/labels
|
|
3683
|
+
#
|
|
3684
|
+
# Raises on 404: Not found
|
|
3685
|
+
#
|
|
3686
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3687
|
+
# constructed with.
|
|
3688
|
+
# @param id [String] Metric id or key
|
|
3689
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3690
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
3691
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3692
|
+
def labels(id:, org_id: nil, request_options: nil)
|
|
3693
|
+
@transport.request(
|
|
3694
|
+
http_method: "GET",
|
|
3695
|
+
path: "/api/org/{orgId}/business-metrics/{id}/labels",
|
|
3696
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
3697
|
+
request_options: request_options
|
|
3698
|
+
)
|
|
3699
|
+
end
|
|
3700
|
+
|
|
3676
3701
|
# Query unit costs or margin
|
|
3677
3702
|
#
|
|
3678
3703
|
# Divide spend by the metric, bucketed as asked. Three properties of the
|
|
@@ -3687,9 +3712,11 @@ module Infrawrench
|
|
|
3687
3712
|
# - **Currencies are never merged.** Spend in a currency with no stated rate
|
|
3688
3713
|
# keeps its own series rather than being dropped or added to another.
|
|
3689
3714
|
#
|
|
3690
|
-
# There is no `groupBy`: a per-group ratio
|
|
3691
|
-
# denominator
|
|
3692
|
-
#
|
|
3715
|
+
# There is no spend `groupBy`: a per-group ratio needs a per-group
|
|
3716
|
+
# denominator. Split by a metric label with `groupByLabel` instead; in a
|
|
3717
|
+
# ratio mode the label must be mapped to the cost dimension its values name
|
|
3718
|
+
# (`labelMappings` on the metric), so each label value's spend is divided by
|
|
3719
|
+
# its own volume.
|
|
3693
3720
|
#
|
|
3694
3721
|
# _Requires permission: `costs:read`._
|
|
3695
3722
|
#
|
|
@@ -3750,6 +3777,57 @@ module Infrawrench
|
|
|
3750
3777
|
request_options: request_options
|
|
3751
3778
|
)
|
|
3752
3779
|
end
|
|
3780
|
+
|
|
3781
|
+
# Query cost per usage unit
|
|
3782
|
+
#
|
|
3783
|
+
# Spend divided by the usage quantity providers report in one `usageUnit`,
|
|
3784
|
+
# with no business metric involved. Both halves come from the same cost rows
|
|
3785
|
+
# (those reported in that unit), so the numerator is exactly the spend that
|
|
3786
|
+
# bought the denominator. A bucket with no usage is a gap (`no_usage`),
|
|
3787
|
+
# never 0. Labels do not apply.
|
|
3788
|
+
#
|
|
3789
|
+
# POST /api/org/{orgId}/business-metrics/usage-unit-costs
|
|
3790
|
+
#
|
|
3791
|
+
# Raises on 400: Bad request
|
|
3792
|
+
#
|
|
3793
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3794
|
+
# constructed with.
|
|
3795
|
+
# @param body [Hash] Request body, shaped as `UnitCostQueryRequest`.
|
|
3796
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3797
|
+
# @return [Hash] Parsed JSON, shaped as `UnitCostQueryResponse` — see
|
|
3798
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
3799
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3800
|
+
def usage_unit_costs(body:, org_id: nil, request_options: nil)
|
|
3801
|
+
@transport.request(
|
|
3802
|
+
http_method: "POST",
|
|
3803
|
+
path: "/api/org/{orgId}/business-metrics/usage-unit-costs",
|
|
3804
|
+
path_params: { "orgId" => org_id },
|
|
3805
|
+
body: body,
|
|
3806
|
+
request_options: request_options
|
|
3807
|
+
)
|
|
3808
|
+
end
|
|
3809
|
+
|
|
3810
|
+
# List usage units
|
|
3811
|
+
#
|
|
3812
|
+
# The provider usage units the organization's cost rows carry over the last
|
|
3813
|
+
# 90 days, most spend first, with a few of the services reporting each.
|
|
3814
|
+
# Backs the per-usage-unit picker.
|
|
3815
|
+
#
|
|
3816
|
+
# GET /api/org/{orgId}/business-metrics/usage-units
|
|
3817
|
+
#
|
|
3818
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3819
|
+
# constructed with.
|
|
3820
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3821
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
3822
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3823
|
+
def usage_units(org_id: nil, request_options: nil)
|
|
3824
|
+
@transport.request(
|
|
3825
|
+
http_method: "GET",
|
|
3826
|
+
path: "/api/org/{orgId}/business-metrics/usage-units",
|
|
3827
|
+
path_params: { "orgId" => org_id },
|
|
3828
|
+
request_options: request_options
|
|
3829
|
+
)
|
|
3830
|
+
end
|
|
3753
3831
|
end
|
|
3754
3832
|
|
|
3755
3833
|
# `client.calendar.subscriptions`
|
|
@@ -7715,7 +7793,8 @@ module Infrawrench
|
|
|
7715
7793
|
# @param to [String, nil] Defaults to today.
|
|
7716
7794
|
# @param basis [String, nil] Which money to sum. `cash` (the default) is what the provider
|
|
7717
7795
|
# charged on the day it charged it; `amortized` spreads a commitment's up-front fee across
|
|
7718
|
-
# the term it buys
|
|
7796
|
+
# the term it buys; `blended` also spreads each commitment's discount evenly over all the
|
|
7797
|
+
# usage it could cover. Providers that report no amortized amount fall back to their cash
|
|
7719
7798
|
# amount.
|
|
7720
7799
|
# @param adjusted [String, nil] Apply the organization's billing rules (see /billing-rules):
|
|
7721
7800
|
# markups multiply, and a reallocation moves a centre's spend onto another centre. Off by
|
|
@@ -7778,7 +7857,8 @@ module Infrawrench
|
|
|
7778
7857
|
# @param to [String, nil] Defaults to today.
|
|
7779
7858
|
# @param basis [String, nil] Which money to sum. `cash` (the default) is what the provider
|
|
7780
7859
|
# charged on the day it charged it; `amortized` spreads a commitment's up-front fee across
|
|
7781
|
-
# the term it buys
|
|
7860
|
+
# the term it buys; `blended` also spreads each commitment's discount evenly over all the
|
|
7861
|
+
# usage it could cover. Providers that report no amortized amount fall back to their cash
|
|
7782
7862
|
# amount.
|
|
7783
7863
|
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7784
7864
|
# @return [Hash] Parsed JSON, shaped as `UntaggedSpendReport` — see
|
|
@@ -9358,9 +9438,10 @@ module Infrawrench
|
|
|
9358
9438
|
# @param window_days [Integer, nil]
|
|
9359
9439
|
# @param cost_basis [String, nil] Which charge-type basis both windows are read on. `cash`
|
|
9360
9440
|
# (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
|
|
9362
|
-
#
|
|
9363
|
-
# '
|
|
9441
|
+
# commitment's up-front fee across the term it buys; `blended` also spreads each
|
|
9442
|
+
# commitment's discount evenly over the usage it could cover. It is echoed on every response
|
|
9443
|
+
# because a delta whose basis is unstated is unreadable — an amortized 'after' against a
|
|
9444
|
+
# cash 'before' looks exactly like a saving.
|
|
9364
9445
|
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
9365
9446
|
# @return [Hash] Parsed JSON, shaped as `DeploymentCostImpact` — see
|
|
9366
9447
|
# `sig/infrawrench/sdk.rbs`.
|
|
@@ -13223,6 +13304,124 @@ module Infrawrench
|
|
|
13223
13304
|
end
|
|
13224
13305
|
end
|
|
13225
13306
|
|
|
13307
|
+
# `client.network_flows.kubernetes.settings`
|
|
13308
|
+
class NetworkFlowsKubernetesSettingsNamespace
|
|
13309
|
+
# @api private
|
|
13310
|
+
# @param transport [Transport]
|
|
13311
|
+
def initialize(transport)
|
|
13312
|
+
@transport = transport
|
|
13313
|
+
end
|
|
13314
|
+
|
|
13315
|
+
# Read a cluster's network cost settings
|
|
13316
|
+
#
|
|
13317
|
+
# _Requires permission: `costs:read`._
|
|
13318
|
+
#
|
|
13319
|
+
# GET /api/org/{orgId}/network-flows/kubernetes/{accountId}/settings
|
|
13320
|
+
#
|
|
13321
|
+
# Raises on 404: Not found
|
|
13322
|
+
#
|
|
13323
|
+
# @param org_id [String, nil] Defaults to the `org_id` the client was constructed with.
|
|
13324
|
+
# @param account_id [String]
|
|
13325
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
13326
|
+
# @return [Hash] Parsed JSON, shaped as `KubernetesNetworkSettings` — see
|
|
13327
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
13328
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
13329
|
+
def get(account_id:, org_id: nil, request_options: nil)
|
|
13330
|
+
@transport.request(
|
|
13331
|
+
http_method: "GET",
|
|
13332
|
+
path: "/api/org/{orgId}/network-flows/kubernetes/{accountId}/settings",
|
|
13333
|
+
path_params: { "orgId" => org_id, "accountId" => account_id },
|
|
13334
|
+
request_options: request_options
|
|
13335
|
+
)
|
|
13336
|
+
end
|
|
13337
|
+
|
|
13338
|
+
# Set the billed data-transfer source for a cluster
|
|
13339
|
+
#
|
|
13340
|
+
# Say which billed cost rows are this cluster's data transfer, in the cost
|
|
13341
|
+
# query language. An empty or null query clears it. A query that narrows
|
|
13342
|
+
# nothing is refused: it would apportion the whole bill across one cluster.
|
|
13343
|
+
#
|
|
13344
|
+
# _Requires permission: `costs:write`._
|
|
13345
|
+
#
|
|
13346
|
+
# PUT /api/org/{orgId}/network-flows/kubernetes/{accountId}/settings
|
|
13347
|
+
#
|
|
13348
|
+
# Raises on 400: Bad request
|
|
13349
|
+
#
|
|
13350
|
+
# Raises on 403: Forbidden
|
|
13351
|
+
#
|
|
13352
|
+
# Raises on 404: Not found
|
|
13353
|
+
#
|
|
13354
|
+
# @param org_id [String, nil] Defaults to the `org_id` the client was constructed with.
|
|
13355
|
+
# @param account_id [String]
|
|
13356
|
+
# @param body [Hash] Request body, shaped as `Hash`.
|
|
13357
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
13358
|
+
# @return [Hash] Parsed JSON, shaped as `KubernetesNetworkSettings` — see
|
|
13359
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
13360
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
13361
|
+
def update(account_id:, body:, org_id: nil, request_options: nil)
|
|
13362
|
+
@transport.request(
|
|
13363
|
+
http_method: "PUT",
|
|
13364
|
+
path: "/api/org/{orgId}/network-flows/kubernetes/{accountId}/settings",
|
|
13365
|
+
path_params: { "orgId" => org_id, "accountId" => account_id },
|
|
13366
|
+
body: body,
|
|
13367
|
+
request_options: request_options
|
|
13368
|
+
)
|
|
13369
|
+
end
|
|
13370
|
+
end
|
|
13371
|
+
|
|
13372
|
+
# `client.network_flows.kubernetes`
|
|
13373
|
+
class NetworkFlowsKubernetesNamespace
|
|
13374
|
+
# @return [NetworkFlowsKubernetesSettingsNamespace] `client.network_flows.kubernetes.settings`
|
|
13375
|
+
attr_reader :settings
|
|
13376
|
+
|
|
13377
|
+
# @api private
|
|
13378
|
+
# @param transport [Transport]
|
|
13379
|
+
def initialize(transport)
|
|
13380
|
+
@transport = transport
|
|
13381
|
+
@settings = NetworkFlowsKubernetesSettingsNamespace.new(@transport)
|
|
13382
|
+
end
|
|
13383
|
+
|
|
13384
|
+
# Kubernetes network costs for one cluster
|
|
13385
|
+
#
|
|
13386
|
+
# Pod-level network attribution for a Kubernetes account: bytes by
|
|
13387
|
+
# namespace, workload and boundary (same zone, cross-zone, cross-region,
|
|
13388
|
+
# internet), the largest workload → peer pairs, and which sources the
|
|
13389
|
+
# figures came from.
|
|
13390
|
+
#
|
|
13391
|
+
# `estimatedCost` is bytes at the published rate of the cloud the nodes run
|
|
13392
|
+
# on, with any per-cluster overrides from the account's rates field. When a
|
|
13393
|
+
# billed source is configured (`PUT .../settings`), `allocatedCost`
|
|
13394
|
+
# apportions that real billed spend across the rows day by day, never
|
|
13395
|
+
# handing out more than was billed; the rest is `unallocatedCost`.
|
|
13396
|
+
#
|
|
13397
|
+
# _Requires permission: `costs:read`._
|
|
13398
|
+
#
|
|
13399
|
+
# GET /api/org/{orgId}/network-flows/kubernetes/{accountId}
|
|
13400
|
+
#
|
|
13401
|
+
# Raises on 400: Bad request
|
|
13402
|
+
#
|
|
13403
|
+
# Raises on 404: Not found
|
|
13404
|
+
#
|
|
13405
|
+
# @param org_id [String, nil] Defaults to the `org_id` the client was constructed with.
|
|
13406
|
+
# @param account_id [String]
|
|
13407
|
+
# @param from [String, nil] Inclusive start day. Defaults to 13 days ago.
|
|
13408
|
+
# @param to [String, nil] Inclusive end day. Defaults to today.
|
|
13409
|
+
# @param limit [Integer, nil] Pairs to return in `topTalkers`. Defaults to 25.
|
|
13410
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
13411
|
+
# @return [Hash] Parsed JSON, shaped as `KubernetesNetworkReport` — see
|
|
13412
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
13413
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
13414
|
+
def get(account_id:, org_id: nil, from: nil, to: nil, limit: nil, request_options: nil)
|
|
13415
|
+
@transport.request(
|
|
13416
|
+
http_method: "GET",
|
|
13417
|
+
path: "/api/org/{orgId}/network-flows/kubernetes/{accountId}",
|
|
13418
|
+
path_params: { "orgId" => org_id, "accountId" => account_id },
|
|
13419
|
+
query: { "from" => from, "to" => to, "limit" => limit },
|
|
13420
|
+
request_options: request_options
|
|
13421
|
+
)
|
|
13422
|
+
end
|
|
13423
|
+
end
|
|
13424
|
+
|
|
13226
13425
|
# `client.network_flows.settings`
|
|
13227
13426
|
class NetworkFlowsSettingsNamespace
|
|
13228
13427
|
# @api private
|
|
@@ -13289,6 +13488,8 @@ module Infrawrench
|
|
|
13289
13488
|
|
|
13290
13489
|
# `client.network_flows`
|
|
13291
13490
|
class NetworkFlowsNamespace
|
|
13491
|
+
# @return [NetworkFlowsKubernetesNamespace] `client.network_flows.kubernetes`
|
|
13492
|
+
attr_reader :kubernetes
|
|
13292
13493
|
# @return [NetworkFlowsSettingsNamespace] `client.network_flows.settings`
|
|
13293
13494
|
attr_reader :settings
|
|
13294
13495
|
|
|
@@ -13296,6 +13497,7 @@ module Infrawrench
|
|
|
13296
13497
|
# @param transport [Transport]
|
|
13297
13498
|
def initialize(transport)
|
|
13298
13499
|
@transport = transport
|
|
13500
|
+
@kubernetes = NetworkFlowsKubernetesNamespace.new(@transport)
|
|
13299
13501
|
@settings = NetworkFlowsSettingsNamespace.new(@transport)
|
|
13300
13502
|
end
|
|
13301
13503
|
|
data/lib/infrawrench/sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.69.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.69.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.69.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.69.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
data/lib/infrawrench/version.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.69.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.69.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
# Kept in its own file so the gemspec can read the version without loading the
|
|
16
16
|
# client — a gemspec that pulls in net/http is a gemspec that can fail to parse.
|
|
17
17
|
module Infrawrench
|
|
18
|
-
VERSION = "1.
|
|
18
|
+
VERSION = "1.69.0"
|
|
19
19
|
end
|
data/lib/infrawrench-sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.69.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.69.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
data/sig/infrawrench/sdk.rbs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# infrawrench-sdk v1.
|
|
1
|
+
# infrawrench-sdk v1.69.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
2
2
|
# https://github.com/Infrawrench/Infrawrench
|
|
3
3
|
#
|
|
4
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.
|
|
4
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.69.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 = {
|
|
@@ -1261,6 +1261,8 @@ module Infrawrench
|
|
|
1261
1261
|
"currency" => String | nil,
|
|
1262
1262
|
"costScope" => Array[business_metric_scope_term],
|
|
1263
1263
|
"savedFilterId" => String | nil,
|
|
1264
|
+
"labelMappings" => Array[business_metric_label_mapping],
|
|
1265
|
+
"thresholds" => Array[unit_cost_threshold],
|
|
1264
1266
|
"createdByUserId" => String | nil,
|
|
1265
1267
|
"createdAt" => String,
|
|
1266
1268
|
"updatedAt" => String,
|
|
@@ -1385,7 +1387,9 @@ module Infrawrench
|
|
|
1385
1387
|
"kind" => business_metric_kind,
|
|
1386
1388
|
?"currency" => String,
|
|
1387
1389
|
?"costScope" => Array[business_metric_scope_term],
|
|
1388
|
-
?"savedFilterId" => String
|
|
1390
|
+
?"savedFilterId" => String,
|
|
1391
|
+
?"labelMappings" => Array[business_metric_label_mapping],
|
|
1392
|
+
?"thresholds" => Array[unit_cost_threshold]
|
|
1389
1393
|
}
|
|
1390
1394
|
|
|
1391
1395
|
# What the metric's numbers are. `count` is a unit-less quantity (customers,
|
|
@@ -1397,6 +1401,65 @@ module Infrawrench
|
|
|
1397
1401
|
# Spec schema: `BusinessMetricKind`.
|
|
1398
1402
|
type business_metric_kind = "count" | "currency"
|
|
1399
1403
|
|
|
1404
|
+
# Joins a label to a cost dimension so unit cost and margin can be computed
|
|
1405
|
+
# per label value (cost per customer). Ratio modes refuse an unmapped label:
|
|
1406
|
+
# without a per-value numerator the only spend available is the whole scope's.
|
|
1407
|
+
#
|
|
1408
|
+
# Spec schema: `BusinessMetricLabelMapping`.
|
|
1409
|
+
type business_metric_label_mapping = { "label" => String, "target" => business_metric_label_target }
|
|
1410
|
+
|
|
1411
|
+
# Spec schema: `BusinessMetricLabelSummary`.
|
|
1412
|
+
type business_metric_label_summary = {
|
|
1413
|
+
"key" => String,
|
|
1414
|
+
"values" => Array[String],
|
|
1415
|
+
"truncated" => bool,
|
|
1416
|
+
"mapping" => business_metric_label_target
|
|
1417
|
+
& ({
|
|
1418
|
+
"kind" => "dimension",
|
|
1419
|
+
"dimension" => "provider"
|
|
1420
|
+
| "account"
|
|
1421
|
+
| "service"
|
|
1422
|
+
| "region"
|
|
1423
|
+
| "resource"
|
|
1424
|
+
| "tag"
|
|
1425
|
+
| "charge_type"
|
|
1426
|
+
| "commitment"
|
|
1427
|
+
| "virtual_tag",
|
|
1428
|
+
?"tagKey" => String
|
|
1429
|
+
}
|
|
1430
|
+
| { "kind" => "cost_centre" }
|
|
1431
|
+
| nil)
|
|
1432
|
+
}
|
|
1433
|
+
|
|
1434
|
+
# Where a label's values live on the cost side. A `dimension` target matches
|
|
1435
|
+
# label values to dimension values exactly; `cost_centre` matches a centre by
|
|
1436
|
+
# id or, case-insensitively, by name.
|
|
1437
|
+
#
|
|
1438
|
+
# Spec schema: `BusinessMetricLabelTarget`.
|
|
1439
|
+
type business_metric_label_target = {
|
|
1440
|
+
"kind" => "dimension",
|
|
1441
|
+
"dimension" => "provider"
|
|
1442
|
+
| "account"
|
|
1443
|
+
| "service"
|
|
1444
|
+
| "region"
|
|
1445
|
+
| "resource"
|
|
1446
|
+
| "tag"
|
|
1447
|
+
| "charge_type"
|
|
1448
|
+
| "commitment"
|
|
1449
|
+
| "virtual_tag",
|
|
1450
|
+
?"tagKey" => String
|
|
1451
|
+
}
|
|
1452
|
+
| { "kind" => "cost_centre" }
|
|
1453
|
+
|
|
1454
|
+
# A value's labels, e.g. `{ "customer": "acme", "plan": "pro" }`. At most 8,
|
|
1455
|
+
# keys are slugs, values up to 200 characters. Rows partition the metric: a
|
|
1456
|
+
# day's total is the sum of every row for it, so report a breakdown or a
|
|
1457
|
+
# total, never both. The same day with the same labels restates; different
|
|
1458
|
+
# labels are a different row.
|
|
1459
|
+
#
|
|
1460
|
+
# Spec schema: `BusinessMetricLabels`.
|
|
1461
|
+
type business_metric_labels = Hash[String, String]
|
|
1462
|
+
|
|
1400
1463
|
# Spec schema: `BusinessMetricScopeTerm`.
|
|
1401
1464
|
type business_metric_scope_term = {
|
|
1402
1465
|
"dimension" => "provider"
|
|
@@ -1449,12 +1512,20 @@ module Infrawrench
|
|
|
1449
1512
|
"day" => String,
|
|
1450
1513
|
"value" => Numeric,
|
|
1451
1514
|
"label" => String | nil,
|
|
1515
|
+
"labels" => business_metric_labels,
|
|
1452
1516
|
"source" => "api" | "workflow" | "import",
|
|
1453
1517
|
"updatedAt" => String
|
|
1454
1518
|
}
|
|
1455
1519
|
|
|
1456
1520
|
# Spec schema: `BusinessMetricValuesInput`.
|
|
1457
|
-
type business_metric_values_input = {
|
|
1521
|
+
type business_metric_values_input = {
|
|
1522
|
+
"values" => Array[{
|
|
1523
|
+
"date" => String,
|
|
1524
|
+
"value" => Numeric,
|
|
1525
|
+
?"label" => String,
|
|
1526
|
+
?"labels" => business_metric_labels
|
|
1527
|
+
}]
|
|
1528
|
+
}
|
|
1458
1529
|
|
|
1459
1530
|
# Spec schema: `CalendarEvent`.
|
|
1460
1531
|
type calendar_event = {
|
|
@@ -1646,12 +1717,14 @@ module Infrawrench
|
|
|
1646
1717
|
|
|
1647
1718
|
# Which charge-type basis both windows are read on. `cash` (the default) is
|
|
1648
1719
|
# what the provider charged on the day it charged it; `amortized` spreads a
|
|
1649
|
-
# commitment's up-front fee across the term it buys
|
|
1650
|
-
#
|
|
1651
|
-
#
|
|
1720
|
+
# commitment's up-front fee across the term it buys; `blended` also spreads
|
|
1721
|
+
# each commitment's discount evenly over the usage it could cover. It is
|
|
1722
|
+
# echoed on every response because a delta whose basis is unstated is
|
|
1723
|
+
# unreadable — an amortized 'after' against a cash 'before' looks exactly like
|
|
1724
|
+
# a saving.
|
|
1652
1725
|
#
|
|
1653
1726
|
# Spec schema: `ChangeCostBasis`.
|
|
1654
|
-
type change_cost_basis = "cash" | "amortized"
|
|
1727
|
+
type change_cost_basis = "cash" | "amortized" | "blended"
|
|
1655
1728
|
|
|
1656
1729
|
# Spec schema: `ChangeCostImpact`.
|
|
1657
1730
|
type change_cost_impact = {
|
|
@@ -1974,6 +2047,7 @@ module Infrawrench
|
|
|
1974
2047
|
"dimensions" => Array["service" | "region" | "resource" | "tag"],
|
|
1975
2048
|
"chargeTypes" => bool,
|
|
1976
2049
|
"amortization" => bool,
|
|
2050
|
+
?"blending" => bool,
|
|
1977
2051
|
"estimated" => bool,
|
|
1978
2052
|
"granularity" => "daily" | "hourly",
|
|
1979
2053
|
"costLastPolledAt" => String | nil,
|
|
@@ -2282,10 +2356,16 @@ module Infrawrench
|
|
|
2282
2356
|
# `amortized` spreads a commitment's up-front fee across the term it buys, so
|
|
2283
2357
|
# a year of capacity bought on one day is counted on the days it covers.
|
|
2284
2358
|
# 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.
|
|
2359
|
+
# an amortized query over a mixed estate never drops their spend. `blended` is
|
|
2360
|
+
# amortized with each commitment's discount (reservations, savings plans,
|
|
2361
|
+
# committed-use discounts) spread evenly over all the usage it was eligible to
|
|
2362
|
+
# cover, so every eligible hour in the commitment's scope carries the same
|
|
2363
|
+
# effective rate whichever account or resource the provider applied it to: the
|
|
2364
|
+
# fair basis for chargeback. Day totals equal the amortized totals exactly;
|
|
2365
|
+
# rows a provider did not blend fall back to their amortized amount.
|
|
2286
2366
|
#
|
|
2287
2367
|
# Spec schema: `CostBasis`.
|
|
2288
|
-
type cost_basis = "cash" | "amortized"
|
|
2368
|
+
type cost_basis = "cash" | "amortized" | "blended"
|
|
2289
2369
|
|
|
2290
2370
|
# Time bucket of the x axis. Weeks start on Monday and quarters on the first
|
|
2291
2371
|
# of January, April, July and October (UTC). `cumulative` is the older
|
|
@@ -2345,7 +2425,7 @@ module Infrawrench
|
|
|
2345
2425
|
"dateRange" => cost_date_range,
|
|
2346
2426
|
?"filters" => Array[cost_report_filter],
|
|
2347
2427
|
?"savedFilterId" => String,
|
|
2348
|
-
?"costBasis" => "cash" | "amortized",
|
|
2428
|
+
?"costBasis" => "cash" | "amortized" | "blended",
|
|
2349
2429
|
?"adjusted" => bool
|
|
2350
2430
|
}
|
|
2351
2431
|
| {
|
|
@@ -2354,7 +2434,7 @@ module Infrawrench
|
|
|
2354
2434
|
"dateRange" => cost_date_range,
|
|
2355
2435
|
?"filters" => Array[cost_report_filter],
|
|
2356
2436
|
?"savedFilterId" => String,
|
|
2357
|
-
?"costBasis" => "cash" | "amortized"
|
|
2437
|
+
?"costBasis" => "cash" | "amortized" | "blended"
|
|
2358
2438
|
}
|
|
2359
2439
|
| {
|
|
2360
2440
|
"type" => "forecast",
|
|
@@ -2421,7 +2501,7 @@ module Infrawrench
|
|
|
2421
2501
|
?"groupByTagKey" => String,
|
|
2422
2502
|
?"filters" => Array[cost_report_filter],
|
|
2423
2503
|
?"savedFilterId" => String,
|
|
2424
|
-
?"costBasis" => "cash" | "amortized",
|
|
2504
|
+
?"costBasis" => "cash" | "amortized" | "blended",
|
|
2425
2505
|
?"adjusted" => bool,
|
|
2426
2506
|
?"topN" => Integer
|
|
2427
2507
|
}
|
|
@@ -2651,7 +2731,7 @@ module Infrawrench
|
|
|
2651
2731
|
| "adjustment"
|
|
2652
2732
|
| "support"
|
|
2653
2733
|
| "other"],
|
|
2654
|
-
?"costBasis" => "cash" | "amortized"
|
|
2734
|
+
?"costBasis" => "cash" | "amortized" | "blended"
|
|
2655
2735
|
}
|
|
2656
2736
|
|
|
2657
2737
|
# Spec schema: `CostExportRunResult`.
|
|
@@ -2736,10 +2816,17 @@ module Infrawrench
|
|
|
2736
2816
|
?"comparePreviousPeriod" => bool,
|
|
2737
2817
|
?"showForecast" => bool,
|
|
2738
2818
|
?"scenarioModelId" => String,
|
|
2739
|
-
?"costBasis" => "cash" | "amortized",
|
|
2819
|
+
?"costBasis" => "cash" | "amortized" | "blended",
|
|
2740
2820
|
?"measure" => cost_measure,
|
|
2741
2821
|
?"usageUnit" => String,
|
|
2742
|
-
?"cumulative" => bool
|
|
2822
|
+
?"cumulative" => bool,
|
|
2823
|
+
?"unitCostMetricId" => String,
|
|
2824
|
+
?"unitCostMode" => "unit_cost" | "margin" | "usage_unit_cost" | "raw_metric",
|
|
2825
|
+
?"unitCostScale" => Numeric | Numeric | Numeric | Numeric | Numeric,
|
|
2826
|
+
?"unitCostUsageUnit" => String,
|
|
2827
|
+
?"unitCostLabelFilters" => Array[{ "key" => String, "op" => "in" | "not_in", "values" => Array[String] }],
|
|
2828
|
+
?"unitCostGroupByLabel" => String,
|
|
2829
|
+
?"adjusted" => bool
|
|
2743
2830
|
}
|
|
2744
2831
|
|
|
2745
2832
|
# What the Y axis sums. `cost` (the default) is money per currency. `usage`
|
|
@@ -3996,7 +4083,7 @@ module Infrawrench
|
|
|
3996
4083
|
# Spec schema: `EfficiencyAlertEvent`.
|
|
3997
4084
|
type efficiency_alert_event = {
|
|
3998
4085
|
"id" => String,
|
|
3999
|
-
"kind" => "commitment_expiry" | "commitment_idle" | "unit_cost_regression",
|
|
4086
|
+
"kind" => "commitment_expiry" | "commitment_idle" | "unit_cost_regression" | "unit_cost_threshold",
|
|
4000
4087
|
"subject" => String,
|
|
4001
4088
|
"accountId" => String | nil,
|
|
4002
4089
|
"accountName" => String | nil,
|
|
@@ -4950,7 +5037,7 @@ module Infrawrench
|
|
|
4950
5037
|
#
|
|
4951
5038
|
# Spec schema: `InvoiceDerivation`.
|
|
4952
5039
|
type invoice_derivation = {
|
|
4953
|
-
"costBasis" => "cash" | "amortized",
|
|
5040
|
+
"costBasis" => "cash" | "amortized" | "blended",
|
|
4954
5041
|
"applyBillingRules" => bool,
|
|
4955
5042
|
"rateDate" => String,
|
|
4956
5043
|
"rates" => Array[{ "currency" => String, "rate" => Numeric, "effectiveFrom" => String }],
|
|
@@ -5155,6 +5242,67 @@ module Infrawrench
|
|
|
5155
5242
|
# Spec schema: `JsonObject`.
|
|
5156
5243
|
type json_object = Hash[String, untyped]
|
|
5157
5244
|
|
|
5245
|
+
# Spec schema: `KubernetesNetworkReport`.
|
|
5246
|
+
type kubernetes_network_report = {
|
|
5247
|
+
"accountId" => String,
|
|
5248
|
+
"displayName" => String,
|
|
5249
|
+
"range" => { "from" => String, "to" => String },
|
|
5250
|
+
"estimated" => bool,
|
|
5251
|
+
"currency" => String,
|
|
5252
|
+
"totals" => {
|
|
5253
|
+
"bytes" => Numeric,
|
|
5254
|
+
"estimatedCost" => Numeric,
|
|
5255
|
+
"allocatedCost" => Numeric | nil,
|
|
5256
|
+
"unallocatedCost" => Numeric | nil
|
|
5257
|
+
},
|
|
5258
|
+
"billed" => {
|
|
5259
|
+
"query" => String | nil,
|
|
5260
|
+
"error" => String | nil,
|
|
5261
|
+
"billedCost" => Numeric | nil,
|
|
5262
|
+
"basis" => "cost" | "bytes" | "none",
|
|
5263
|
+
"scaledDays" => Integer,
|
|
5264
|
+
"daysWithoutBilled" => Integer
|
|
5265
|
+
},
|
|
5266
|
+
"scopes" => Array[{
|
|
5267
|
+
"scope" => "intra_zone"
|
|
5268
|
+
| "cross_zone"
|
|
5269
|
+
| "cross_region"
|
|
5270
|
+
| "internet_egress"
|
|
5271
|
+
| "internet_ingress"
|
|
5272
|
+
| "provider_service"
|
|
5273
|
+
| "nat_gateway"
|
|
5274
|
+
| "private_interconnect"
|
|
5275
|
+
| "unknown",
|
|
5276
|
+
"bytes" => Numeric,
|
|
5277
|
+
"estimatedCost" => Numeric,
|
|
5278
|
+
"allocatedCost" => Numeric | nil
|
|
5279
|
+
}],
|
|
5280
|
+
"methods" => Array[{
|
|
5281
|
+
"method" => "flow_log" | "in_cluster_flows" | "counter_estimate" | "",
|
|
5282
|
+
"bytes" => Numeric
|
|
5283
|
+
}],
|
|
5284
|
+
"namespaces" => Array[kubernetes_network_row],
|
|
5285
|
+
"workloads" => Array[kubernetes_network_row],
|
|
5286
|
+
"topTalkers" => Array[network_flow_pair],
|
|
5287
|
+
"collection" => network_flow_account_status & (Hash[String, untyped] | nil)
|
|
5288
|
+
}
|
|
5289
|
+
|
|
5290
|
+
# Spec schema: `KubernetesNetworkRow`.
|
|
5291
|
+
type kubernetes_network_row = {
|
|
5292
|
+
"key" => String,
|
|
5293
|
+
"label" => String,
|
|
5294
|
+
"namespace" => String,
|
|
5295
|
+
"kind" => "workload" | "namespace" | "node" | "truncated",
|
|
5296
|
+
"bytes" => Numeric,
|
|
5297
|
+
"estimatedCost" => Numeric,
|
|
5298
|
+
"allocatedCost" => Numeric | nil,
|
|
5299
|
+
"byScope" => Hash[String, Numeric],
|
|
5300
|
+
"method" => "flow_log" | "in_cluster_flows" | "counter_estimate" | ""
|
|
5301
|
+
}
|
|
5302
|
+
|
|
5303
|
+
# Spec schema: `KubernetesNetworkSettings`.
|
|
5304
|
+
type kubernetes_network_settings = { "accountId" => String, "billedQuery" => String | nil, "updatedAt" => String | nil }
|
|
5305
|
+
|
|
5158
5306
|
# Spec schema: `KvCommandRequest`.
|
|
5159
5307
|
type kv_command_request = {
|
|
5160
5308
|
"accountId" => String,
|
|
@@ -5363,7 +5511,7 @@ module Infrawrench
|
|
|
5363
5511
|
"contactEmail" => String | nil,
|
|
5364
5512
|
"billingAddress" => String | nil,
|
|
5365
5513
|
"billingCurrency" => String,
|
|
5366
|
-
"costBasis" => "cash" | "amortized",
|
|
5514
|
+
"costBasis" => "cash" | "amortized" | "blended",
|
|
5367
5515
|
"applyBillingRules" => bool,
|
|
5368
5516
|
"pricing" => managed_account_pricing & Hash[String, untyped],
|
|
5369
5517
|
"notes" => String | nil,
|
|
@@ -5382,7 +5530,7 @@ module Infrawrench
|
|
|
5382
5530
|
?"contactEmail" => String | nil,
|
|
5383
5531
|
?"billingAddress" => String | nil,
|
|
5384
5532
|
"billingCurrency" => String,
|
|
5385
|
-
?"costBasis" => "cash" | "amortized",
|
|
5533
|
+
?"costBasis" => "cash" | "amortized" | "blended",
|
|
5386
5534
|
?"applyBillingRules" => bool,
|
|
5387
5535
|
?"pricing" => managed_account_pricing & Hash[String, untyped],
|
|
5388
5536
|
?"notes" => String | nil,
|
|
@@ -5623,6 +5771,7 @@ module Infrawrench
|
|
|
5623
5771
|
"pluginId" => String,
|
|
5624
5772
|
"displayName" => String,
|
|
5625
5773
|
"supportsFlows" => bool,
|
|
5774
|
+
"recut" => bool,
|
|
5626
5775
|
"collectedThrough" => String | nil,
|
|
5627
5776
|
"lastPolledAt" => String | nil,
|
|
5628
5777
|
"failureCount" => Integer,
|
|
@@ -9134,13 +9283,27 @@ module Infrawrench
|
|
|
9134
9283
|
"uri" => String | nil
|
|
9135
9284
|
}
|
|
9136
9285
|
|
|
9286
|
+
# Spec schema: `UnitCostLabelFilter`.
|
|
9287
|
+
type unit_cost_label_filter = { "key" => String, "op" => "in" | "not_in", "values" => Array[String] }
|
|
9288
|
+
|
|
9289
|
+
# `unit_cost` is spend ÷ metric value. `margin` is `(revenue − spend) ÷
|
|
9290
|
+
# revenue` as a fraction, with the absolute margin beside it, and needs a
|
|
9291
|
+
# `currency` metric. `usage_unit_cost` is spend ÷ the usage quantity providers
|
|
9292
|
+
# report in one `usageUnit`, and needs no metric (use `POST
|
|
9293
|
+
# /business-metrics/usage-unit-costs`). `raw_metric` plots the metric itself
|
|
9294
|
+
# beside spend, where zero and negative values are real points.
|
|
9295
|
+
#
|
|
9296
|
+
# Spec schema: `UnitCostMode`.
|
|
9297
|
+
type unit_cost_mode = "unit_cost" | "margin" | "usage_unit_cost" | "raw_metric"
|
|
9298
|
+
|
|
9137
9299
|
# Spec schema: `UnitCostPoint`.
|
|
9138
9300
|
type unit_cost_point = {
|
|
9139
9301
|
"bucket" => String,
|
|
9140
9302
|
"value" => Numeric | nil,
|
|
9141
9303
|
"cost" => Numeric,
|
|
9142
9304
|
"metricValue" => Numeric | nil,
|
|
9143
|
-
?"
|
|
9305
|
+
?"absoluteMargin" => Numeric | nil,
|
|
9306
|
+
?"gap" => "no_metric_value" | "non_positive_metric_value" | "unconvertible_currency" | "no_usage",
|
|
9144
9307
|
"reportedDays" => Integer,
|
|
9145
9308
|
"bucketDays" => Integer
|
|
9146
9309
|
}
|
|
@@ -9150,11 +9313,15 @@ module Infrawrench
|
|
|
9150
9313
|
"from" => String,
|
|
9151
9314
|
"to" => String,
|
|
9152
9315
|
"binning" => "hourly" | "daily" | "weekly" | "monthly" | "quarterly" | "cumulative",
|
|
9153
|
-
?"mode" =>
|
|
9316
|
+
?"mode" => unit_cost_mode,
|
|
9317
|
+
?"scale" => unit_cost_scale,
|
|
9318
|
+
?"labelFilters" => Array[unit_cost_label_filter],
|
|
9319
|
+
?"groupByLabel" => String,
|
|
9320
|
+
?"usageUnit" => String,
|
|
9154
9321
|
?"filters" => Array[business_metric_scope_term],
|
|
9155
9322
|
?"query" => String,
|
|
9156
9323
|
?"savedFilterId" => String,
|
|
9157
|
-
?"costBasis" => "cash" | "amortized",
|
|
9324
|
+
?"costBasis" => "cash" | "amortized" | "blended",
|
|
9158
9325
|
?"chargeTypes" => Array[String],
|
|
9159
9326
|
?"displayCurrency" => String
|
|
9160
9327
|
}
|
|
@@ -9162,15 +9329,20 @@ module Infrawrench
|
|
|
9162
9329
|
# Spec schema: `UnitCostQueryResponse`.
|
|
9163
9330
|
type unit_cost_query_response = {
|
|
9164
9331
|
"metric" => {
|
|
9165
|
-
|
|
9166
|
-
|
|
9167
|
-
|
|
9168
|
-
|
|
9169
|
-
|
|
9170
|
-
|
|
9171
|
-
|
|
9172
|
-
|
|
9332
|
+
"id" => String,
|
|
9333
|
+
"key" => String,
|
|
9334
|
+
"name" => String,
|
|
9335
|
+
"unit" => String,
|
|
9336
|
+
"kind" => business_metric_kind,
|
|
9337
|
+
"currency" => String | nil
|
|
9338
|
+
}
|
|
9339
|
+
| nil,
|
|
9340
|
+
"mode" => unit_cost_mode,
|
|
9173
9341
|
"binning" => "hourly" | "daily" | "weekly" | "monthly" | "quarterly" | "cumulative",
|
|
9342
|
+
"scale" => unit_cost_scale,
|
|
9343
|
+
?"usageUnit" => String,
|
|
9344
|
+
?"groupByLabel" => String,
|
|
9345
|
+
?"costPerLabel" => bool,
|
|
9174
9346
|
"series" => Array[unit_cost_series],
|
|
9175
9347
|
?"conversion" => {
|
|
9176
9348
|
"displayCurrency" => String,
|
|
@@ -9184,13 +9356,35 @@ module Infrawrench
|
|
|
9184
9356
|
"partialBuckets" => Integer
|
|
9185
9357
|
}
|
|
9186
9358
|
|
|
9359
|
+
# "Per N units": multiplies a ratio (cost per 1,000 requests) and divides a
|
|
9360
|
+
# raw metric. Margin ignores it. Absent is 1.
|
|
9361
|
+
#
|
|
9362
|
+
# Spec schema: `UnitCostScale`.
|
|
9363
|
+
type unit_cost_scale = Numeric | Numeric | Numeric | Numeric | Numeric
|
|
9364
|
+
|
|
9187
9365
|
# Spec schema: `UnitCostSeries`.
|
|
9188
9366
|
type unit_cost_series = {
|
|
9189
9367
|
"currency" => String,
|
|
9368
|
+
?"label" => { "key" => String, "value" => String | nil, ?"other" => bool },
|
|
9190
9369
|
"points" => Array[unit_cost_point],
|
|
9191
9370
|
"overallValue" => Numeric | nil,
|
|
9192
9371
|
"overallCost" => Numeric,
|
|
9193
|
-
"overallMetricValue" => Numeric | nil
|
|
9372
|
+
"overallMetricValue" => Numeric | nil,
|
|
9373
|
+
?"overallAbsoluteMargin" => Numeric | nil
|
|
9374
|
+
}
|
|
9375
|
+
|
|
9376
|
+
# A standing limit, evaluated daily on the summed ratio over the trailing
|
|
9377
|
+
# window and routed under the unit-cost alert trigger. A window with fewer
|
|
9378
|
+
# than half its days reported is not judged.
|
|
9379
|
+
#
|
|
9380
|
+
# Spec schema: `UnitCostThreshold`.
|
|
9381
|
+
type unit_cost_threshold = {
|
|
9382
|
+
"mode" => "unit_cost" | "margin",
|
|
9383
|
+
"direction" => "above" | "below",
|
|
9384
|
+
"value" => Numeric,
|
|
9385
|
+
?"scale" => unit_cost_scale,
|
|
9386
|
+
?"groupByLabel" => String,
|
|
9387
|
+
?"windowDays" => Integer
|
|
9194
9388
|
}
|
|
9195
9389
|
|
|
9196
9390
|
# Spec schema: `UnpinRequest`.
|
|
@@ -9721,8 +9915,11 @@ module Infrawrench
|
|
|
9721
9915
|
def importer_options: (body: { "accountId" => String, "fieldKey" => String, "params" => Hash[String, String] }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "options" => Array[{ "id" => String, "label" => String, ?"description" => String }] }
|
|
9722
9916
|
def importer_preview: (body: business_metric_import_preview_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> business_metric_import_preview
|
|
9723
9917
|
def importer_sources: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "sources" => Array[business_metric_source_account] }
|
|
9918
|
+
def labels: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "labels" => Array[business_metric_label_summary] }
|
|
9724
9919
|
def unit_costs: (id: String, body: unit_cost_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> unit_cost_query_response
|
|
9725
9920
|
def update: (id: String, body: business_metric_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> business_metric
|
|
9921
|
+
def usage_unit_costs: (body: unit_cost_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> unit_cost_query_response
|
|
9922
|
+
def usage_units: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "units" => Array[{ "unit" => String, "usage" => Numeric, "services" => Array[String] }] }
|
|
9726
9923
|
end
|
|
9727
9924
|
|
|
9728
9925
|
class CalendarSubscriptionsNamespace
|
|
@@ -9995,13 +10192,13 @@ module Infrawrench
|
|
|
9995
10192
|
def anomaly_precision: (?org_id: String?, ?months: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_anomaly_precision_report
|
|
9996
10193
|
def anomaly_sensitivity: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_anomaly_sensitivity
|
|
9997
10194
|
def dimensions: (dimension: "provider" | "account" | "service" | "region" | "resource" | "tag" | "charge_type" | "commitment" | "virtual_tag" | "tag-keys" | "usage-units" | "virtual-tag-keys", ?org_id: String?, ?tag_key: String?, ?include_hidden: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> cost_dimension_values
|
|
9998
|
-
def efficiency_alerts: (?org_id: String?, ?kind: "commitment_expiry" | "commitment_idle" | "unit_cost_regression"?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> { "events" => Array[efficiency_alert_event] }
|
|
10195
|
+
def efficiency_alerts: (?org_id: String?, ?kind: "commitment_expiry" | "commitment_idle" | "unit_cost_regression" | "unit_cost_threshold"?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> { "events" => Array[efficiency_alert_event] }
|
|
9999
10196
|
def focus_export: (body: focus_export_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> String
|
|
10000
10197
|
def query: (body: cost_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_query_response
|
|
10001
10198
|
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
|
|
10199
|
+
def showback: (?org_id: String?, ?from: String?, ?to: String?, ?basis: "cash" | "amortized" | "blended"?, ?adjusted: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> showback_report
|
|
10003
10200
|
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
|
|
10201
|
+
def untagged: (?org_id: String?, ?from: String?, ?to: String?, ?basis: "cash" | "amortized" | "blended"?, ?request_options: Hash[Symbol, untyped]?) -> untagged_spend_report
|
|
10005
10202
|
end
|
|
10006
10203
|
|
|
10007
10204
|
class CredentialHygieneNamespace
|
|
@@ -10395,6 +10592,18 @@ module Infrawrench
|
|
|
10395
10592
|
def test: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool, "webhookCount" => Integer, "attempted" => Integer, "succeeded" => Integer }
|
|
10396
10593
|
end
|
|
10397
10594
|
|
|
10595
|
+
class NetworkFlowsKubernetesSettingsNamespace
|
|
10596
|
+
def initialize: (Transport) -> void
|
|
10597
|
+
def get: (account_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> kubernetes_network_settings
|
|
10598
|
+
def update: (account_id: String, body: { "billedQuery" => String | nil }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> kubernetes_network_settings
|
|
10599
|
+
end
|
|
10600
|
+
|
|
10601
|
+
class NetworkFlowsKubernetesNamespace
|
|
10602
|
+
attr_reader settings: NetworkFlowsKubernetesSettingsNamespace
|
|
10603
|
+
def initialize: (Transport) -> void
|
|
10604
|
+
def get: (account_id: String, ?org_id: String?, ?from: String?, ?to: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> kubernetes_network_report
|
|
10605
|
+
end
|
|
10606
|
+
|
|
10398
10607
|
class NetworkFlowsSettingsNamespace
|
|
10399
10608
|
def initialize: (Transport) -> void
|
|
10400
10609
|
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> network_flow_settings
|
|
@@ -10402,6 +10611,7 @@ module Infrawrench
|
|
|
10402
10611
|
end
|
|
10403
10612
|
|
|
10404
10613
|
class NetworkFlowsNamespace
|
|
10614
|
+
attr_reader kubernetes: NetworkFlowsKubernetesNamespace
|
|
10405
10615
|
attr_reader settings: NetworkFlowsSettingsNamespace
|
|
10406
10616
|
def initialize: (Transport) -> void
|
|
10407
10617
|
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.
|
|
4
|
+
version: 1.69.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.
|
|
14
|
+
description: Generated Ruby client for the Infrawrench API (v1.69.0). Covers the published
|
|
15
15
|
API surface only — operations marked x-internal in the spec are not generated. No
|
|
16
16
|
runtime dependencies.
|
|
17
17
|
email:
|
|
@@ -58,5 +58,5 @@ requirements: []
|
|
|
58
58
|
rubygems_version: 3.5.22
|
|
59
59
|
signing_key:
|
|
60
60
|
specification_version: 4
|
|
61
|
-
summary: Generated Ruby client for the Infrawrench API (v1.
|
|
61
|
+
summary: Generated Ruby client for the Infrawrench API (v1.69.0).
|
|
62
62
|
test_files: []
|