infrawrench-sdk 0.23.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08dda7ce89a7fe2f3fa7ac4a5148730d4213ee49bd79d2cd0263e24680353414'
4
- data.tar.gz: 86b775f9ff8eb7de1ee019f6f3b91d4667a0c7fd6f64a820c6f98539fe6edbf8
3
+ metadata.gz: 007df63dcd655a2601d597b0d804ef854fc3b5509b8b0a21a9f286b8b5997783
4
+ data.tar.gz: 9fc7e36443cd20a65a900d62c5e8b910f321011408f92de93e640b63d023461f
5
5
  SHA512:
6
- metadata.gz: 67428f17d99e56a2af1abb36caf76be890238f3ad7a0dd5753af50b07620f4e1095b6014cc3d55da29733283a0024d5748a1d360e311e41085945cfca806601e
7
- data.tar.gz: 7ef24085616046855a2efe885f313dc5959da6ad0fbba75fb7887c29a26e050e881320b9f144de3c2155291d9b7a2aac67c2f03cc5e9f19cf015ee9dad8a92b2
6
+ metadata.gz: 02d2b41b61b2c73e9537a06d040d647a5a04e446cb1637fc45108405ac09255c2576974426558082ea58e828cd52bcbcb6baf9640fc5d045f3dd911f2a710fff
7
+ data.tar.gz: 237e0d8d2d8558a681036f38a09adbd29c155cd34c876934db18c486eaa5b653e179b53c807ad126ef916ade3cf29bcbc025576dd57766e8a2601a4aa20711ab
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # infrawrench-sdk
2
2
 
