infrawrench-sdk 1.55.0 → 1.57.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 +411 -8
- 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 +229 -9
- 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: fc2d8358586c5a9a7c2377bf754a59ce738b29ebb2d98addd4a447d6de6158b9
|
|
4
|
+
data.tar.gz: 5111a97d76595cc9ecca3b86c0ce30107d6dc0b8f78d4afde485eaa9fc2130ec
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 528e83b6dda5845775556617c3c63595a60274bc184889158ff10fb2ebf07d0a14438f21ea97098b7b566c47b078c352be786f48161271c2c16caf13c81c6476
|
|
7
|
+
data.tar.gz: 07e3cd8fa1a5fca5eca1bf5318b09181286ea3e5e2d63212ffa4bae050251d091f6f71c702a398ac7b7604cac9f7936bcf2f02251426a2d5f0903aecbcc565d2
|
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.57.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
|
+
838 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.57.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.57.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.57.0)."
|
|
21
|
+
spec.description = "Generated Ruby client for the Infrawrench API (v1.57.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.57.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.57.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -1359,6 +1359,405 @@ module Infrawrench
|
|
|
1359
1359
|
end
|
|
1360
1360
|
end
|
|
1361
1361
|
|
|
1362
|
+
# `client.ai_attribution.dimensions`
|
|
1363
|
+
class AiAttributionDimensionsNamespace
|
|
1364
|
+
# @api private
|
|
1365
|
+
# @param transport [Transport]
|
|
1366
|
+
def initialize(transport)
|
|
1367
|
+
@transport = transport
|
|
1368
|
+
end
|
|
1369
|
+
|
|
1370
|
+
# Map request-metadata keys to a caller dimension
|
|
1371
|
+
#
|
|
1372
|
+
# POST /api/org/{orgId}/ai-attribution/dimensions
|
|
1373
|
+
#
|
|
1374
|
+
# Raises on 400: Bad request
|
|
1375
|
+
#
|
|
1376
|
+
# Raises on 403: Forbidden
|
|
1377
|
+
#
|
|
1378
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1379
|
+
# constructed with.
|
|
1380
|
+
# @param body [Hash] Request body, shaped as `AiAttributionDimensionInput`.
|
|
1381
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1382
|
+
# @return [Hash] Parsed JSON, shaped as `AiAttributionDimension` — see
|
|
1383
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
1384
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1385
|
+
def create(body:, org_id: nil, request_options: nil)
|
|
1386
|
+
@transport.request(
|
|
1387
|
+
http_method: "POST",
|
|
1388
|
+
path: "/api/org/{orgId}/ai-attribution/dimensions",
|
|
1389
|
+
path_params: { "orgId" => org_id },
|
|
1390
|
+
body: body,
|
|
1391
|
+
request_options: request_options
|
|
1392
|
+
)
|
|
1393
|
+
end
|
|
1394
|
+
|
|
1395
|
+
# Delete a caller dimension
|
|
1396
|
+
#
|
|
1397
|
+
# DELETE /api/org/{orgId}/ai-attribution/dimensions/{id}
|
|
1398
|
+
#
|
|
1399
|
+
# Raises on 403: Forbidden
|
|
1400
|
+
#
|
|
1401
|
+
# Raises on 404: Not found
|
|
1402
|
+
#
|
|
1403
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1404
|
+
# constructed with.
|
|
1405
|
+
# @param id [String]
|
|
1406
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1407
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
1408
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1409
|
+
def delete(id:, org_id: nil, request_options: nil)
|
|
1410
|
+
@transport.request(
|
|
1411
|
+
http_method: "DELETE",
|
|
1412
|
+
path: "/api/org/{orgId}/ai-attribution/dimensions/{id}",
|
|
1413
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
1414
|
+
request_options: request_options
|
|
1415
|
+
)
|
|
1416
|
+
end
|
|
1417
|
+
|
|
1418
|
+
# List caller dimensions
|
|
1419
|
+
#
|
|
1420
|
+
# GET /api/org/{orgId}/ai-attribution/dimensions
|
|
1421
|
+
#
|
|
1422
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1423
|
+
# constructed with.
|
|
1424
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1425
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
1426
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1427
|
+
def get(org_id: nil, request_options: nil)
|
|
1428
|
+
@transport.request(
|
|
1429
|
+
http_method: "GET",
|
|
1430
|
+
path: "/api/org/{orgId}/ai-attribution/dimensions",
|
|
1431
|
+
path_params: { "orgId" => org_id },
|
|
1432
|
+
request_options: request_options
|
|
1433
|
+
)
|
|
1434
|
+
end
|
|
1435
|
+
|
|
1436
|
+
# Update a caller dimension
|
|
1437
|
+
#
|
|
1438
|
+
# PUT /api/org/{orgId}/ai-attribution/dimensions/{id}
|
|
1439
|
+
#
|
|
1440
|
+
# Raises on 400: Bad request
|
|
1441
|
+
#
|
|
1442
|
+
# Raises on 403: Forbidden
|
|
1443
|
+
#
|
|
1444
|
+
# Raises on 404: Not found
|
|
1445
|
+
#
|
|
1446
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1447
|
+
# constructed with.
|
|
1448
|
+
# @param id [String]
|
|
1449
|
+
# @param body [Hash] Request body, shaped as `AiAttributionDimensionInput`.
|
|
1450
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1451
|
+
# @return [Hash] Parsed JSON, shaped as `AiAttributionDimension` — see
|
|
1452
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
1453
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1454
|
+
def update(id:, body:, org_id: nil, request_options: nil)
|
|
1455
|
+
@transport.request(
|
|
1456
|
+
http_method: "PUT",
|
|
1457
|
+
path: "/api/org/{orgId}/ai-attribution/dimensions/{id}",
|
|
1458
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
1459
|
+
body: body,
|
|
1460
|
+
request_options: request_options
|
|
1461
|
+
)
|
|
1462
|
+
end
|
|
1463
|
+
end
|
|
1464
|
+
|
|
1465
|
+
# `client.ai_attribution.sources`
|
|
1466
|
+
class AiAttributionSourcesNamespace
|
|
1467
|
+
# @api private
|
|
1468
|
+
# @param transport [Transport]
|
|
1469
|
+
def initialize(transport)
|
|
1470
|
+
@transport = transport
|
|
1471
|
+
end
|
|
1472
|
+
|
|
1473
|
+
# Add a request-log source
|
|
1474
|
+
#
|
|
1475
|
+
# Governed by `org:settings:write`: a source authorizes a daily read of the
|
|
1476
|
+
# org's request logs, and the Bedrock CloudWatch kind runs a Logs Insights
|
|
1477
|
+
# query billed to the org's own AWS account per GB scanned. Audit-logged.
|
|
1478
|
+
#
|
|
1479
|
+
# POST /api/org/{orgId}/ai-attribution/sources
|
|
1480
|
+
#
|
|
1481
|
+
# Raises on 400: Bad request
|
|
1482
|
+
#
|
|
1483
|
+
# Raises on 403: Forbidden
|
|
1484
|
+
#
|
|
1485
|
+
# Raises on 404: Not found
|
|
1486
|
+
#
|
|
1487
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1488
|
+
# constructed with.
|
|
1489
|
+
# @param body [Hash] Request body, shaped as `AiRequestSourceInput`.
|
|
1490
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1491
|
+
# @return [Hash] Parsed JSON, shaped as `AiRequestSource` — see `sig/infrawrench/sdk.rbs`.
|
|
1492
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1493
|
+
def create(body:, org_id: nil, request_options: nil)
|
|
1494
|
+
@transport.request(
|
|
1495
|
+
http_method: "POST",
|
|
1496
|
+
path: "/api/org/{orgId}/ai-attribution/sources",
|
|
1497
|
+
path_params: { "orgId" => org_id },
|
|
1498
|
+
body: body,
|
|
1499
|
+
request_options: request_options
|
|
1500
|
+
)
|
|
1501
|
+
end
|
|
1502
|
+
|
|
1503
|
+
# Delete a request-log source
|
|
1504
|
+
#
|
|
1505
|
+
# DELETE /api/org/{orgId}/ai-attribution/sources/{id}
|
|
1506
|
+
#
|
|
1507
|
+
# Raises on 403: Forbidden
|
|
1508
|
+
#
|
|
1509
|
+
# Raises on 404: Not found
|
|
1510
|
+
#
|
|
1511
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1512
|
+
# constructed with.
|
|
1513
|
+
# @param id [String]
|
|
1514
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1515
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
1516
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1517
|
+
def delete(id:, org_id: nil, request_options: nil)
|
|
1518
|
+
@transport.request(
|
|
1519
|
+
http_method: "DELETE",
|
|
1520
|
+
path: "/api/org/{orgId}/ai-attribution/sources/{id}",
|
|
1521
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
1522
|
+
request_options: request_options
|
|
1523
|
+
)
|
|
1524
|
+
end
|
|
1525
|
+
|
|
1526
|
+
# List request-log sources
|
|
1527
|
+
#
|
|
1528
|
+
# GET /api/org/{orgId}/ai-attribution/sources
|
|
1529
|
+
#
|
|
1530
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1531
|
+
# constructed with.
|
|
1532
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1533
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
1534
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1535
|
+
def get(org_id: nil, request_options: nil)
|
|
1536
|
+
@transport.request(
|
|
1537
|
+
http_method: "GET",
|
|
1538
|
+
path: "/api/org/{orgId}/ai-attribution/sources",
|
|
1539
|
+
path_params: { "orgId" => org_id },
|
|
1540
|
+
request_options: request_options
|
|
1541
|
+
)
|
|
1542
|
+
end
|
|
1543
|
+
|
|
1544
|
+
# Read one request-log source
|
|
1545
|
+
#
|
|
1546
|
+
# GET /api/org/{orgId}/ai-attribution/sources/{id}
|
|
1547
|
+
#
|
|
1548
|
+
# Raises on 404: Not found
|
|
1549
|
+
#
|
|
1550
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1551
|
+
# constructed with.
|
|
1552
|
+
# @param id [String]
|
|
1553
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1554
|
+
# @return [Hash] Parsed JSON, shaped as `AiRequestSource` — see `sig/infrawrench/sdk.rbs`.
|
|
1555
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1556
|
+
def get_org_org_id_ai_attribution_sources_id(id:, org_id: nil, request_options: nil)
|
|
1557
|
+
@transport.request(
|
|
1558
|
+
http_method: "GET",
|
|
1559
|
+
path: "/api/org/{orgId}/ai-attribution/sources/{id}",
|
|
1560
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
1561
|
+
request_options: request_options
|
|
1562
|
+
)
|
|
1563
|
+
end
|
|
1564
|
+
|
|
1565
|
+
# Re-read a source's history from a day
|
|
1566
|
+
#
|
|
1567
|
+
# Aggregates keep only mapped metadata keys, so a newly mapped dimension
|
|
1568
|
+
# reaches history only by re-reading it. Clamped to the source kind's
|
|
1569
|
+
# history limit.
|
|
1570
|
+
#
|
|
1571
|
+
# POST /api/org/{orgId}/ai-attribution/sources/{id}/recollect
|
|
1572
|
+
#
|
|
1573
|
+
# Raises on 400: Bad request
|
|
1574
|
+
#
|
|
1575
|
+
# Raises on 404: Not found
|
|
1576
|
+
#
|
|
1577
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1578
|
+
# constructed with.
|
|
1579
|
+
# @param id [String]
|
|
1580
|
+
# @param body [Hash] Request body, shaped as `Hash`.
|
|
1581
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1582
|
+
# @return [Hash] Parsed JSON, shaped as `AiRequestSource` — see `sig/infrawrench/sdk.rbs`.
|
|
1583
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1584
|
+
def recollect(id:, body:, org_id: nil, request_options: nil)
|
|
1585
|
+
@transport.request(
|
|
1586
|
+
http_method: "POST",
|
|
1587
|
+
path: "/api/org/{orgId}/ai-attribution/sources/{id}/recollect",
|
|
1588
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
1589
|
+
body: body,
|
|
1590
|
+
request_options: request_options
|
|
1591
|
+
)
|
|
1592
|
+
end
|
|
1593
|
+
|
|
1594
|
+
# Update a request-log source
|
|
1595
|
+
#
|
|
1596
|
+
# Pointing a source at a different location restarts its collection history.
|
|
1597
|
+
#
|
|
1598
|
+
# PUT /api/org/{orgId}/ai-attribution/sources/{id}
|
|
1599
|
+
#
|
|
1600
|
+
# Raises on 400: Bad request
|
|
1601
|
+
#
|
|
1602
|
+
# Raises on 403: Forbidden
|
|
1603
|
+
#
|
|
1604
|
+
# Raises on 404: Not found
|
|
1605
|
+
#
|
|
1606
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1607
|
+
# constructed with.
|
|
1608
|
+
# @param id [String]
|
|
1609
|
+
# @param body [Hash] Request body, shaped as `AiRequestSourceInput`.
|
|
1610
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1611
|
+
# @return [Hash] Parsed JSON, shaped as `AiRequestSource` — see `sig/infrawrench/sdk.rbs`.
|
|
1612
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1613
|
+
def update(id:, body:, org_id: nil, request_options: nil)
|
|
1614
|
+
@transport.request(
|
|
1615
|
+
http_method: "PUT",
|
|
1616
|
+
path: "/api/org/{orgId}/ai-attribution/sources/{id}",
|
|
1617
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
1618
|
+
body: body,
|
|
1619
|
+
request_options: request_options
|
|
1620
|
+
)
|
|
1621
|
+
end
|
|
1622
|
+
end
|
|
1623
|
+
|
|
1624
|
+
# `client.ai_attribution`
|
|
1625
|
+
class AiAttributionNamespace
|
|
1626
|
+
# @return [AiAttributionDimensionsNamespace] `client.ai_attribution.dimensions`
|
|
1627
|
+
attr_reader :dimensions
|
|
1628
|
+
# @return [AiAttributionSourcesNamespace] `client.ai_attribution.sources`
|
|
1629
|
+
attr_reader :sources
|
|
1630
|
+
|
|
1631
|
+
# @api private
|
|
1632
|
+
# @param transport [Transport]
|
|
1633
|
+
def initialize(transport)
|
|
1634
|
+
@transport = transport
|
|
1635
|
+
@dimensions = AiAttributionDimensionsNamespace.new(@transport)
|
|
1636
|
+
@sources = AiAttributionSourcesNamespace.new(@transport)
|
|
1637
|
+
end
|
|
1638
|
+
|
|
1639
|
+
# Discover locations (buckets, log groups, gateways) for a source kind
|
|
1640
|
+
#
|
|
1641
|
+
# GET /api/org/{orgId}/ai-attribution/locations
|
|
1642
|
+
#
|
|
1643
|
+
# Raises on 400: Bad request
|
|
1644
|
+
#
|
|
1645
|
+
# Raises on 403: Forbidden
|
|
1646
|
+
#
|
|
1647
|
+
# Raises on 404: Not found
|
|
1648
|
+
#
|
|
1649
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1650
|
+
# constructed with.
|
|
1651
|
+
# @param account_id [String]
|
|
1652
|
+
# @param source_kind_id [String]
|
|
1653
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1654
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
1655
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1656
|
+
def locations(account_id:, source_kind_id:, org_id: nil, request_options: nil)
|
|
1657
|
+
@transport.request(
|
|
1658
|
+
http_method: "GET",
|
|
1659
|
+
path: "/api/org/{orgId}/ai-attribution/locations",
|
|
1660
|
+
path_params: { "orgId" => org_id },
|
|
1661
|
+
query: { "accountId" => account_id, "sourceKindId" => source_kind_id },
|
|
1662
|
+
request_options: request_options
|
|
1663
|
+
)
|
|
1664
|
+
end
|
|
1665
|
+
|
|
1666
|
+
# Re-split a range of days now
|
|
1667
|
+
#
|
|
1668
|
+
# POST /api/org/{orgId}/ai-attribution/reattribute
|
|
1669
|
+
#
|
|
1670
|
+
# Raises on 400: Bad request
|
|
1671
|
+
#
|
|
1672
|
+
# Raises on 403: Forbidden
|
|
1673
|
+
#
|
|
1674
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1675
|
+
# constructed with.
|
|
1676
|
+
# @param body [Hash] Request body, shaped as `Hash`.
|
|
1677
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1678
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
1679
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1680
|
+
def reattribute(body:, org_id: nil, request_options: nil)
|
|
1681
|
+
@transport.request(
|
|
1682
|
+
http_method: "POST",
|
|
1683
|
+
path: "/api/org/{orgId}/ai-attribution/reattribute",
|
|
1684
|
+
path_params: { "orgId" => org_id },
|
|
1685
|
+
body: body,
|
|
1686
|
+
request_options: request_options
|
|
1687
|
+
)
|
|
1688
|
+
end
|
|
1689
|
+
|
|
1690
|
+
# List the request-log source kinds the org can add
|
|
1691
|
+
#
|
|
1692
|
+
# GET /api/org/{orgId}/ai-attribution/source-kinds
|
|
1693
|
+
#
|
|
1694
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1695
|
+
# constructed with.
|
|
1696
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1697
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
1698
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1699
|
+
def source_kinds(org_id: nil, request_options: nil)
|
|
1700
|
+
@transport.request(
|
|
1701
|
+
http_method: "GET",
|
|
1702
|
+
path: "/api/org/{orgId}/ai-attribution/source-kinds",
|
|
1703
|
+
path_params: { "orgId" => org_id },
|
|
1704
|
+
request_options: request_options
|
|
1705
|
+
)
|
|
1706
|
+
end
|
|
1707
|
+
|
|
1708
|
+
# Attributed AI spend by one caller dimension
|
|
1709
|
+
#
|
|
1710
|
+
# Includes the `(unattributed)` remainder and `(not set)` for matched
|
|
1711
|
+
# requests that lacked every mapped key. For time series, group a cost
|
|
1712
|
+
# report by the tag key `caller:<dimension>`.
|
|
1713
|
+
#
|
|
1714
|
+
# GET /api/org/{orgId}/ai-attribution/spend
|
|
1715
|
+
#
|
|
1716
|
+
# Raises on 400: Bad request
|
|
1717
|
+
#
|
|
1718
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1719
|
+
# constructed with.
|
|
1720
|
+
# @param from [String, nil] Inclusive start day. Defaults to 29 days ago.
|
|
1721
|
+
# @param to [String, nil] Inclusive end day. Defaults to today.
|
|
1722
|
+
# @param dimension [String]
|
|
1723
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1724
|
+
# @return [Hash] Parsed JSON, shaped as `AiSpendBreakdown` — see `sig/infrawrench/sdk.rbs`.
|
|
1725
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1726
|
+
def spend(dimension:, org_id: nil, from: nil, to: nil, request_options: nil)
|
|
1727
|
+
@transport.request(
|
|
1728
|
+
http_method: "GET",
|
|
1729
|
+
path: "/api/org/{orgId}/ai-attribution/spend",
|
|
1730
|
+
path_params: { "orgId" => org_id },
|
|
1731
|
+
query: { "from" => from, "to" => to, "dimension" => dimension },
|
|
1732
|
+
request_options: request_options
|
|
1733
|
+
)
|
|
1734
|
+
end
|
|
1735
|
+
|
|
1736
|
+
# Match-rate statistics per source and coverage per provider
|
|
1737
|
+
#
|
|
1738
|
+
# GET /api/org/{orgId}/ai-attribution/stats
|
|
1739
|
+
#
|
|
1740
|
+
# Raises on 400: Bad request
|
|
1741
|
+
#
|
|
1742
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1743
|
+
# constructed with.
|
|
1744
|
+
# @param from [String, nil] Inclusive start day. Defaults to 29 days ago.
|
|
1745
|
+
# @param to [String, nil] Inclusive end day. Defaults to today.
|
|
1746
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1747
|
+
# @return [Hash] Parsed JSON, shaped as `AiAttributionStats` — see
|
|
1748
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
1749
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1750
|
+
def stats(org_id: nil, from: nil, to: nil, request_options: nil)
|
|
1751
|
+
@transport.request(
|
|
1752
|
+
http_method: "GET",
|
|
1753
|
+
path: "/api/org/{orgId}/ai-attribution/stats",
|
|
1754
|
+
path_params: { "orgId" => org_id },
|
|
1755
|
+
query: { "from" => from, "to" => to },
|
|
1756
|
+
request_options: request_options
|
|
1757
|
+
)
|
|
1758
|
+
end
|
|
1759
|
+
end
|
|
1760
|
+
|
|
1362
1761
|
# `client.alert_rules.deliveries`
|
|
1363
1762
|
class AlertRulesDeliveriesNamespace
|
|
1364
1763
|
# @api private
|
|
@@ -2713,7 +3112,7 @@ module Infrawrench
|
|
|
2713
3112
|
)
|
|
2714
3113
|
end
|
|
2715
3114
|
|
|
2716
|
-
# Get a budget with current-
|
|
3115
|
+
# Get a budget with current-period status
|
|
2717
3116
|
#
|
|
2718
3117
|
# GET /api/org/{orgId}/budgets/{id}
|
|
2719
3118
|
#
|
|
@@ -2723,7 +3122,7 @@ module Infrawrench
|
|
|
2723
3122
|
# constructed with.
|
|
2724
3123
|
# @param id [String]
|
|
2725
3124
|
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
2726
|
-
# @return [Hash] Parsed JSON, shaped as `
|
|
3125
|
+
# @return [Hash] Parsed JSON, shaped as `BudgetWithStatus` — see `sig/infrawrench/sdk.rbs`.
|
|
2727
3126
|
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
2728
3127
|
def get(id:, org_id: nil, request_options: nil)
|
|
2729
3128
|
@transport.request(
|
|
@@ -2734,7 +3133,7 @@ module Infrawrench
|
|
|
2734
3133
|
)
|
|
2735
3134
|
end
|
|
2736
3135
|
|
|
2737
|
-
# List budgets with current-
|
|
3136
|
+
# List budgets with current-period actuals and forecasts
|
|
2738
3137
|
#
|
|
2739
3138
|
# GET /api/org/{orgId}/budgets
|
|
2740
3139
|
#
|
|
@@ -6481,9 +6880,10 @@ module Infrawrench
|
|
|
6481
6880
|
# List distinct values for a cost dimension
|
|
6482
6881
|
#
|
|
6483
6882
|
# Feeds the filter and group-by pickers. Pass dimension=tag-keys for tag
|
|
6484
|
-
# keys
|
|
6485
|
-
#
|
|
6486
|
-
#
|
|
6883
|
+
# keys, or dimension=usage-units for the usage units providers report (a
|
|
6884
|
+
# usage budget's unit); dimension=tag requires tagKey. `charge_type` answers
|
|
6885
|
+
# from the fixed set of charge types rather than from the stored data, so
|
|
6886
|
+
# the picker is populated before any provider has reported one.
|
|
6487
6887
|
#
|
|
6488
6888
|
# _Requires permission: `costs:read`._
|
|
6489
6889
|
#
|
|
@@ -18473,6 +18873,8 @@ module Infrawrench
|
|
|
18473
18873
|
attr_reader :agent_registrations
|
|
18474
18874
|
# @return [AgentsNamespace] `client.agents`
|
|
18475
18875
|
attr_reader :agents
|
|
18876
|
+
# @return [AiAttributionNamespace] `client.ai_attribution`
|
|
18877
|
+
attr_reader :ai_attribution
|
|
18476
18878
|
# @return [AlertRulesNamespace] `client.alert_rules`
|
|
18477
18879
|
attr_reader :alert_rules
|
|
18478
18880
|
# @return [ApiKeysNamespace] `client.api_keys`
|
|
@@ -18681,6 +19083,7 @@ module Infrawrench
|
|
|
18681
19083
|
@agent = AgentNamespace.new(@transport)
|
|
18682
19084
|
@agent_registrations = AgentRegistrationsNamespace.new(@transport)
|
|
18683
19085
|
@agents = AgentsNamespace.new(@transport)
|
|
19086
|
+
@ai_attribution = AiAttributionNamespace.new(@transport)
|
|
18684
19087
|
@alert_rules = AlertRulesNamespace.new(@transport)
|
|
18685
19088
|
@api_keys = ApiKeysNamespace.new(@transport)
|
|
18686
19089
|
@apps = AppsNamespace.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.57.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.57.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.57.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.57.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.57.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.57.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.57.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.57.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.57.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.57.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.57.0).
|
|
5
5
|
#
|
|
6
6
|
# DO NOT EDIT. Regenerate with:
|
|
7
7
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -414,6 +414,128 @@ module Infrawrench
|
|
|
414
414
|
"hiddenFieldKeys" => Array[String]
|
|
415
415
|
}
|
|
416
416
|
|
|
417
|
+
# Spec schema: `AiAttributionDimension`.
|
|
418
|
+
type ai_attribution_dimension = {
|
|
419
|
+
"id" => String,
|
|
420
|
+
"key" => String,
|
|
421
|
+
"label" => String,
|
|
422
|
+
"metadataKeys" => Array[String],
|
|
423
|
+
"createdAt" => String,
|
|
424
|
+
"updatedAt" => String
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
# Spec schema: `AiAttributionDimensionInput`.
|
|
428
|
+
type ai_attribution_dimension_input = { "key" => String, "label" => String, "metadataKeys" => Array[String] }
|
|
429
|
+
|
|
430
|
+
# Spec schema: `AiAttributionStats`.
|
|
431
|
+
type ai_attribution_stats = {
|
|
432
|
+
"from" => String,
|
|
433
|
+
"to" => String,
|
|
434
|
+
"sources" => Array[ai_source_match_stats],
|
|
435
|
+
"providers" => Array[ai_provider_coverage],
|
|
436
|
+
"attributedDays" => Integer
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
# Spec schema: `AiProviderCoverage`.
|
|
440
|
+
type ai_provider_coverage = {
|
|
441
|
+
"provider" => String,
|
|
442
|
+
"currency" => String,
|
|
443
|
+
"billedAmount" => Numeric,
|
|
444
|
+
"attributedAmount" => Numeric,
|
|
445
|
+
"unattributedAmount" => Numeric
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
# Spec schema: `AiRequestLogLocation`.
|
|
449
|
+
type ai_request_log_location = {
|
|
450
|
+
"id" => String,
|
|
451
|
+
"label" => String,
|
|
452
|
+
?"detail" => String,
|
|
453
|
+
"location" => Hash[String, String],
|
|
454
|
+
?"recommended" => bool
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
# Spec schema: `AiRequestSource`.
|
|
458
|
+
type ai_request_source = {
|
|
459
|
+
"id" => String,
|
|
460
|
+
"name" => String,
|
|
461
|
+
"kind" => "plugin" | "litellm",
|
|
462
|
+
"pluginId" => String | nil,
|
|
463
|
+
"accountId" => String | nil,
|
|
464
|
+
"accountName" => String | nil,
|
|
465
|
+
"sourceKindId" => String,
|
|
466
|
+
"location" => Hash[String, String],
|
|
467
|
+
"enabled" => bool,
|
|
468
|
+
"lookbackDays" => Integer,
|
|
469
|
+
"baseUrl" => String | nil,
|
|
470
|
+
"hasApiKey" => bool,
|
|
471
|
+
"collectedThrough" => String | nil,
|
|
472
|
+
"lastRunAt" => String | nil,
|
|
473
|
+
"nextRunAt" => String | nil,
|
|
474
|
+
"lastError" => String | nil,
|
|
475
|
+
"lastErrorHelpUrl" => String | nil,
|
|
476
|
+
"failureCount" => Integer,
|
|
477
|
+
"observedMetadataKeys" => Hash[String, Numeric],
|
|
478
|
+
"lastQueryBytesScanned" => Numeric | nil,
|
|
479
|
+
"createdAt" => String,
|
|
480
|
+
"updatedAt" => String
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
# Spec schema: `AiRequestSourceInput`.
|
|
484
|
+
type ai_request_source_input = {
|
|
485
|
+
"name" => String,
|
|
486
|
+
"kind" => "plugin" | "litellm",
|
|
487
|
+
?"accountId" => String | nil,
|
|
488
|
+
"sourceKindId" => String,
|
|
489
|
+
"location" => Hash[String, String],
|
|
490
|
+
"enabled" => bool,
|
|
491
|
+
"lookbackDays" => Integer,
|
|
492
|
+
?"baseUrl" => String | nil,
|
|
493
|
+
?"apiKey" => String
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
# Spec schema: `AiRequestSourceKindOption`.
|
|
497
|
+
type ai_request_source_kind_option = {
|
|
498
|
+
"kind" => "plugin" | "litellm",
|
|
499
|
+
"pluginId" => String | nil,
|
|
500
|
+
"pluginName" => String | nil,
|
|
501
|
+
"sourceKindId" => String,
|
|
502
|
+
"label" => String,
|
|
503
|
+
"description" => String,
|
|
504
|
+
"locationLabel" => String,
|
|
505
|
+
"maxHistoryDays" => Integer,
|
|
506
|
+
"queriesBillable" => bool,
|
|
507
|
+
"acceptsPrefix" => bool,
|
|
508
|
+
"helpUrl" => String | nil,
|
|
509
|
+
"accounts" => Array[{ "id" => String, "name" => String }]
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
# Spec schema: `AiSourceMatchStats`.
|
|
513
|
+
type ai_source_match_stats = {
|
|
514
|
+
"sourceId" => String,
|
|
515
|
+
"name" => String,
|
|
516
|
+
"days" => Integer,
|
|
517
|
+
"requests" => Numeric,
|
|
518
|
+
"matchedRequests" => Numeric,
|
|
519
|
+
"ambiguousRequests" => Numeric,
|
|
520
|
+
"unmatchedRequests" => Numeric,
|
|
521
|
+
"skippedRecords" => Numeric,
|
|
522
|
+
"currency" => String | nil,
|
|
523
|
+
"attributedAmount" => Numeric,
|
|
524
|
+
"billedAmount" => Numeric,
|
|
525
|
+
"coveragePercent" => Numeric | nil,
|
|
526
|
+
"degradedDays" => Integer,
|
|
527
|
+
"truncatedDays" => Integer
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
# Spec schema: `AiSpendBreakdown`.
|
|
531
|
+
type ai_spend_breakdown = {
|
|
532
|
+
"from" => String,
|
|
533
|
+
"to" => String,
|
|
534
|
+
"dimension" => String,
|
|
535
|
+
"tagKey" => String,
|
|
536
|
+
"rows" => Array[{ "value" => String, "currency" => String, "amount" => Numeric }]
|
|
537
|
+
}
|
|
538
|
+
|
|
417
539
|
# One clause of a rule. A rule matches when every condition matches; 'or' is
|
|
418
540
|
# expressed by writing a second rule. A condition on a fact the alert does not
|
|
419
541
|
# carry never matches — in either direction, so `accountId notIn [x]` does not
|
|
@@ -952,7 +1074,11 @@ module Infrawrench
|
|
|
952
1074
|
"thresholdPercent" => Integer,
|
|
953
1075
|
"actualAmountCents" => Integer,
|
|
954
1076
|
"forecastAmountCents" => Integer | nil,
|
|
955
|
-
"triggeredAt" => String
|
|
1077
|
+
"triggeredAt" => String,
|
|
1078
|
+
"periodStart" => String | nil,
|
|
1079
|
+
"periodEnd" => String | nil,
|
|
1080
|
+
"actualUsage" => Numeric | nil,
|
|
1081
|
+
"forecastUsage" => Numeric | nil
|
|
956
1082
|
}
|
|
957
1083
|
|
|
958
1084
|
# The basis `actualCents` and `forecastCents` were measured on.
|
|
@@ -975,6 +1101,12 @@ module Infrawrench
|
|
|
975
1101
|
?"tagKey" => String
|
|
976
1102
|
}
|
|
977
1103
|
|
|
1104
|
+
# Spec schema: `BudgetExplicitPeriods`.
|
|
1105
|
+
type budget_explicit_periods = {
|
|
1106
|
+
"kind" => "explicit",
|
|
1107
|
+
"periods" => Array[{ "start" => String, "end" => String, ?"amountCents" => Integer, ?"usageAmount" => Numeric }]
|
|
1108
|
+
}
|
|
1109
|
+
|
|
978
1110
|
# Spec schema: `BudgetFull`.
|
|
979
1111
|
type budget_full = {
|
|
980
1112
|
"id" => String,
|
|
@@ -991,20 +1123,65 @@ module Infrawrench
|
|
|
991
1123
|
"createdByUserId" => String | nil,
|
|
992
1124
|
"deletedAt" => String | nil,
|
|
993
1125
|
"createdAt" => String,
|
|
994
|
-
"updatedAt" => String
|
|
1126
|
+
"updatedAt" => String,
|
|
1127
|
+
"measure" => budget_measure,
|
|
1128
|
+
"usageUnit" => String | nil,
|
|
1129
|
+
"usageAmount" => Numeric | nil,
|
|
1130
|
+
"period" => budget_period,
|
|
1131
|
+
"parentBudgetId" => String | nil
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
# Spec schema: `BudgetHierarchyWarning`.
|
|
1135
|
+
type budget_hierarchy_warning = {
|
|
1136
|
+
"kind" => "allocation" | "actual" | "forecast",
|
|
1137
|
+
"childTotal" => Numeric,
|
|
1138
|
+
"parentLimit" => Numeric
|
|
995
1139
|
}
|
|
996
1140
|
|
|
997
1141
|
# Spec schema: `BudgetInput`.
|
|
998
1142
|
type budget_input = {
|
|
999
1143
|
"name" => String,
|
|
1000
|
-
"amountCents" => Integer,
|
|
1144
|
+
?"amountCents" => Integer,
|
|
1001
1145
|
?"currency" => String,
|
|
1002
1146
|
?"filters" => Array[budget_cost_filter],
|
|
1003
1147
|
?"savedFilterId" => String,
|
|
1004
1148
|
?"scenarioModelId" => String,
|
|
1005
1149
|
"thresholds" => Array[budget_threshold],
|
|
1006
1150
|
?"costBasis" => budget_cost_basis & untyped,
|
|
1007
|
-
?"useAdjustedSpend" => bool
|
|
1151
|
+
?"useAdjustedSpend" => bool,
|
|
1152
|
+
?"measure" => budget_measure,
|
|
1153
|
+
?"usageUnit" => String,
|
|
1154
|
+
?"usageAmount" => Numeric,
|
|
1155
|
+
?"period" => budget_period & (budget_recurring_period | budget_explicit_periods),
|
|
1156
|
+
?"parentBudgetId" => String
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
# What the budget counts. `cost` (the default) is money in `currency`, against
|
|
1160
|
+
# `amountCents`. `usage` sums the cost rows' usage quantity in `usageUnit`
|
|
1161
|
+
# against `usageAmount` (tokens, GB, instance-hours, requests: whatever the
|
|
1162
|
+
# providers report; list them with GET
|
|
1163
|
+
# /costs/dimensions?dimension=usage-units). Units are matched exactly and
|
|
1164
|
+
# never converted. A usage budget takes no scenario model and no billing
|
|
1165
|
+
# rules.
|
|
1166
|
+
#
|
|
1167
|
+
# Spec schema: `BudgetMeasure`.
|
|
1168
|
+
type budget_measure = "cost" | "usage"
|
|
1169
|
+
|
|
1170
|
+
# Which periods the budget covers. Omitted (or null) is the calendar month.
|
|
1171
|
+
# `recurring` repeats every `interval` × `unit` from `startDate`; `explicit`
|
|
1172
|
+
# lists the periods with an amount each, and the top-level amount is then
|
|
1173
|
+
# ignored. Thresholds fire once per period; days outside every period are not
|
|
1174
|
+
# measured.
|
|
1175
|
+
#
|
|
1176
|
+
# Spec schema: `BudgetPeriod`.
|
|
1177
|
+
type budget_period = budget_recurring_period | budget_explicit_periods | nil
|
|
1178
|
+
|
|
1179
|
+
# Spec schema: `BudgetRecurringPeriod`.
|
|
1180
|
+
type budget_recurring_period = {
|
|
1181
|
+
"kind" => "recurring",
|
|
1182
|
+
"unit" => "day" | "week" | "month" | "quarter" | "year",
|
|
1183
|
+
"interval" => Integer,
|
|
1184
|
+
"startDate" => String
|
|
1008
1185
|
}
|
|
1009
1186
|
|
|
1010
1187
|
# Spec schema: `BudgetThreshold`.
|
|
@@ -1034,7 +1211,20 @@ module Infrawrench
|
|
|
1034
1211
|
"thresholdPercent" => Integer,
|
|
1035
1212
|
"triggeredAt" => String
|
|
1036
1213
|
}],
|
|
1037
|
-
"placements" => Array[{ "widgetId" => String, "dashboardId" => String, "dashboardName" => String }]
|
|
1214
|
+
"placements" => Array[{ "widgetId" => String, "dashboardId" => String, "dashboardName" => String }],
|
|
1215
|
+
"measure" => budget_measure,
|
|
1216
|
+
"usageUnit" => String | nil,
|
|
1217
|
+
"usageAmount" => Numeric | nil,
|
|
1218
|
+
"period" => budget_period,
|
|
1219
|
+
"parentBudgetId" => String | nil,
|
|
1220
|
+
"periodStart" => String | nil,
|
|
1221
|
+
"periodEnd" => String | nil,
|
|
1222
|
+
"periodLimit" => Numeric | nil,
|
|
1223
|
+
"actualUsage" => Numeric | nil,
|
|
1224
|
+
"forecastUsage" => Numeric | nil,
|
|
1225
|
+
"rolledUp" => bool,
|
|
1226
|
+
"childCount" => Integer,
|
|
1227
|
+
"hierarchyWarnings" => Array[budget_hierarchy_warning]
|
|
1038
1228
|
}
|
|
1039
1229
|
|
|
1040
1230
|
# Spec schema: `BusinessMetric`.
|
|
@@ -8737,6 +8927,35 @@ module Infrawrench
|
|
|
8737
8927
|
def accounts: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[agent_vm_account]
|
|
8738
8928
|
end
|
|
8739
8929
|
|
|
8930
|
+
class AiAttributionDimensionsNamespace
|
|
8931
|
+
def initialize: (Transport) -> void
|
|
8932
|
+
def create: (body: ai_attribution_dimension_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ai_attribution_dimension
|
|
8933
|
+
def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool }
|
|
8934
|
+
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "dimensions" => Array[ai_attribution_dimension] }
|
|
8935
|
+
def update: (id: String, body: ai_attribution_dimension_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ai_attribution_dimension
|
|
8936
|
+
end
|
|
8937
|
+
|
|
8938
|
+
class AiAttributionSourcesNamespace
|
|
8939
|
+
def initialize: (Transport) -> void
|
|
8940
|
+
def create: (body: ai_request_source_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ai_request_source
|
|
8941
|
+
def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool }
|
|
8942
|
+
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "sources" => Array[ai_request_source] }
|
|
8943
|
+
def get_org_org_id_ai_attribution_sources_id: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ai_request_source
|
|
8944
|
+
def recollect: (id: String, body: { "from" => String }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ai_request_source
|
|
8945
|
+
def update: (id: String, body: ai_request_source_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ai_request_source
|
|
8946
|
+
end
|
|
8947
|
+
|
|
8948
|
+
class AiAttributionNamespace
|
|
8949
|
+
attr_reader dimensions: AiAttributionDimensionsNamespace
|
|
8950
|
+
attr_reader sources: AiAttributionSourcesNamespace
|
|
8951
|
+
def initialize: (Transport) -> void
|
|
8952
|
+
def locations: (account_id: String, source_kind_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "locations" => Array[ai_request_log_location] }
|
|
8953
|
+
def reattribute: (body: { "from" => String, "to" => String }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool, "days" => Integer }
|
|
8954
|
+
def source_kinds: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "sourceKinds" => Array[ai_request_source_kind_option] }
|
|
8955
|
+
def spend: (dimension: String, ?org_id: String?, ?from: String?, ?to: String?, ?request_options: Hash[Symbol, untyped]?) -> ai_spend_breakdown
|
|
8956
|
+
def stats: (?org_id: String?, ?from: String?, ?to: String?, ?request_options: Hash[Symbol, untyped]?) -> ai_attribution_stats
|
|
8957
|
+
end
|
|
8958
|
+
|
|
8740
8959
|
class AlertRulesDeliveriesNamespace
|
|
8741
8960
|
def initialize: (Transport) -> void
|
|
8742
8961
|
def ack: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "acknowledged" => bool, ?"alreadyAcknowledgedBy" => String | nil, ?"reason" => "not_pending" | "already_escalated" | "already_acknowledged", ?"title" => String }
|
|
@@ -8852,7 +9071,7 @@ module Infrawrench
|
|
|
8852
9071
|
def create: (body: budget_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> budget_full
|
|
8853
9072
|
def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
|
|
8854
9073
|
def events: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[budget_alert_event]
|
|
8855
|
-
def get: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) ->
|
|
9074
|
+
def get: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> budget_with_status
|
|
8856
9075
|
def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[budget_with_status]
|
|
8857
9076
|
def update: (id: String, body: budget_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> budget_full
|
|
8858
9077
|
end
|
|
@@ -9128,7 +9347,7 @@ module Infrawrench
|
|
|
9128
9347
|
attr_reader anomaly_settings: CostsAnomalySettingsNamespace
|
|
9129
9348
|
attr_reader efficiency_alert_settings: CostsEfficiencyAlertSettingsNamespace
|
|
9130
9349
|
def initialize: (Transport) -> void
|
|
9131
|
-
def dimensions: (dimension: "provider" | "account" | "service" | "region" | "resource" | "tag" | "charge_type" | "commitment" | "tag-keys", ?org_id: String?, ?tag_key: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_dimension_values
|
|
9350
|
+
def dimensions: (dimension: "provider" | "account" | "service" | "region" | "resource" | "tag" | "charge_type" | "commitment" | "tag-keys" | "usage-units", ?org_id: String?, ?tag_key: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_dimension_values
|
|
9132
9351
|
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] }
|
|
9133
9352
|
def focus_export: (body: focus_export_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> String
|
|
9134
9353
|
def query: (body: cost_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_query_response
|
|
@@ -10005,6 +10224,7 @@ module Infrawrench
|
|
|
10005
10224
|
attr_reader agent: AgentNamespace
|
|
10006
10225
|
attr_reader agent_registrations: AgentRegistrationsNamespace
|
|
10007
10226
|
attr_reader agents: AgentsNamespace
|
|
10227
|
+
attr_reader ai_attribution: AiAttributionNamespace
|
|
10008
10228
|
attr_reader alert_rules: AlertRulesNamespace
|
|
10009
10229
|
attr_reader api_keys: ApiKeysNamespace
|
|
10010
10230
|
attr_reader apps: AppsNamespace
|
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.57.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.57.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.57.0).
|
|
62
62
|
test_files: []
|