infrawrench-sdk 1.58.0 → 1.60.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 +535 -2
- 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 +261 -5
- 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: 556a352a9021aed9e685ed978754c3ff101ae2e612d0078d89dd739caec08a1a
|
|
4
|
+
data.tar.gz: 3fcaae344285b5a84663210dbae2029c0b6eaa6e7b4e4affd465ff603311da51
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f95293d9e2352821f5c9d351e47972e2356c81226870e4a6de503f4dbf654fff4fb68a4f05b3576ef8e0e7cc5037a93be7b3f6dcfe5cfe4f739f789ad5aadf47
|
|
7
|
+
data.tar.gz: 5e4cb57cdc55f36ff778c7f338e47ad85f70bcba11d8617ecf5768e8f2983a82b0d0fb7f511707706dedc38d8fc40caca954ed51ac5a14fe28448bd789e3497e
|
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.60.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
|
+
858 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.60.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.60.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.60.0)."
|
|
21
|
+
spec.description = "Generated Ruby client for the Infrawrench API (v1.60.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.60.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.60.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -3235,6 +3235,160 @@ module Infrawrench
|
|
|
3235
3235
|
end
|
|
3236
3236
|
end
|
|
3237
3237
|
|
|
3238
|
+
# `client.business_metrics.importer`
|
|
3239
|
+
class BusinessMetricsImporterNamespace
|
|
3240
|
+
# @api private
|
|
3241
|
+
# @param transport [Transport]
|
|
3242
|
+
def initialize(transport)
|
|
3243
|
+
@transport = transport
|
|
3244
|
+
end
|
|
3245
|
+
|
|
3246
|
+
# Delete a metric's importer
|
|
3247
|
+
#
|
|
3248
|
+
# Stops importing and drops the run history. Values already imported stay.
|
|
3249
|
+
#
|
|
3250
|
+
# _Requires permission: `costs:write`._
|
|
3251
|
+
#
|
|
3252
|
+
# DELETE /api/org/{orgId}/business-metrics/{id}/importer
|
|
3253
|
+
#
|
|
3254
|
+
# Raises on 404: Not found
|
|
3255
|
+
#
|
|
3256
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3257
|
+
# constructed with.
|
|
3258
|
+
# @param id [String] Metric id or key
|
|
3259
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3260
|
+
# @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
|
|
3261
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3262
|
+
def delete(id:, org_id: nil, request_options: nil)
|
|
3263
|
+
@transport.request(
|
|
3264
|
+
http_method: "DELETE",
|
|
3265
|
+
path: "/api/org/{orgId}/business-metrics/{id}/importer",
|
|
3266
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
3267
|
+
request_options: request_options
|
|
3268
|
+
)
|
|
3269
|
+
end
|
|
3270
|
+
|
|
3271
|
+
# Get a metric's importer
|
|
3272
|
+
#
|
|
3273
|
+
# `importer` is null when the metric's values are only pushed.
|
|
3274
|
+
#
|
|
3275
|
+
# _Requires permission: `costs:read`._
|
|
3276
|
+
#
|
|
3277
|
+
# GET /api/org/{orgId}/business-metrics/{id}/importer
|
|
3278
|
+
#
|
|
3279
|
+
# Raises on 404: Not found
|
|
3280
|
+
#
|
|
3281
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3282
|
+
# constructed with.
|
|
3283
|
+
# @param id [String] Metric id or key
|
|
3284
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3285
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
3286
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3287
|
+
def get(id:, org_id: nil, request_options: nil)
|
|
3288
|
+
@transport.request(
|
|
3289
|
+
http_method: "GET",
|
|
3290
|
+
path: "/api/org/{orgId}/business-metrics/{id}/importer",
|
|
3291
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
3292
|
+
request_options: request_options
|
|
3293
|
+
)
|
|
3294
|
+
end
|
|
3295
|
+
|
|
3296
|
+
# Run a metric's importer now
|
|
3297
|
+
#
|
|
3298
|
+
# Runs synchronously and returns the finished run, failed or not. With no
|
|
3299
|
+
# body it reads the importer's own window; `from`/`to` backfill a wider one
|
|
3300
|
+
# (at most 730 days).
|
|
3301
|
+
#
|
|
3302
|
+
# _Requires permission: `resources:execute`._
|
|
3303
|
+
#
|
|
3304
|
+
# POST /api/org/{orgId}/business-metrics/{id}/importer/run
|
|
3305
|
+
#
|
|
3306
|
+
# Raises on 400: Bad request
|
|
3307
|
+
#
|
|
3308
|
+
# Raises on 404: Not found
|
|
3309
|
+
#
|
|
3310
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3311
|
+
# constructed with.
|
|
3312
|
+
# @param id [String] Metric id or key
|
|
3313
|
+
# @param body [Hash, nil] Request body, shaped as `Hash`.
|
|
3314
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3315
|
+
# @return [Hash] Parsed JSON, shaped as `BusinessMetricImportRun` — see
|
|
3316
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
3317
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3318
|
+
def run(id:, org_id: nil, body: nil, request_options: nil)
|
|
3319
|
+
@transport.request(
|
|
3320
|
+
http_method: "POST",
|
|
3321
|
+
path: "/api/org/{orgId}/business-metrics/{id}/importer/run",
|
|
3322
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
3323
|
+
body: body,
|
|
3324
|
+
request_options: request_options
|
|
3325
|
+
)
|
|
3326
|
+
end
|
|
3327
|
+
|
|
3328
|
+
# List a metric's import runs
|
|
3329
|
+
#
|
|
3330
|
+
# Newest first; the most recent 50 are kept.
|
|
3331
|
+
#
|
|
3332
|
+
# _Requires permission: `costs:read`._
|
|
3333
|
+
#
|
|
3334
|
+
# GET /api/org/{orgId}/business-metrics/{id}/importer/runs
|
|
3335
|
+
#
|
|
3336
|
+
# Raises on 400: Bad request
|
|
3337
|
+
#
|
|
3338
|
+
# Raises on 404: Not found
|
|
3339
|
+
#
|
|
3340
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3341
|
+
# constructed with.
|
|
3342
|
+
# @param id [String] Metric id or key
|
|
3343
|
+
# @param limit [Integer, nil] Default 20.
|
|
3344
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3345
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
3346
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3347
|
+
def runs(id:, org_id: nil, limit: nil, request_options: nil)
|
|
3348
|
+
@transport.request(
|
|
3349
|
+
http_method: "GET",
|
|
3350
|
+
path: "/api/org/{orgId}/business-metrics/{id}/importer/runs",
|
|
3351
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
3352
|
+
query: { "limit" => limit },
|
|
3353
|
+
request_options: request_options
|
|
3354
|
+
)
|
|
3355
|
+
end
|
|
3356
|
+
|
|
3357
|
+
# Create or replace a metric's importer
|
|
3358
|
+
#
|
|
3359
|
+
# One importer per metric. A full replace: omitted fields take their
|
|
3360
|
+
# defaults. Each run restates whole days (every label a day carried is
|
|
3361
|
+
# replaced by what the source returned), never touches days the source
|
|
3362
|
+
# returned nothing for, and ignores points outside the window. Changing the
|
|
3363
|
+
# account, the params or the schedule makes it due immediately.
|
|
3364
|
+
#
|
|
3365
|
+
# _Requires permission: `resources:execute`._
|
|
3366
|
+
#
|
|
3367
|
+
# PUT /api/org/{orgId}/business-metrics/{id}/importer
|
|
3368
|
+
#
|
|
3369
|
+
# Raises on 400: Bad request
|
|
3370
|
+
#
|
|
3371
|
+
# Raises on 404: Not found
|
|
3372
|
+
#
|
|
3373
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3374
|
+
# constructed with.
|
|
3375
|
+
# @param id [String] Metric id or key
|
|
3376
|
+
# @param body [Hash] Request body, shaped as `BusinessMetricImporterInput`.
|
|
3377
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3378
|
+
# @return [Hash] Parsed JSON, shaped as `BusinessMetricImporter & Hash` — see
|
|
3379
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
3380
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3381
|
+
def update(id:, body:, org_id: nil, request_options: nil)
|
|
3382
|
+
@transport.request(
|
|
3383
|
+
http_method: "PUT",
|
|
3384
|
+
path: "/api/org/{orgId}/business-metrics/{id}/importer",
|
|
3385
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
3386
|
+
body: body,
|
|
3387
|
+
request_options: request_options
|
|
3388
|
+
)
|
|
3389
|
+
end
|
|
3390
|
+
end
|
|
3391
|
+
|
|
3238
3392
|
# `client.business_metrics.values`
|
|
3239
3393
|
class BusinessMetricsValuesNamespace
|
|
3240
3394
|
# @api private
|
|
@@ -3311,6 +3465,8 @@ module Infrawrench
|
|
|
3311
3465
|
class BusinessMetricsNamespace
|
|
3312
3466
|
# @return [BusinessMetricsGetNamespace] `client.business_metrics.get`
|
|
3313
3467
|
attr_reader :get
|
|
3468
|
+
# @return [BusinessMetricsImporterNamespace] `client.business_metrics.importer`
|
|
3469
|
+
attr_reader :importer
|
|
3314
3470
|
# @return [BusinessMetricsValuesNamespace] `client.business_metrics.values`
|
|
3315
3471
|
attr_reader :values
|
|
3316
3472
|
|
|
@@ -3319,6 +3475,7 @@ module Infrawrench
|
|
|
3319
3475
|
def initialize(transport)
|
|
3320
3476
|
@transport = transport
|
|
3321
3477
|
@get = BusinessMetricsGetNamespace.new(@transport)
|
|
3478
|
+
@importer = BusinessMetricsImporterNamespace.new(@transport)
|
|
3322
3479
|
@values = BusinessMetricsValuesNamespace.new(@transport)
|
|
3323
3480
|
end
|
|
3324
3481
|
|
|
@@ -3379,6 +3536,92 @@ module Infrawrench
|
|
|
3379
3536
|
)
|
|
3380
3537
|
end
|
|
3381
3538
|
|
|
3539
|
+
# List an importer picker's choices
|
|
3540
|
+
#
|
|
3541
|
+
# Choices for one `select` field of a source's form, given the values picked
|
|
3542
|
+
# so far. Needs `resources:execute` and `costs:write`: it calls the provider
|
|
3543
|
+
# with the account's credentials.
|
|
3544
|
+
#
|
|
3545
|
+
# _Requires permission: `resources:execute`._
|
|
3546
|
+
#
|
|
3547
|
+
# POST /api/org/{orgId}/business-metrics/importer-options
|
|
3548
|
+
#
|
|
3549
|
+
# Raises on 400: Bad request
|
|
3550
|
+
#
|
|
3551
|
+
# Raises on 404: Not found
|
|
3552
|
+
#
|
|
3553
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3554
|
+
# constructed with.
|
|
3555
|
+
# @param body [Hash] Request body, shaped as `Hash`.
|
|
3556
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3557
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
3558
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3559
|
+
def importer_options(body:, org_id: nil, request_options: nil)
|
|
3560
|
+
@transport.request(
|
|
3561
|
+
http_method: "POST",
|
|
3562
|
+
path: "/api/org/{orgId}/business-metrics/importer-options",
|
|
3563
|
+
path_params: { "orgId" => org_id },
|
|
3564
|
+
body: body,
|
|
3565
|
+
request_options: request_options
|
|
3566
|
+
)
|
|
3567
|
+
end
|
|
3568
|
+
|
|
3569
|
+
# Preview an importer
|
|
3570
|
+
#
|
|
3571
|
+
# Run a source over a window and return the values it would write, writing
|
|
3572
|
+
# nothing; or, with `dryRun`, validate the query with the provider without
|
|
3573
|
+
# reading data. Read-only queries only, with the same row limit and timeout
|
|
3574
|
+
# as a scheduled run.
|
|
3575
|
+
#
|
|
3576
|
+
# _Requires permission: `resources:execute`._
|
|
3577
|
+
#
|
|
3578
|
+
# POST /api/org/{orgId}/business-metrics/importer-preview
|
|
3579
|
+
#
|
|
3580
|
+
# Raises on 400: Bad request
|
|
3581
|
+
#
|
|
3582
|
+
# Raises on 404: Not found
|
|
3583
|
+
#
|
|
3584
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3585
|
+
# constructed with.
|
|
3586
|
+
# @param body [Hash] Request body, shaped as `BusinessMetricImportPreviewRequest`.
|
|
3587
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3588
|
+
# @return [Hash] Parsed JSON, shaped as `BusinessMetricImportPreview` — see
|
|
3589
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
3590
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3591
|
+
def importer_preview(body:, org_id: nil, request_options: nil)
|
|
3592
|
+
@transport.request(
|
|
3593
|
+
http_method: "POST",
|
|
3594
|
+
path: "/api/org/{orgId}/business-metrics/importer-preview",
|
|
3595
|
+
path_params: { "orgId" => org_id },
|
|
3596
|
+
body: body,
|
|
3597
|
+
request_options: request_options
|
|
3598
|
+
)
|
|
3599
|
+
end
|
|
3600
|
+
|
|
3601
|
+
# List importer sources
|
|
3602
|
+
#
|
|
3603
|
+
# Connected accounts whose plugin can feed a business metric on a schedule,
|
|
3604
|
+
# each with the plugin's importer form: which fields to fill and which are
|
|
3605
|
+
# pickers.
|
|
3606
|
+
#
|
|
3607
|
+
# _Requires permission: `costs:read`._
|
|
3608
|
+
#
|
|
3609
|
+
# GET /api/org/{orgId}/business-metrics/importer-sources
|
|
3610
|
+
#
|
|
3611
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
3612
|
+
# constructed with.
|
|
3613
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
3614
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
3615
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
3616
|
+
def importer_sources(org_id: nil, request_options: nil)
|
|
3617
|
+
@transport.request(
|
|
3618
|
+
http_method: "GET",
|
|
3619
|
+
path: "/api/org/{orgId}/business-metrics/importer-sources",
|
|
3620
|
+
path_params: { "orgId" => org_id },
|
|
3621
|
+
request_options: request_options
|
|
3622
|
+
)
|
|
3623
|
+
end
|
|
3624
|
+
|
|
3382
3625
|
# Query unit costs or margin
|
|
3383
3626
|
#
|
|
3384
3627
|
# Divide spend by the metric, bucketed as asked. Three properties of the
|
|
@@ -7397,6 +7640,293 @@ module Infrawrench
|
|
|
7397
7640
|
end
|
|
7398
7641
|
end
|
|
7399
7642
|
|
|
7643
|
+
# `client.custom_cost_sources.uploads`
|
|
7644
|
+
class CustomCostSourcesUploadsNamespace
|
|
7645
|
+
# @api private
|
|
7646
|
+
# @param transport [Transport]
|
|
7647
|
+
def initialize(transport)
|
|
7648
|
+
@transport = transport
|
|
7649
|
+
end
|
|
7650
|
+
|
|
7651
|
+
# Finish an upload
|
|
7652
|
+
#
|
|
7653
|
+
# Applies `replace` (zeroing this source's rows from other uploads in the
|
|
7654
|
+
# range) and records what the upload holds.
|
|
7655
|
+
#
|
|
7656
|
+
# _Requires permission: `costs:write`._
|
|
7657
|
+
#
|
|
7658
|
+
# POST /api/org/{orgId}/custom-cost-sources/{id}/uploads/{uploadId}/complete
|
|
7659
|
+
#
|
|
7660
|
+
# Raises on 400: Already complete
|
|
7661
|
+
#
|
|
7662
|
+
# Raises on 404: Not found
|
|
7663
|
+
#
|
|
7664
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
7665
|
+
# constructed with.
|
|
7666
|
+
# @param id [String]
|
|
7667
|
+
# @param upload_id [String]
|
|
7668
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7669
|
+
# @return [Hash] Parsed JSON, shaped as `CustomCostUpload` — see `sig/infrawrench/sdk.rbs`.
|
|
7670
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
7671
|
+
def complete(id:, upload_id:, org_id: nil, request_options: nil)
|
|
7672
|
+
@transport.request(
|
|
7673
|
+
http_method: "POST",
|
|
7674
|
+
path: "/api/org/{orgId}/custom-cost-sources/{id}/uploads/{uploadId}/complete",
|
|
7675
|
+
path_params: { "orgId" => org_id, "id" => id, "uploadId" => upload_id },
|
|
7676
|
+
request_options: request_options
|
|
7677
|
+
)
|
|
7678
|
+
end
|
|
7679
|
+
|
|
7680
|
+
# Start an upload
|
|
7681
|
+
#
|
|
7682
|
+
# Declares the upload's date range and what happens to spend already held in
|
|
7683
|
+
# it. Then send rows with `…/rows` (up to 5,000 per call) and finish with
|
|
7684
|
+
# `…/complete`.
|
|
7685
|
+
#
|
|
7686
|
+
# _Requires permission: `costs:write`._
|
|
7687
|
+
#
|
|
7688
|
+
# POST /api/org/{orgId}/custom-cost-sources/{id}/uploads
|
|
7689
|
+
#
|
|
7690
|
+
# Raises on 400: Bad request
|
|
7691
|
+
#
|
|
7692
|
+
# Raises on 404: Not found
|
|
7693
|
+
#
|
|
7694
|
+
# Raises on 409: The range overlaps earlier uploads and no `mode` was given
|
|
7695
|
+
#
|
|
7696
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
7697
|
+
# constructed with.
|
|
7698
|
+
# @param id [String]
|
|
7699
|
+
# @param body [Hash] Request body, shaped as `CustomCostUploadCreate`.
|
|
7700
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7701
|
+
# @return [Hash] Parsed JSON, shaped as `CustomCostUpload` — see `sig/infrawrench/sdk.rbs`.
|
|
7702
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
7703
|
+
def create(id:, body:, org_id: nil, request_options: nil)
|
|
7704
|
+
@transport.request(
|
|
7705
|
+
http_method: "POST",
|
|
7706
|
+
path: "/api/org/{orgId}/custom-cost-sources/{id}/uploads",
|
|
7707
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
7708
|
+
body: body,
|
|
7709
|
+
request_options: request_options
|
|
7710
|
+
)
|
|
7711
|
+
end
|
|
7712
|
+
|
|
7713
|
+
# Delete an upload and the rows it wrote
|
|
7714
|
+
#
|
|
7715
|
+
# _Requires permission: `costs:write`._
|
|
7716
|
+
#
|
|
7717
|
+
# DELETE /api/org/{orgId}/custom-cost-sources/{id}/uploads/{uploadId}
|
|
7718
|
+
#
|
|
7719
|
+
# Raises on 404: Not found
|
|
7720
|
+
#
|
|
7721
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
7722
|
+
# constructed with.
|
|
7723
|
+
# @param id [String]
|
|
7724
|
+
# @param upload_id [String]
|
|
7725
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7726
|
+
# @return [Hash] Parsed JSON, shaped as `CustomCostDeleted` — see `sig/infrawrench/sdk.rbs`.
|
|
7727
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
7728
|
+
def delete(id:, upload_id:, org_id: nil, request_options: nil)
|
|
7729
|
+
@transport.request(
|
|
7730
|
+
http_method: "DELETE",
|
|
7731
|
+
path: "/api/org/{orgId}/custom-cost-sources/{id}/uploads/{uploadId}",
|
|
7732
|
+
path_params: { "orgId" => org_id, "id" => id, "uploadId" => upload_id },
|
|
7733
|
+
request_options: request_options
|
|
7734
|
+
)
|
|
7735
|
+
end
|
|
7736
|
+
|
|
7737
|
+
# List a source's uploads
|
|
7738
|
+
#
|
|
7739
|
+
# _Requires permission: `costs:read`._
|
|
7740
|
+
#
|
|
7741
|
+
# GET /api/org/{orgId}/custom-cost-sources/{id}/uploads
|
|
7742
|
+
#
|
|
7743
|
+
# Raises on 404: Not found
|
|
7744
|
+
#
|
|
7745
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
7746
|
+
# constructed with.
|
|
7747
|
+
# @param id [String]
|
|
7748
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7749
|
+
# @return [Array<Hash>] Parsed JSON, shaped as `Array<CustomCostUpload>` — see
|
|
7750
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
7751
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
7752
|
+
def list(id:, org_id: nil, request_options: nil)
|
|
7753
|
+
@transport.request(
|
|
7754
|
+
http_method: "GET",
|
|
7755
|
+
path: "/api/org/{orgId}/custom-cost-sources/{id}/uploads",
|
|
7756
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
7757
|
+
request_options: request_options
|
|
7758
|
+
)
|
|
7759
|
+
end
|
|
7760
|
+
|
|
7761
|
+
# Send a chunk of rows to an open upload
|
|
7762
|
+
#
|
|
7763
|
+
# The chunk is validated whole: a 400 means none of it was written.
|
|
7764
|
+
#
|
|
7765
|
+
# _Requires permission: `costs:write`._
|
|
7766
|
+
#
|
|
7767
|
+
# POST /api/org/{orgId}/custom-cost-sources/{id}/uploads/{uploadId}/rows
|
|
7768
|
+
#
|
|
7769
|
+
# Raises on 400: Bad request
|
|
7770
|
+
#
|
|
7771
|
+
# Raises on 404: Not found
|
|
7772
|
+
#
|
|
7773
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
7774
|
+
# constructed with.
|
|
7775
|
+
# @param id [String]
|
|
7776
|
+
# @param upload_id [String]
|
|
7777
|
+
# @param body [Hash] Request body, shaped as `Hash`.
|
|
7778
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7779
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
7780
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
7781
|
+
def rows(id:, upload_id:, body:, org_id: nil, request_options: nil)
|
|
7782
|
+
@transport.request(
|
|
7783
|
+
http_method: "POST",
|
|
7784
|
+
path: "/api/org/{orgId}/custom-cost-sources/{id}/uploads/{uploadId}/rows",
|
|
7785
|
+
path_params: { "orgId" => org_id, "id" => id, "uploadId" => upload_id },
|
|
7786
|
+
body: body,
|
|
7787
|
+
request_options: request_options
|
|
7788
|
+
)
|
|
7789
|
+
end
|
|
7790
|
+
end
|
|
7791
|
+
|
|
7792
|
+
# `client.custom_cost_sources`
|
|
7793
|
+
class CustomCostSourcesNamespace
|
|
7794
|
+
# @return [CustomCostSourcesUploadsNamespace] `client.custom_cost_sources.uploads`
|
|
7795
|
+
attr_reader :uploads
|
|
7796
|
+
|
|
7797
|
+
# @api private
|
|
7798
|
+
# @param transport [Transport]
|
|
7799
|
+
def initialize(transport)
|
|
7800
|
+
@transport = transport
|
|
7801
|
+
@uploads = CustomCostSourcesUploadsNamespace.new(@transport)
|
|
7802
|
+
end
|
|
7803
|
+
|
|
7804
|
+
# Create a custom cost source
|
|
7805
|
+
#
|
|
7806
|
+
# A named provider for spend Infrawrench has no plugin for. Fill it by
|
|
7807
|
+
# uploading files (CSV or FOCUS) from Settings, `infrawrench costs push
|
|
7808
|
+
# --format csv|focus`, or the upload endpoints below.
|
|
7809
|
+
#
|
|
7810
|
+
# _Requires permission: `costs:write`._
|
|
7811
|
+
#
|
|
7812
|
+
# POST /api/org/{orgId}/custom-cost-sources
|
|
7813
|
+
#
|
|
7814
|
+
# Raises on 400: Bad request
|
|
7815
|
+
#
|
|
7816
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
7817
|
+
# constructed with.
|
|
7818
|
+
# @param body [Hash] Request body, shaped as `CustomCostSourceInput`.
|
|
7819
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7820
|
+
# @return [Hash] Parsed JSON, shaped as `CustomCostSource` — see `sig/infrawrench/sdk.rbs`.
|
|
7821
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
7822
|
+
def create(body:, org_id: nil, request_options: nil)
|
|
7823
|
+
@transport.request(
|
|
7824
|
+
http_method: "POST",
|
|
7825
|
+
path: "/api/org/{orgId}/custom-cost-sources",
|
|
7826
|
+
path_params: { "orgId" => org_id },
|
|
7827
|
+
body: body,
|
|
7828
|
+
request_options: request_options
|
|
7829
|
+
)
|
|
7830
|
+
end
|
|
7831
|
+
|
|
7832
|
+
# Delete a custom cost source and all of its spend
|
|
7833
|
+
#
|
|
7834
|
+
# Zeroes every cost row the source holds, then deletes it with its upload
|
|
7835
|
+
# history. The spend disappears from every report, budget and export.
|
|
7836
|
+
#
|
|
7837
|
+
# _Requires permission: `costs:write`._
|
|
7838
|
+
#
|
|
7839
|
+
# DELETE /api/org/{orgId}/custom-cost-sources/{id}
|
|
7840
|
+
#
|
|
7841
|
+
# Raises on 404: Not found
|
|
7842
|
+
#
|
|
7843
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
7844
|
+
# constructed with.
|
|
7845
|
+
# @param id [String]
|
|
7846
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7847
|
+
# @return [Hash] Parsed JSON, shaped as `CustomCostDeleted` — see `sig/infrawrench/sdk.rbs`.
|
|
7848
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
7849
|
+
def delete(id:, org_id: nil, request_options: nil)
|
|
7850
|
+
@transport.request(
|
|
7851
|
+
http_method: "DELETE",
|
|
7852
|
+
path: "/api/org/{orgId}/custom-cost-sources/{id}",
|
|
7853
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
7854
|
+
request_options: request_options
|
|
7855
|
+
)
|
|
7856
|
+
end
|
|
7857
|
+
|
|
7858
|
+
# Get a custom cost source
|
|
7859
|
+
#
|
|
7860
|
+
# _Requires permission: `costs:read`._
|
|
7861
|
+
#
|
|
7862
|
+
# GET /api/org/{orgId}/custom-cost-sources/{id}
|
|
7863
|
+
#
|
|
7864
|
+
# Raises on 404: Not found
|
|
7865
|
+
#
|
|
7866
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
7867
|
+
# constructed with.
|
|
7868
|
+
# @param id [String]
|
|
7869
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7870
|
+
# @return [Hash] Parsed JSON, shaped as `CustomCostSource` — see `sig/infrawrench/sdk.rbs`.
|
|
7871
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
7872
|
+
def get(id:, org_id: nil, request_options: nil)
|
|
7873
|
+
@transport.request(
|
|
7874
|
+
http_method: "GET",
|
|
7875
|
+
path: "/api/org/{orgId}/custom-cost-sources/{id}",
|
|
7876
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
7877
|
+
request_options: request_options
|
|
7878
|
+
)
|
|
7879
|
+
end
|
|
7880
|
+
|
|
7881
|
+
# List custom cost sources
|
|
7882
|
+
#
|
|
7883
|
+
# _Requires permission: `costs:read`._
|
|
7884
|
+
#
|
|
7885
|
+
# GET /api/org/{orgId}/custom-cost-sources
|
|
7886
|
+
#
|
|
7887
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
7888
|
+
# constructed with.
|
|
7889
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7890
|
+
# @return [Array<Hash>] Parsed JSON, shaped as `Array<CustomCostSource>` — see
|
|
7891
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
7892
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
7893
|
+
def list(org_id: nil, request_options: nil)
|
|
7894
|
+
@transport.request(
|
|
7895
|
+
http_method: "GET",
|
|
7896
|
+
path: "/api/org/{orgId}/custom-cost-sources",
|
|
7897
|
+
path_params: { "orgId" => org_id },
|
|
7898
|
+
request_options: request_options
|
|
7899
|
+
)
|
|
7900
|
+
end
|
|
7901
|
+
|
|
7902
|
+
# Update a custom cost source
|
|
7903
|
+
#
|
|
7904
|
+
# _Requires permission: `costs:write`._
|
|
7905
|
+
#
|
|
7906
|
+
# PUT /api/org/{orgId}/custom-cost-sources/{id}
|
|
7907
|
+
#
|
|
7908
|
+
# Raises on 400: Bad request
|
|
7909
|
+
#
|
|
7910
|
+
# Raises on 404: Not found
|
|
7911
|
+
#
|
|
7912
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
7913
|
+
# constructed with.
|
|
7914
|
+
# @param id [String]
|
|
7915
|
+
# @param body [Hash] Request body, shaped as `CustomCostSourceInput`.
|
|
7916
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
7917
|
+
# @return [Hash] Parsed JSON, shaped as `CustomCostSource` — see `sig/infrawrench/sdk.rbs`.
|
|
7918
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
7919
|
+
def update(id:, body:, org_id: nil, request_options: nil)
|
|
7920
|
+
@transport.request(
|
|
7921
|
+
http_method: "PUT",
|
|
7922
|
+
path: "/api/org/{orgId}/custom-cost-sources/{id}",
|
|
7923
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
7924
|
+
body: body,
|
|
7925
|
+
request_options: request_options
|
|
7926
|
+
)
|
|
7927
|
+
end
|
|
7928
|
+
end
|
|
7929
|
+
|
|
7400
7930
|
# `client.custom_graphs`
|
|
7401
7931
|
class CustomGraphsNamespace
|
|
7402
7932
|
# @api private
|
|
@@ -18954,6 +19484,8 @@ module Infrawrench
|
|
|
18954
19484
|
attr_reader :credits
|
|
18955
19485
|
# @return [CurrencyNamespace] `client.currency`
|
|
18956
19486
|
attr_reader :currency
|
|
19487
|
+
# @return [CustomCostSourcesNamespace] `client.custom_cost_sources`
|
|
19488
|
+
attr_reader :custom_cost_sources
|
|
18957
19489
|
# @return [CustomGraphsNamespace] `client.custom_graphs`
|
|
18958
19490
|
attr_reader :custom_graphs
|
|
18959
19491
|
# @return [DashboardNotificationsNamespace] `client.dashboard_notifications`
|
|
@@ -19127,6 +19659,7 @@ module Infrawrench
|
|
|
19127
19659
|
@credential_hygiene = CredentialHygieneNamespace.new(@transport)
|
|
19128
19660
|
@credits = CreditsNamespace.new(@transport)
|
|
19129
19661
|
@currency = CurrencyNamespace.new(@transport)
|
|
19662
|
+
@custom_cost_sources = CustomCostSourcesNamespace.new(@transport)
|
|
19130
19663
|
@custom_graphs = CustomGraphsNamespace.new(@transport)
|
|
19131
19664
|
@dashboard_notifications = DashboardNotificationsNamespace.new(@transport)
|
|
19132
19665
|
@dashboards = DashboardsNamespace.new(@transport)
|
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.60.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.60.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.60.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.60.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.60.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.60.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.60.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.60.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.60.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.60.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.60.0).
|
|
5
5
|
#
|
|
6
6
|
# DO NOT EDIT. Regenerate with:
|
|
7
7
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -1241,7 +1241,8 @@ module Infrawrench
|
|
|
1241
1241
|
"createdByUserId" => String | nil,
|
|
1242
1242
|
"createdAt" => String,
|
|
1243
1243
|
"updatedAt" => String,
|
|
1244
|
-
"coverage" => business_metric_coverage
|
|
1244
|
+
"coverage" => business_metric_coverage,
|
|
1245
|
+
"importer" => business_metric_importer_summary
|
|
1245
1246
|
}
|
|
1246
1247
|
|
|
1247
1248
|
# Null when the metric has no values at all — not an error, but every
|
|
@@ -1250,6 +1251,108 @@ module Infrawrench
|
|
|
1250
1251
|
# Spec schema: `BusinessMetricCoverage`.
|
|
1251
1252
|
type business_metric_coverage = { "firstDay" => String, "lastDay" => String, "reportedDays" => Integer } | nil
|
|
1252
1253
|
|
|
1254
|
+
# How several points the source returns for one day (and label) become that
|
|
1255
|
+
# day's value. A SQL query grouped by day returns one row per day and every
|
|
1256
|
+
# choice agrees.
|
|
1257
|
+
#
|
|
1258
|
+
# Spec schema: `BusinessMetricImportAggregation`.
|
|
1259
|
+
type business_metric_import_aggregation = "sum" | "average" | "min" | "max" | "last" | "count"
|
|
1260
|
+
|
|
1261
|
+
# Spec schema: `BusinessMetricImportPreview`.
|
|
1262
|
+
type business_metric_import_preview = {
|
|
1263
|
+
"from" => String,
|
|
1264
|
+
"to" => String,
|
|
1265
|
+
"values" => Array[{ "date" => String, "value" => Numeric, ?"label" => String }],
|
|
1266
|
+
"pointsRead" => Integer,
|
|
1267
|
+
"days" => Integer,
|
|
1268
|
+
"notes" => Array[String],
|
|
1269
|
+
"durationMs" => Integer,
|
|
1270
|
+
?"dryRun" => { "valid" => bool, "message" => String, ?"bytesProcessed" => Numeric }
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
# Spec schema: `BusinessMetricImportPreviewRequest`.
|
|
1274
|
+
type business_metric_import_preview_request = {
|
|
1275
|
+
"accountId" => String,
|
|
1276
|
+
"params" => Hash[String, String],
|
|
1277
|
+
?"from" => String,
|
|
1278
|
+
?"to" => String,
|
|
1279
|
+
?"timezone" => String,
|
|
1280
|
+
?"aggregation" => business_metric_import_aggregation,
|
|
1281
|
+
?"dryRun" => bool
|
|
1282
|
+
}
|
|
1283
|
+
|
|
1284
|
+
# Spec schema: `BusinessMetricImportRun`.
|
|
1285
|
+
type business_metric_import_run = {
|
|
1286
|
+
"id" => String,
|
|
1287
|
+
"importerId" => String,
|
|
1288
|
+
"trigger" => "schedule" | "manual",
|
|
1289
|
+
"status" => "running" | "success" | "error",
|
|
1290
|
+
"from" => String,
|
|
1291
|
+
"to" => String,
|
|
1292
|
+
"pointsRead" => Integer,
|
|
1293
|
+
"daysWritten" => Integer,
|
|
1294
|
+
"error" => String | nil,
|
|
1295
|
+
"notes" => Array[String],
|
|
1296
|
+
"startedAt" => String,
|
|
1297
|
+
"finishedAt" => String | nil,
|
|
1298
|
+
"durationMs" => Integer | nil
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
# Spec schema: `BusinessMetricImportSchedule`.
|
|
1302
|
+
type business_metric_import_schedule = "every_6_hours" | "every_12_hours" | "daily" | "weekly"
|
|
1303
|
+
|
|
1304
|
+
# Spec schema: `BusinessMetricImporter`.
|
|
1305
|
+
type business_metric_importer = {
|
|
1306
|
+
"id" => String,
|
|
1307
|
+
"metricId" => String,
|
|
1308
|
+
"accountId" => String,
|
|
1309
|
+
"accountName" => String | nil,
|
|
1310
|
+
"pluginId" => String | nil,
|
|
1311
|
+
"sourceLabel" => String | nil,
|
|
1312
|
+
"params" => Hash[String, String],
|
|
1313
|
+
"schedule" => business_metric_import_schedule,
|
|
1314
|
+
"backfillDays" => Integer,
|
|
1315
|
+
"timezone" => String,
|
|
1316
|
+
"aggregation" => business_metric_import_aggregation,
|
|
1317
|
+
"enabled" => bool,
|
|
1318
|
+
"nextRunAt" => String | nil,
|
|
1319
|
+
"lastRunAt" => String | nil,
|
|
1320
|
+
"lastStatus" => "success" | "error" | nil,
|
|
1321
|
+
"lastError" => String | nil,
|
|
1322
|
+
"consecutiveFailures" => Integer,
|
|
1323
|
+
"createdByUserId" => String | nil,
|
|
1324
|
+
"createdAt" => String,
|
|
1325
|
+
"updatedAt" => String
|
|
1326
|
+
}
|
|
1327
|
+
| nil
|
|
1328
|
+
|
|
1329
|
+
# Spec schema: `BusinessMetricImporterInput`.
|
|
1330
|
+
type business_metric_importer_input = {
|
|
1331
|
+
"accountId" => String,
|
|
1332
|
+
"params" => Hash[String, String],
|
|
1333
|
+
?"schedule" => business_metric_import_schedule & untyped,
|
|
1334
|
+
?"backfillDays" => Integer,
|
|
1335
|
+
?"timezone" => String,
|
|
1336
|
+
?"aggregation" => business_metric_import_aggregation,
|
|
1337
|
+
?"enabled" => bool
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
# The scheduled importer feeding this metric, or null when its values are only
|
|
1341
|
+
# pushed.
|
|
1342
|
+
#
|
|
1343
|
+
# Spec schema: `BusinessMetricImporterSummary`.
|
|
1344
|
+
type business_metric_importer_summary = {
|
|
1345
|
+
"accountId" => String,
|
|
1346
|
+
"accountName" => String | nil,
|
|
1347
|
+
"pluginId" => String | nil,
|
|
1348
|
+
"sourceLabel" => String | nil,
|
|
1349
|
+
"enabled" => bool,
|
|
1350
|
+
"lastRunAt" => String | nil,
|
|
1351
|
+
"lastStatus" => "success" | "error" | nil,
|
|
1352
|
+
"lastError" => String | nil
|
|
1353
|
+
}
|
|
1354
|
+
| nil
|
|
1355
|
+
|
|
1253
1356
|
# Spec schema: `BusinessMetricInput`.
|
|
1254
1357
|
type business_metric_input = {
|
|
1255
1358
|
"key" => String,
|
|
@@ -1286,11 +1389,48 @@ module Infrawrench
|
|
|
1286
1389
|
?"tagKey" => String
|
|
1287
1390
|
}
|
|
1288
1391
|
|
|
1392
|
+
# Spec schema: `BusinessMetricSourceAccount`.
|
|
1393
|
+
type business_metric_source_account = {
|
|
1394
|
+
"accountId" => String,
|
|
1395
|
+
"accountName" => String,
|
|
1396
|
+
"pluginId" => String,
|
|
1397
|
+
"pluginName" => String,
|
|
1398
|
+
"source" => {
|
|
1399
|
+
"label" => String,
|
|
1400
|
+
?"description" => String,
|
|
1401
|
+
"kind" => "sql" | "metric",
|
|
1402
|
+
"fields" => Array[business_metric_source_field],
|
|
1403
|
+
?"sqlDialect" => String,
|
|
1404
|
+
?"readOnly" => "enforced" | "validated",
|
|
1405
|
+
?"supportsDryRun" => bool
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
# Spec schema: `BusinessMetricSourceField`.
|
|
1410
|
+
type business_metric_source_field = {
|
|
1411
|
+
"key" => String,
|
|
1412
|
+
"label" => String,
|
|
1413
|
+
"type" => "select" | "sql" | "text" | "number",
|
|
1414
|
+
?"required" => bool,
|
|
1415
|
+
?"description" => String,
|
|
1416
|
+
?"placeholder" => String,
|
|
1417
|
+
?"defaultValue" => String,
|
|
1418
|
+
?"options" => Array[{ "id" => String, "label" => String, ?"description" => String }],
|
|
1419
|
+
?"dependsOn" => Array[String],
|
|
1420
|
+
?"allowCustom" => bool
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1289
1423
|
# Spec schema: `BusinessMetricValue`.
|
|
1290
|
-
type business_metric_value = {
|
|
1424
|
+
type business_metric_value = {
|
|
1425
|
+
"day" => String,
|
|
1426
|
+
"value" => Numeric,
|
|
1427
|
+
"label" => String | nil,
|
|
1428
|
+
"source" => "api" | "workflow" | "import",
|
|
1429
|
+
"updatedAt" => String
|
|
1430
|
+
}
|
|
1291
1431
|
|
|
1292
1432
|
# Spec schema: `BusinessMetricValuesInput`.
|
|
1293
|
-
type business_metric_values_input = { "values" => Array[{ "date" => String, "value" => Numeric }] }
|
|
1433
|
+
type business_metric_values_input = { "values" => Array[{ "date" => String, "value" => Numeric, ?"label" => String }] }
|
|
1294
1434
|
|
|
1295
1435
|
# Spec schema: `CalendarEvent`.
|
|
1296
1436
|
type calendar_event = {
|
|
@@ -2904,6 +3044,86 @@ module Infrawrench
|
|
|
2904
3044
|
# Spec schema: `CurrencySettings`.
|
|
2905
3045
|
type currency_settings = { "displayCurrency" => String | nil }
|
|
2906
3046
|
|
|
3047
|
+
# Spec schema: `CustomCostDeleted`.
|
|
3048
|
+
type custom_cost_deleted = { "ok" => bool, "zeroedRows" => Integer }
|
|
3049
|
+
|
|
3050
|
+
# Spec schema: `CustomCostOverlap`.
|
|
3051
|
+
type custom_cost_overlap = { "error" => String, "code" => "overlap", "overlapping" => Array[custom_cost_upload] }
|
|
3052
|
+
|
|
3053
|
+
# One day of spend for one dimension combination. Clients aggregate file lines
|
|
3054
|
+
# to this grain before sending: two rows with the same date, dimensions, tags
|
|
3055
|
+
# and currency in one upload replace each other rather than adding.
|
|
3056
|
+
#
|
|
3057
|
+
# Spec schema: `CustomCostRow`.
|
|
3058
|
+
type custom_cost_row = {
|
|
3059
|
+
"date" => String,
|
|
3060
|
+
"currency" => String,
|
|
3061
|
+
"amount" => Numeric,
|
|
3062
|
+
?"service" => String,
|
|
3063
|
+
?"region" => String,
|
|
3064
|
+
?"resourceId" => String,
|
|
3065
|
+
?"subAccount" => String,
|
|
3066
|
+
?"tags" => Hash[String, String],
|
|
3067
|
+
?"usageAmount" => Numeric,
|
|
3068
|
+
?"usageUnit" => String,
|
|
3069
|
+
?"chargeType" => "usage"
|
|
3070
|
+
| "commitment_covered_usage"
|
|
3071
|
+
| "commitment_fee"
|
|
3072
|
+
| "commitment_discount"
|
|
3073
|
+
| "credit"
|
|
3074
|
+
| "tax"
|
|
3075
|
+
| "refund"
|
|
3076
|
+
| "adjustment"
|
|
3077
|
+
| "support"
|
|
3078
|
+
| "other",
|
|
3079
|
+
?"amortizedAmount" => Numeric,
|
|
3080
|
+
?"commitmentId" => String
|
|
3081
|
+
}
|
|
3082
|
+
|
|
3083
|
+
# Spec schema: `CustomCostSource`.
|
|
3084
|
+
type custom_cost_source = {
|
|
3085
|
+
"id" => String,
|
|
3086
|
+
"name" => String,
|
|
3087
|
+
"description" => String | nil,
|
|
3088
|
+
"defaultCurrency" => String | nil,
|
|
3089
|
+
"pluginId" => String,
|
|
3090
|
+
"uploadCount" => Integer,
|
|
3091
|
+
"lastUploadAt" => String | nil,
|
|
3092
|
+
"createdAt" => String,
|
|
3093
|
+
"updatedAt" => String
|
|
3094
|
+
}
|
|
3095
|
+
|
|
3096
|
+
# Spec schema: `CustomCostSourceInput`.
|
|
3097
|
+
type custom_cost_source_input = { "name" => String, ?"description" => String | nil, ?"defaultCurrency" => String | nil }
|
|
3098
|
+
|
|
3099
|
+
# Spec schema: `CustomCostUpload`.
|
|
3100
|
+
type custom_cost_upload = {
|
|
3101
|
+
"id" => String,
|
|
3102
|
+
"sourceId" => String,
|
|
3103
|
+
"fileName" => String | nil,
|
|
3104
|
+
"format" => "csv" | "focus" | "rows",
|
|
3105
|
+
"mode" => "append" | "replace",
|
|
3106
|
+
"status" => "uploading" | "complete" | "replaced",
|
|
3107
|
+
"fromDate" => String,
|
|
3108
|
+
"toDate" => String,
|
|
3109
|
+
"rowCount" => Integer,
|
|
3110
|
+
"totals" => Hash[String, Numeric],
|
|
3111
|
+
"uploadedBy" => { "id" => String, "name" => String | nil, "email" => String | nil } | nil,
|
|
3112
|
+
"via" => "web" | "desktop" | "cli" | "api",
|
|
3113
|
+
"createdAt" => String,
|
|
3114
|
+
"completedAt" => String | nil
|
|
3115
|
+
}
|
|
3116
|
+
|
|
3117
|
+
# Spec schema: `CustomCostUploadCreate`.
|
|
3118
|
+
type custom_cost_upload_create = {
|
|
3119
|
+
?"fileName" => String | nil,
|
|
3120
|
+
"format" => "csv" | "focus" | "rows",
|
|
3121
|
+
?"mode" => "append" | "replace",
|
|
3122
|
+
?"via" => "web" | "desktop" | "cli" | "api",
|
|
3123
|
+
"fromDate" => String,
|
|
3124
|
+
"toDate" => String
|
|
3125
|
+
}
|
|
3126
|
+
|
|
2907
3127
|
# Spec schema: `CustomGraphCheckRequest`.
|
|
2908
3128
|
type custom_graph_check_request = { "source" => String }
|
|
2909
3129
|
|
|
@@ -5972,6 +6192,7 @@ module Infrawrench
|
|
|
5972
6192
|
| "kubernetes"
|
|
5973
6193
|
| "linode"
|
|
5974
6194
|
| "memcached"
|
|
6195
|
+
| "metronome"
|
|
5975
6196
|
| "mistral"
|
|
5976
6197
|
| "modal"
|
|
5977
6198
|
| "mongodb"
|
|
@@ -6995,6 +7216,7 @@ module Infrawrench
|
|
|
6995
7216
|
| "bigquery-dataset"
|
|
6996
7217
|
| "bigquery-table"
|
|
6997
7218
|
| "bigtable-instance"
|
|
7219
|
+
| "billable-metric"
|
|
6998
7220
|
| "billing-account"
|
|
6999
7221
|
| "billing-group"
|
|
7000
7222
|
| "block-volume"
|
|
@@ -7062,6 +7284,7 @@ module Infrawrench
|
|
|
7062
7284
|
| "custom-enrichment"
|
|
7063
7285
|
| "custom-hostname"
|
|
7064
7286
|
| "custom-voice"
|
|
7287
|
+
| "customer"
|
|
7065
7288
|
| "d1-database"
|
|
7066
7289
|
| "dashboard"
|
|
7067
7290
|
| "database"
|
|
@@ -9121,6 +9344,15 @@ module Infrawrench
|
|
|
9121
9344
|
def get_org_org_id_business_metrics_id: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> business_metric
|
|
9122
9345
|
end
|
|
9123
9346
|
|
|
9347
|
+
class BusinessMetricsImporterNamespace
|
|
9348
|
+
def initialize: (Transport) -> void
|
|
9349
|
+
def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
|
|
9350
|
+
def get: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "importer" => business_metric_importer }
|
|
9351
|
+
def run: (id: String, ?org_id: String?, ?body: { ?"from" => String, ?"to" => String }?, ?request_options: Hash[Symbol, untyped]?) -> business_metric_import_run
|
|
9352
|
+
def runs: (id: String, ?org_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> { "runs" => Array[business_metric_import_run] }
|
|
9353
|
+
def update: (id: String, body: business_metric_importer_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> (business_metric_importer & Hash[String, untyped])
|
|
9354
|
+
end
|
|
9355
|
+
|
|
9124
9356
|
class BusinessMetricsValuesNamespace
|
|
9125
9357
|
def initialize: (Transport) -> void
|
|
9126
9358
|
def create: (id: String, body: business_metric_values_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "written" => Integer }
|
|
@@ -9129,10 +9361,14 @@ module Infrawrench
|
|
|
9129
9361
|
|
|
9130
9362
|
class BusinessMetricsNamespace
|
|
9131
9363
|
attr_reader get: BusinessMetricsGetNamespace
|
|
9364
|
+
attr_reader importer: BusinessMetricsImporterNamespace
|
|
9132
9365
|
attr_reader values: BusinessMetricsValuesNamespace
|
|
9133
9366
|
def initialize: (Transport) -> void
|
|
9134
9367
|
def create: (body: business_metric_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> business_metric
|
|
9135
9368
|
def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
|
|
9369
|
+
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 }] }
|
|
9370
|
+
def importer_preview: (body: business_metric_import_preview_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> business_metric_import_preview
|
|
9371
|
+
def importer_sources: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "sources" => Array[business_metric_source_account] }
|
|
9136
9372
|
def unit_costs: (id: String, body: unit_cost_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> unit_cost_query_response
|
|
9137
9373
|
def update: (id: String, body: business_metric_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> business_metric
|
|
9138
9374
|
end
|
|
@@ -9419,6 +9655,25 @@ module Infrawrench
|
|
|
9419
9655
|
def update: (body: currency_settings, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> currency_settings
|
|
9420
9656
|
end
|
|
9421
9657
|
|
|
9658
|
+
class CustomCostSourcesUploadsNamespace
|
|
9659
|
+
def initialize: (Transport) -> void
|
|
9660
|
+
def complete: (id: String, upload_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> custom_cost_upload
|
|
9661
|
+
def create: (id: String, body: custom_cost_upload_create, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> custom_cost_upload
|
|
9662
|
+
def delete: (id: String, upload_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> custom_cost_deleted
|
|
9663
|
+
def list: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[custom_cost_upload]
|
|
9664
|
+
def rows: (id: String, upload_id: String, body: { "rows" => Array[custom_cost_row] }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "written" => Integer }
|
|
9665
|
+
end
|
|
9666
|
+
|
|
9667
|
+
class CustomCostSourcesNamespace
|
|
9668
|
+
attr_reader uploads: CustomCostSourcesUploadsNamespace
|
|
9669
|
+
def initialize: (Transport) -> void
|
|
9670
|
+
def create: (body: custom_cost_source_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> custom_cost_source
|
|
9671
|
+
def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> custom_cost_deleted
|
|
9672
|
+
def get: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> custom_cost_source
|
|
9673
|
+
def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[custom_cost_source]
|
|
9674
|
+
def update: (id: String, body: custom_cost_source_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> custom_cost_source
|
|
9675
|
+
end
|
|
9676
|
+
|
|
9422
9677
|
class CustomGraphsNamespace
|
|
9423
9678
|
def initialize: (Transport) -> void
|
|
9424
9679
|
def check: (body: custom_graph_check_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> custom_graph_check_result
|
|
@@ -10300,6 +10555,7 @@ module Infrawrench
|
|
|
10300
10555
|
attr_reader credential_hygiene: CredentialHygieneNamespace
|
|
10301
10556
|
attr_reader credits: CreditsNamespace
|
|
10302
10557
|
attr_reader currency: CurrencyNamespace
|
|
10558
|
+
attr_reader custom_cost_sources: CustomCostSourcesNamespace
|
|
10303
10559
|
attr_reader custom_graphs: CustomGraphsNamespace
|
|
10304
10560
|
attr_reader dashboard_notifications: DashboardNotificationsNamespace
|
|
10305
10561
|
attr_reader dashboards: DashboardsNamespace
|
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.60.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.60.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.60.0).
|
|
62
62
|
test_files: []
|