3
- Generated Ruby client for the Infrawrench API (API version `0.23.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `0.25.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
- 242 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 246 schemas, as RBS type aliases that steep and TypeProf can read.
45
45
 
46
46
  Non-2xx responses raise `Infrawrench::ApiError`, which carries `#status`,
47
47
  the parsed `#body`, and the machine-readable `#code` when the API sends one —
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.23.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.25.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 0.23.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.25.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 (v0.23.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v0.23.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
20
+ spec.summary = "Generated Ruby client for the Infrawrench API (v0.25.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v0.25.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
22
22
  spec.authors = ["Infrawrench LLC", "Astrid Gealer"]
23
23
  spec.email = ["astrid@infrawrench.com"]
24
24
  spec.homepage = "https://infrawrench.com/docs/team-and-billing/client-sdks"
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.23.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.25.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 0.23.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.25.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1457,6 +1457,33 @@ module Infrawrench
1457
1457
  @transport = transport
1458
1458
  end
1459
1459
 
1460
+ # List recently detected cost anomalies
1461
+ #
1462
+ # Spend anomalies detected by the daily background pass: days where a
1463
+ # provider's or service's spend exceeded its trailing 28-day baseline by a
1464
+ # statistical threshold (mean + N·stddev, with an absolute floor to ignore
1465
+ # penny-scale noise). Newest day first, capped at 200 rows.
1466
+ #
1467
+ # GET /api/org/{orgId}/costs/anomalies
1468
+ #
1469
+ # Raises on 400: Bad request
1470
+ #
1471
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1472
+ # constructed with.
1473
+ # @param days [String, nil] Window in days over anomalous days, 1-90. Defaults to 30.
1474
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1475
+ # @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
1476
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1477
+ def anomalies(org_id: nil, days: nil, request_options: nil)
1478
+ @transport.request(
1479
+ http_method: "GET",
1480
+ path: "/api/org/{orgId}/costs/anomalies",
1481
+ path_params: { "orgId" => org_id },
1482
+ query: { "days" => days },
1483
+ request_options: request_options
1484
+ )
1485
+ end
1486
+
1460
1487
  # List distinct values for a cost dimension
1461
1488
  #
1462
1489
  # Feeds the filter and group-by pickers. Pass dimension=tag-keys for tag
@@ -2260,6 +2287,38 @@ module Infrawrench
2260
2287
  end
2261
2288
  end
2262
2289
 
2290
+ # `client.dependency_graph`
2291
+ class DependencyGraphNamespace
2292
+ # @api private
2293
+ # @param transport [Transport]
2294
+ def initialize(transport)
2295
+ @transport = transport
2296
+ end
2297
+
2298
+ # The org's resource dependency graph, built from output references
2299
+ #
2300
+ # _Requires permission: `resources:read`._
2301
+ #
2302
+ # GET /api/org/{orgId}/dependency-graph
2303
+ #
2304
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
2305
+ # constructed with.
2306
+ # @param resource_id [Hash, nil]
2307
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
2308
+ # @return [Hash] Parsed JSON, shaped as `DependencyGraphResponse` — see
2309
+ # `sig/infrawrench/sdk.rbs`.
2310
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
2311
+ def get(org_id: nil, resource_id: nil, request_options: nil)
2312
+ @transport.request(
2313
+ http_method: "GET",
2314
+ path: "/api/org/{orgId}/dependency-graph",
2315
+ path_params: { "orgId" => org_id },
2316
+ query: { "resourceId" => resource_id },
2317
+ request_options: request_options
2318
+ )
2319
+ end
2320
+ end
2321
+
2263
2322
  # `client.deployments.runs`
2264
2323
  class DeploymentsRunsNamespace
2265
2324
  # @api private
@@ -5675,6 +5734,8 @@ module Infrawrench
5675
5734
  attr_reader :custom_graphs
5676
5735
  # @return [DashboardsNamespace] `client.dashboards`
5677
5736
  attr_reader :dashboards
5737
+ # @return [DependencyGraphNamespace] `client.dependency_graph`
5738
+ attr_reader :dependency_graph
5678
5739
  # @return [DeploymentsNamespace] `client.deployments`
5679
5740
  attr_reader :deployments
5680
5741
  # @return [DigestNamespace] `client.digest`
@@ -5737,6 +5798,7 @@ module Infrawrench
5737
5798
  @costs = CostsNamespace.new(@transport)
5738
5799
  @custom_graphs = CustomGraphsNamespace.new(@transport)
5739
5800
  @dashboards = DashboardsNamespace.new(@transport)
5801
+ @dependency_graph = DependencyGraphNamespace.new(@transport)
5740
5802
  @deployments = DeploymentsNamespace.new(@transport)
5741
5803
  @digest = DigestNamespace.new(@transport)
5742
5804
  @docker = DockerNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.23.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.25.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 0.23.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.25.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 v0.23.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.25.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 0.23.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.25.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 v0.23.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.25.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 0.23.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.25.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 = "0.23.0"
18
+ VERSION = "0.25.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.23.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.25.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 0.23.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.25.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1,7 +1,7 @@
1
- # infrawrench-sdk v0.23.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v0.25.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 0.23.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.25.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -448,6 +448,20 @@ module Infrawrench
448
448
  "coverage" => { "firstDay" => String, "lastDay" => String } | nil
449
449
  }
450
450
 
451
+ # Spec schema: `CostAnomaly`.
452
+ type cost_anomaly = {
453
+ "id" => String,
454
+ "day" => String,
455
+ "dimension" => "provider" | "service",
456
+ "dimensionKey" => String,
457
+ "currency" => String,
458
+ "actualCents" => Integer,
459
+ "baselineCents" => Integer,
460
+ "thresholdCents" => Integer,
461
+ "detectedAt" => String,
462
+ "notifiedAt" => String | nil
463
+ }
464
+
451
465
  # Spec schema: `CostDimension`.
452
466
  type cost_dimension = "provider" | "account" | "service" | "region" | "resource" | "tag"
453
467
 
@@ -757,6 +771,30 @@ module Infrawrench
757
771
  "metrics" => Array[{ "key" => String, "label" => String, "unit" => String | nil, ?"value" => untyped }]
758
772
  }
759
773
 
774
+ # Spec schema: `DependencyGraphEdge`.
775
+ type dependency_graph_edge = {
776
+ "consumerResourceId" => resource_id & untyped,
777
+ "consumerFieldKey" => String,
778
+ "providerResourceId" => resource_id & untyped,
779
+ "providerOutputKey" => String
780
+ }
781
+
782
+ # Spec schema: `DependencyGraphNode`.
783
+ type dependency_graph_node = {
784
+ "id" => resource_id,
785
+ "displayName" => String,
786
+ "pluginId" => String,
787
+ "pluginDisplayName" => String,
788
+ "pluginLogoSvg" => String,
789
+ "resourceTypeId" => String,
790
+ "resourceTypeLabel" => String,
791
+ "accountId" => String,
792
+ "accountName" => String
793
+ }
794
+
795
+ # Spec schema: `DependencyGraphResponse`.
796
+ type dependency_graph_response = { "nodes" => Array[dependency_graph_node], "edges" => Array[dependency_graph_edge] }
797
+
760
798
  # Spec schema: `DeployCreatedResource`.
761
799
  type deploy_created_resource = {
762
800
  "pluginId" => String,
@@ -1073,6 +1111,7 @@ module Infrawrench
1073
1111
  "urlHint" => String,
1074
1112
  "syncIncidents" => bool,
1075
1113
  "budgetAlerts" => bool,
1114
+ "anomalyAlerts" => bool,
1076
1115
  "workflowPages" => bool,
1077
1116
  "weeklyDigest" => bool
1078
1117
  }
@@ -1083,6 +1122,7 @@ module Infrawrench
1083
1122
  "url" => String,
1084
1123
  ?"syncIncidents" => bool,
1085
1124
  ?"budgetAlerts" => bool,
1125
+ ?"anomalyAlerts" => bool,
1086
1126
  ?"workflowPages" => bool,
1087
1127
  ?"weeklyDigest" => bool
1088
1128
  }
@@ -1092,6 +1132,7 @@ module Infrawrench
1092
1132
  ?"label" => String,
1093
1133
  ?"syncIncidents" => bool,
1094
1134
  ?"budgetAlerts" => bool,
1135
+ ?"anomalyAlerts" => bool,
1095
1136
  ?"workflowPages" => bool,
1096
1137
  ?"weeklyDigest" => bool
1097
1138
  }
@@ -2076,6 +2117,7 @@ module Infrawrench
2076
2117
  "isPrivate" => bool,
2077
2118
  "syncIncidents" => bool,
2078
2119
  "budgetAlerts" => bool,
2120
+ "anomalyAlerts" => bool,
2079
2121
  "workflowPages" => bool,
2080
2122
  "weeklyDigest" => bool
2081
2123
  }
@@ -2088,6 +2130,7 @@ module Infrawrench
2088
2130
  ?"isPrivate" => bool,
2089
2131
  ?"syncIncidents" => bool,
2090
2132
  ?"budgetAlerts" => bool,
2133
+ ?"anomalyAlerts" => bool,
2091
2134
  ?"workflowPages" => bool,
2092
2135
  ?"weeklyDigest" => bool
2093
2136
  }
@@ -2096,6 +2139,7 @@ module Infrawrench
2096
2139
  type slack_channel_update = {
2097
2140
  ?"syncIncidents" => bool,
2098
2141
  ?"budgetAlerts" => bool,
2142
+ ?"anomalyAlerts" => bool,
2099
2143
  ?"workflowPages" => bool,
2100
2144
  ?"weeklyDigest" => bool
2101
2145
  }
@@ -2244,6 +2288,7 @@ module Infrawrench
2244
2288
  | "agents"
2245
2289
  | "costs"
2246
2290
  | "savings"
2291
+ | "graph"
2247
2292
  | "workflows"
2248
2293
  | "deployments"
2249
2294
  | "chat",
@@ -2460,6 +2505,7 @@ module Infrawrench
2460
2505
 
2461
2506
  class CostsNamespace
2462
2507
  def initialize: (Transport) -> void
2508
+ def anomalies: (?org_id: String?, ?days: String?, ?request_options: Hash[Symbol, untyped]?) -> { "anomalies" => Array[cost_anomaly] }
2463
2509
  def dimensions: (dimension: "provider" | "account" | "service" | "region" | "resource" | "tag" | "tag-keys", ?org_id: String?, ?tag_key: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_dimension_values
2464
2510
  def query: (body: cost_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_query_response
2465
2511
  def rows: (body: cost_push_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_push_response
@@ -2515,6 +2561,11 @@ module Infrawrench
2515
2561
  def workflow_unpin: (body: workflow_pin_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2516
2562
  end
2517
2563
 
2564
+ class DependencyGraphNamespace
2565
+ def initialize: (Transport) -> void
2566
+ def get: (?org_id: String?, ?resource_id: (resource_id & untyped)?, ?request_options: Hash[Symbol, untyped]?) -> dependency_graph_response
2567
+ end
2568
+
2518
2569
  class DeploymentsRunsNamespace
2519
2570
  def initialize: (Transport) -> void
2520
2571
  def create: (?org_id: String?, ?body: deployment_run_input?, ?request_options: Hash[Symbol, untyped]?) -> { "id" => String }
@@ -2796,6 +2847,7 @@ module Infrawrench
2796
2847
  attr_reader costs: CostsNamespace
2797
2848
  attr_reader custom_graphs: CustomGraphsNamespace
2798
2849
  attr_reader dashboards: DashboardsNamespace
2850
+ attr_reader dependency_graph: DependencyGraphNamespace
2799
2851
  attr_reader deployments: DeploymentsNamespace
2800
2852
  attr_reader digest: DigestNamespace
2801
2853
  attr_reader docker: DockerNamespace
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: 0.23.0
4
+ version: 0.25.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-07-31 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v0.23.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v0.25.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 (v0.23.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v0.25.0).
62
62
  test_files: []