infrawrench-sdk 1.9.0 → 1.10.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 +228 -34
- 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 +146 -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: 06e454c1ee80b35b1019cf6e23573c12ee87452573ad62b0a937cb3a82767d5e
|
|
4
|
+
data.tar.gz: 0c67dfbd77d2c683b391edf762b72a62a01f5f1341104277069ec36bb13e1145
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 983ee17ceef08453c468e62f228e5853c92477fdba2581895eb8eaae6c30a7735c1fc4c436ee7106b4cd3be72dcf4443e1b2ace2e0ac79fd3fb10c474e0e7859
|
|
7
|
+
data.tar.gz: 99289d98fe6398750526f6379ad5254064b823fa90cbd1f9c52bf9e6f7f6633e6d25b7406b06347144550ceb197168711ff6ade9696ff9e1bfcaf3da9627318c
|
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.10.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
|
+
553 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.10.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.10.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.10.0)."
|
|
21
|
+
spec.description = "Generated Ruby client for the Infrawrench API (v1.10.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.10.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.10.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -4129,6 +4129,90 @@ module Infrawrench
|
|
|
4129
4129
|
end
|
|
4130
4130
|
end
|
|
4131
4131
|
|
|
4132
|
+
# `client.costs.anomalies`
|
|
4133
|
+
class CostsAnomaliesNamespace
|
|
4134
|
+
# @api private
|
|
4135
|
+
# @param transport [Transport]
|
|
4136
|
+
def initialize(transport)
|
|
4137
|
+
@transport = transport
|
|
4138
|
+
end
|
|
4139
|
+
|
|
4140
|
+
# Explain a detected cost anomaly
|
|
4141
|
+
#
|
|
4142
|
+
# Record what a finding actually was, and publish that sentence as a cost
|
|
4143
|
+
# annotation on **every** chart covering the anomalous day — the point being
|
|
4144
|
+
# that 'we migrated the fleet' is not a fact about whichever report somebody
|
|
4145
|
+
# happened to open. The note's date (the anomalous day) and its org-wide
|
|
4146
|
+
# scope are derived from the anomaly and are not the caller's to choose.
|
|
4147
|
+
#
|
|
4148
|
+
# The reply is the updated anomaly, carrying `acknowledgement` with the id
|
|
4149
|
+
# of the note it created. Sending it again replaces the sentence and rewords
|
|
4150
|
+
# that note rather than filing a second one; it will not recreate a note
|
|
4151
|
+
# that has since been deleted, since deleting a note is a deliberate act and
|
|
4152
|
+
# the finding stays explained without it.
|
|
4153
|
+
#
|
|
4154
|
+
# This does not suppress detection. If the same provider or service spikes
|
|
4155
|
+
# again on a later day, that is a new anomaly and it is detected and alerted
|
|
4156
|
+
# on as normal.
|
|
4157
|
+
#
|
|
4158
|
+
# POST /api/org/{orgId}/costs/anomalies/{anomalyId}/acknowledge
|
|
4159
|
+
#
|
|
4160
|
+
# Raises on 400: Bad request
|
|
4161
|
+
#
|
|
4162
|
+
# Raises on 403: Forbidden
|
|
4163
|
+
#
|
|
4164
|
+
# Raises on 404: Not found
|
|
4165
|
+
#
|
|
4166
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
4167
|
+
# constructed with.
|
|
4168
|
+
# @param anomaly_id [String]
|
|
4169
|
+
# @param body [Hash, nil] Request body, shaped as `Hash`.
|
|
4170
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
4171
|
+
# @return [Hash] Parsed JSON, shaped as `CostAnomaly` — see `sig/infrawrench/sdk.rbs`.
|
|
4172
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
4173
|
+
def acknowledge(anomaly_id:, org_id: nil, body: nil, request_options: nil)
|
|
4174
|
+
@transport.request(
|
|
4175
|
+
http_method: "POST",
|
|
4176
|
+
path: "/api/org/{orgId}/costs/anomalies/{anomalyId}/acknowledge",
|
|
4177
|
+
path_params: { "orgId" => org_id, "anomalyId" => anomaly_id },
|
|
4178
|
+
body: body,
|
|
4179
|
+
request_options: request_options
|
|
4180
|
+
)
|
|
4181
|
+
end
|
|
4182
|
+
|
|
4183
|
+
# List recently detected cost anomalies
|
|
4184
|
+
#
|
|
4185
|
+
# Spend anomalies detected by the daily background pass. Two kinds share the
|
|
4186
|
+
# list: a `spike`, where a provider's or service's spend exceeded its
|
|
4187
|
+
# trailing 28-day baseline by a statistical threshold (mean + N·stddev, with
|
|
4188
|
+
# an absolute floor to ignore penny-scale noise), and a `new_source`, where
|
|
4189
|
+
# a provider or service with no spend at all across that window suddenly
|
|
4190
|
+
# billed a material amount. Thresholds are per organization — see GET
|
|
4191
|
+
# /costs/anomaly-settings. Newest day first, capped at 200 rows.
|
|
4192
|
+
#
|
|
4193
|
+
# _Requires permission: `costs:read`._
|
|
4194
|
+
#
|
|
4195
|
+
# GET /api/org/{orgId}/costs/anomalies
|
|
4196
|
+
#
|
|
4197
|
+
# Raises on 400: Bad request
|
|
4198
|
+
#
|
|
4199
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
4200
|
+
# constructed with.
|
|
4201
|
+
# @param days [String, nil] Window in days over anomalous days, 1-90. Defaults to 30.
|
|
4202
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
4203
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
4204
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
4205
|
+
def get(org_id: nil, days: nil, request_options: nil)
|
|
4206
|
+
@transport.request(
|
|
4207
|
+
http_method: "GET",
|
|
4208
|
+
path: "/api/org/{orgId}/costs/anomalies",
|
|
4209
|
+
path_params: { "orgId" => org_id },
|
|
4210
|
+
query: { "days" => days },
|
|
4211
|
+
request_options: request_options
|
|
4212
|
+
)
|
|
4213
|
+
end
|
|
4214
|
+
end
|
|
4215
|
+
|
|
4132
4216
|
# `client.costs.anomaly_settings`
|
|
4133
4217
|
class CostsAnomalySettingsNamespace
|
|
4134
4218
|
# @api private
|
|
@@ -4264,6 +4348,8 @@ module Infrawrench
|
|
|
4264
4348
|
|
|
4265
4349
|
# `client.costs`
|
|
4266
4350
|
class CostsNamespace
|
|
4351
|
+
# @return [CostsAnomaliesNamespace] `client.costs.anomalies`
|
|
4352
|
+
attr_reader :anomalies
|
|
4267
4353
|
# @return [CostsAnomalySettingsNamespace] `client.costs.anomaly_settings`
|
|
4268
4354
|
attr_reader :anomaly_settings
|
|
4269
4355
|
# @return [CostsEfficiencyAlertSettingsNamespace] `client.costs.efficiency_alert_settings`
|
|
@@ -4273,42 +4359,11 @@ module Infrawrench
|
|
|
4273
4359
|
# @param transport [Transport]
|
|
4274
4360
|
def initialize(transport)
|
|
4275
4361
|
@transport = transport
|
|
4362
|
+
@anomalies = CostsAnomaliesNamespace.new(@transport)
|
|
4276
4363
|
@anomaly_settings = CostsAnomalySettingsNamespace.new(@transport)
|
|
4277
4364
|
@efficiency_alert_settings = CostsEfficiencyAlertSettingsNamespace.new(@transport)
|
|
4278
4365
|
end
|
|
4279
4366
|
|
|
4280
|
-
# List recently detected cost anomalies
|
|
4281
|
-
#
|
|
4282
|
-
# Spend anomalies detected by the daily background pass. Two kinds share the
|
|
4283
|
-
# list: a `spike`, where a provider's or service's spend exceeded its
|
|
4284
|
-
# trailing 28-day baseline by a statistical threshold (mean + N·stddev, with
|
|
4285
|
-
# an absolute floor to ignore penny-scale noise), and a `new_source`, where
|
|
4286
|
-
# a provider or service with no spend at all across that window suddenly
|
|
4287
|
-
# billed a material amount. Thresholds are per organization — see GET
|
|
4288
|
-
# /costs/anomaly-settings. Newest day first, capped at 200 rows.
|
|
4289
|
-
#
|
|
4290
|
-
# _Requires permission: `costs:read`._
|
|
4291
|
-
#
|
|
4292
|
-
# GET /api/org/{orgId}/costs/anomalies
|
|
4293
|
-
#
|
|
4294
|
-
# Raises on 400: Bad request
|
|
4295
|
-
#
|
|
4296
|
-
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
4297
|
-
# constructed with.
|
|
4298
|
-
# @param days [String, nil] Window in days over anomalous days, 1-90. Defaults to 30.
|
|
4299
|
-
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
4300
|
-
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
4301
|
-
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
4302
|
-
def anomalies(org_id: nil, days: nil, request_options: nil)
|
|
4303
|
-
@transport.request(
|
|
4304
|
-
http_method: "GET",
|
|
4305
|
-
path: "/api/org/{orgId}/costs/anomalies",
|
|
4306
|
-
path_params: { "orgId" => org_id },
|
|
4307
|
-
query: { "days" => days },
|
|
4308
|
-
request_options: request_options
|
|
4309
|
-
)
|
|
4310
|
-
end
|
|
4311
|
-
|
|
4312
4367
|
# List distinct values for a cost dimension
|
|
4313
4368
|
#
|
|
4314
4369
|
# Feeds the filter and group-by pickers. Pass dimension=tag-keys for tag
|
|
@@ -8050,6 +8105,142 @@ module Infrawrench
|
|
|
8050
8105
|
end
|
|
8051
8106
|
end
|
|
8052
8107
|
|
|
8108
|
+
# `client.network_flows.settings`
|
|
8109
|
+
class NetworkFlowsSettingsNamespace
|
|
8110
|
+
# @api private
|
|
8111
|
+
# @param transport [Transport]
|
|
8112
|
+
def initialize(transport)
|
|
8113
|
+
@transport = transport
|
|
8114
|
+
end
|
|
8115
|
+
|
|
8116
|
+
# Read the network flow collection switch
|
|
8117
|
+
#
|
|
8118
|
+
# _Requires permission: `costs:read`._
|
|
8119
|
+
#
|
|
8120
|
+
# GET /api/org/{orgId}/network-flows/settings
|
|
8121
|
+
#
|
|
8122
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
8123
|
+
# constructed with.
|
|
8124
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
8125
|
+
# @return [Hash] Parsed JSON, shaped as `NetworkFlowSettings` — see
|
|
8126
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
8127
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
8128
|
+
def get(org_id: nil, request_options: nil)
|
|
8129
|
+
@transport.request(
|
|
8130
|
+
http_method: "GET",
|
|
8131
|
+
path: "/api/org/{orgId}/network-flows/settings",
|
|
8132
|
+
path_params: { "orgId" => org_id },
|
|
8133
|
+
request_options: request_options
|
|
8134
|
+
)
|
|
8135
|
+
end
|
|
8136
|
+
|
|
8137
|
+
# Turn network flow collection on or off
|
|
8138
|
+
#
|
|
8139
|
+
# Collection is **off by default**. Enabling it authorizes Infrawrench to
|
|
8140
|
+
# run daily queries against the provider's log store — and on AWS those
|
|
8141
|
+
# queries are billed to your own cloud account per GB of log data scanned,
|
|
8142
|
+
# every day, until you turn them off. That is why the write is governed by
|
|
8143
|
+
# `org:settings:write` rather than `costs:write`, and why it is
|
|
8144
|
+
# audit-logged.
|
|
8145
|
+
#
|
|
8146
|
+
# _Requires permission: `org:settings:write`._
|
|
8147
|
+
#
|
|
8148
|
+
# PUT /api/org/{orgId}/network-flows/settings
|
|
8149
|
+
#
|
|
8150
|
+
# Raises on 400: Bad request
|
|
8151
|
+
#
|
|
8152
|
+
# Raises on 403: Forbidden
|
|
8153
|
+
#
|
|
8154
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
8155
|
+
# constructed with.
|
|
8156
|
+
# @param body [Hash] Request body, shaped as `NetworkFlowSettings`.
|
|
8157
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
8158
|
+
# @return [Hash] Parsed JSON, shaped as `NetworkFlowSettings` — see
|
|
8159
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
8160
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
8161
|
+
def update(body:, org_id: nil, request_options: nil)
|
|
8162
|
+
@transport.request(
|
|
8163
|
+
http_method: "PUT",
|
|
8164
|
+
path: "/api/org/{orgId}/network-flows/settings",
|
|
8165
|
+
path_params: { "orgId" => org_id },
|
|
8166
|
+
body: body,
|
|
8167
|
+
request_options: request_options
|
|
8168
|
+
)
|
|
8169
|
+
end
|
|
8170
|
+
end
|
|
8171
|
+
|
|
8172
|
+
# `client.network_flows`
|
|
8173
|
+
class NetworkFlowsNamespace
|
|
8174
|
+
# @return [NetworkFlowsSettingsNamespace] `client.network_flows.settings`
|
|
8175
|
+
attr_reader :settings
|
|
8176
|
+
|
|
8177
|
+
# @api private
|
|
8178
|
+
# @param transport [Transport]
|
|
8179
|
+
def initialize(transport)
|
|
8180
|
+
@transport = transport
|
|
8181
|
+
@settings = NetworkFlowsSettingsNamespace.new(@transport)
|
|
8182
|
+
end
|
|
8183
|
+
|
|
8184
|
+
# Priced source→destination network flow attribution
|
|
8185
|
+
#
|
|
8186
|
+
# Which two things are talking, across which billing boundary, and what that
|
|
8187
|
+
# costs. Answers the question the cost dimensions structurally cannot: every
|
|
8188
|
+
# cost dimension is about one side of a transfer, and a network charge is
|
|
8189
|
+
# about a pair.
|
|
8190
|
+
#
|
|
8191
|
+
# All figures are **estimates** and the `estimated` field says so
|
|
8192
|
+
# unconditionally. Bytes come from the provider's flow logs (which sample,
|
|
8193
|
+
# or drop records under capacity pressure) and are priced at published list
|
|
8194
|
+
# rates with no free tier, no volume tier and no negotiated discount
|
|
8195
|
+
# applied. Use the ranking; do not reconcile the total against an invoice
|
|
8196
|
+
# line.
|
|
8197
|
+
#
|
|
8198
|
+
# Accounts whose provider has no readable flow source appear in `accounts`
|
|
8199
|
+
# with `supportsFlows: false` and contribute nothing to the totals — never
|
|
8200
|
+
# zero bytes.
|
|
8201
|
+
#
|
|
8202
|
+
# _Requires permission: `costs:read`._
|
|
8203
|
+
#
|
|
8204
|
+
# GET /api/org/{orgId}/network-flows
|
|
8205
|
+
#
|
|
8206
|
+
# Raises on 400: Bad request
|
|
8207
|
+
#
|
|
8208
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
8209
|
+
# constructed with.
|
|
8210
|
+
# @param from [String, nil] Inclusive start day. Defaults to 13 days ago.
|
|
8211
|
+
# @param to [String, nil] Inclusive end day. Defaults to today.
|
|
8212
|
+
# @param scope [String, nil] Narrow to one billing boundary.
|
|
8213
|
+
# @param account_id [String, nil] Narrow to one connected account.
|
|
8214
|
+
# @param limit [Integer, nil] Pairs to return in `topFlows`, largest cost first. Defaults to
|
|
8215
|
+
# 50.
|
|
8216
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
8217
|
+
# @return [Hash] Parsed JSON, shaped as `NetworkFlowFeed` — see `sig/infrawrench/sdk.rbs`.
|
|
8218
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
8219
|
+
def get(
|
|
8220
|
+
org_id: nil,
|
|
8221
|
+
from: nil,
|
|
8222
|
+
to: nil,
|
|
8223
|
+
scope: nil,
|
|
8224
|
+
account_id: nil,
|
|
8225
|
+
limit: nil,
|
|
8226
|
+
request_options: nil
|
|
8227
|
+
)
|
|
8228
|
+
@transport.request(
|
|
8229
|
+
http_method: "GET",
|
|
8230
|
+
path: "/api/org/{orgId}/network-flows",
|
|
8231
|
+
path_params: { "orgId" => org_id },
|
|
8232
|
+
query: {
|
|
8233
|
+
"from" => from,
|
|
8234
|
+
"to" => to,
|
|
8235
|
+
"scope" => scope,
|
|
8236
|
+
"accountId" => account_id,
|
|
8237
|
+
"limit" => limit
|
|
8238
|
+
},
|
|
8239
|
+
request_options: request_options
|
|
8240
|
+
)
|
|
8241
|
+
end
|
|
8242
|
+
end
|
|
8243
|
+
|
|
8053
8244
|
# `client.orgs`
|
|
8054
8245
|
class OrgsNamespace
|
|
8055
8246
|
# @api private
|
|
@@ -12556,6 +12747,8 @@ module Infrawrench
|
|
|
12556
12747
|
attr_reader :moment
|
|
12557
12748
|
# @return [MsteamsNamespace] `client.msteams`
|
|
12558
12749
|
attr_reader :msteams
|
|
12750
|
+
# @return [NetworkFlowsNamespace] `client.network_flows`
|
|
12751
|
+
attr_reader :network_flows
|
|
12559
12752
|
# @return [OrgsNamespace] `client.orgs`
|
|
12560
12753
|
attr_reader :orgs
|
|
12561
12754
|
# @return [OrphansNamespace] `client.orphans`
|
|
@@ -12667,6 +12860,7 @@ module Infrawrench
|
|
|
12667
12860
|
@metric_alerts = MetricAlertsNamespace.new(@transport)
|
|
12668
12861
|
@moment = MomentNamespace.new(@transport)
|
|
12669
12862
|
@msteams = MsteamsNamespace.new(@transport)
|
|
12863
|
+
@network_flows = NetworkFlowsNamespace.new(@transport)
|
|
12670
12864
|
@orgs = OrgsNamespace.new(@transport)
|
|
12671
12865
|
@orphans = OrphansNamespace.new(@transport)
|
|
12672
12866
|
@ownership = OwnershipNamespace.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.10.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.10.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.10.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.10.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.10.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.10.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.10.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.10.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.10.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.10.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.10.0).
|
|
5
5
|
#
|
|
6
6
|
# DO NOT EDIT. Regenerate with:
|
|
7
7
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -1043,7 +1043,8 @@ module Infrawrench
|
|
|
1043
1043
|
"costReportId" => String | nil,
|
|
1044
1044
|
"createdByUserId" => String | nil,
|
|
1045
1045
|
"createdAt" => String,
|
|
1046
|
-
"updatedAt" => String
|
|
1046
|
+
"updatedAt" => String,
|
|
1047
|
+
"costAnomalyId" => String | nil
|
|
1047
1048
|
}
|
|
1048
1049
|
|
|
1049
1050
|
# Spec schema: `CostAnnotationInput`.
|
|
@@ -1067,7 +1068,14 @@ module Infrawrench
|
|
|
1067
1068
|
"thresholdCents" => Integer,
|
|
1068
1069
|
"detectedAt" => String,
|
|
1069
1070
|
"notifiedAt" => String | nil,
|
|
1070
|
-
"hints" => Array[String]
|
|
1071
|
+
"hints" => Array[String],
|
|
1072
|
+
"acknowledgement" => {
|
|
1073
|
+
"explanation" => String,
|
|
1074
|
+
"acknowledgedAt" => String,
|
|
1075
|
+
"acknowledgedByUserId" => String | nil,
|
|
1076
|
+
"annotationId" => String | nil
|
|
1077
|
+
}
|
|
1078
|
+
| nil
|
|
1071
1079
|
}
|
|
1072
1080
|
|
|
1073
1081
|
# Spec schema: `CostAnomalySettings`.
|
|
@@ -3127,6 +3135,120 @@ module Infrawrench
|
|
|
3127
3135
|
# Spec schema: `MsTeamsWebhookUpdate`.
|
|
3128
3136
|
type ms_teams_webhook_update = { "label" => String }
|
|
3129
3137
|
|
|
3138
|
+
# Spec schema: `NetworkFlowAccountStatus`.
|
|
3139
|
+
type network_flow_account_status = {
|
|
3140
|
+
"accountId" => String,
|
|
3141
|
+
"pluginId" => String,
|
|
3142
|
+
"displayName" => String,
|
|
3143
|
+
"supportsFlows" => bool,
|
|
3144
|
+
"collectedThrough" => String | nil,
|
|
3145
|
+
"lastPolledAt" => String | nil,
|
|
3146
|
+
"failureCount" => Integer,
|
|
3147
|
+
"lastError" => String | nil,
|
|
3148
|
+
"lastErrorHelpUrl" => String | nil,
|
|
3149
|
+
"sources" => Array[network_flow_source],
|
|
3150
|
+
"lastQueryBytesScanned" => Numeric | nil
|
|
3151
|
+
}
|
|
3152
|
+
|
|
3153
|
+
# Spec schema: `NetworkFlowEndpoint`.
|
|
3154
|
+
type network_flow_endpoint = {
|
|
3155
|
+
"ref" => String,
|
|
3156
|
+
"label" => String,
|
|
3157
|
+
"zone" => String,
|
|
3158
|
+
"region" => String,
|
|
3159
|
+
"service" => String,
|
|
3160
|
+
"resourceTypeId" => String
|
|
3161
|
+
}
|
|
3162
|
+
|
|
3163
|
+
# Spec schema: `NetworkFlowFeed`.
|
|
3164
|
+
type network_flow_feed = {
|
|
3165
|
+
"enabled" => bool,
|
|
3166
|
+
"initialLookbackDays" => Integer,
|
|
3167
|
+
"estimated" => bool,
|
|
3168
|
+
"range" => { "from" => String, "to" => String },
|
|
3169
|
+
"scopes" => Array[network_flow_scope_summary],
|
|
3170
|
+
"topFlows" => Array[network_flow_pair],
|
|
3171
|
+
"accounts" => Array[network_flow_account_status],
|
|
3172
|
+
"rateCards" => Array[network_flow_rate_card],
|
|
3173
|
+
"totals" => {
|
|
3174
|
+
"bytes" => Numeric,
|
|
3175
|
+
"estimatedCost" => Numeric,
|
|
3176
|
+
"currency" => String,
|
|
3177
|
+
"unattributedBytes" => Numeric,
|
|
3178
|
+
"truncatedBytes" => Numeric
|
|
3179
|
+
}
|
|
3180
|
+
}
|
|
3181
|
+
|
|
3182
|
+
# Spec schema: `NetworkFlowPair`.
|
|
3183
|
+
type network_flow_pair = {
|
|
3184
|
+
"source" => network_flow_endpoint,
|
|
3185
|
+
"destination" => network_flow_endpoint,
|
|
3186
|
+
"scope" => "intra_zone"
|
|
3187
|
+
| "cross_zone"
|
|
3188
|
+
| "cross_region"
|
|
3189
|
+
| "internet_egress"
|
|
3190
|
+
| "internet_ingress"
|
|
3191
|
+
| "provider_service"
|
|
3192
|
+
| "nat_gateway"
|
|
3193
|
+
| "private_interconnect"
|
|
3194
|
+
| "unknown",
|
|
3195
|
+
"direction" => "egress" | "ingress",
|
|
3196
|
+
"attribution" => "resolved" | "unattributed",
|
|
3197
|
+
"bytes" => Numeric,
|
|
3198
|
+
"packets" => Numeric,
|
|
3199
|
+
"estimatedCost" => Numeric,
|
|
3200
|
+
"currency" => String,
|
|
3201
|
+
"accountId" => String,
|
|
3202
|
+
"pluginId" => String,
|
|
3203
|
+
"days" => Integer
|
|
3204
|
+
}
|
|
3205
|
+
|
|
3206
|
+
# Spec schema: `NetworkFlowRateCard`.
|
|
3207
|
+
type network_flow_rate_card = {
|
|
3208
|
+
"pluginId" => String,
|
|
3209
|
+
"currency" => String,
|
|
3210
|
+
"asOf" => String,
|
|
3211
|
+
"perGb" => Hash[String, Numeric],
|
|
3212
|
+
"queriesBillable" => bool,
|
|
3213
|
+
"sampled" => bool
|
|
3214
|
+
}
|
|
3215
|
+
|
|
3216
|
+
# Spec schema: `NetworkFlowScopeSummary`.
|
|
3217
|
+
type network_flow_scope_summary = {
|
|
3218
|
+
"scope" => "intra_zone"
|
|
3219
|
+
| "cross_zone"
|
|
3220
|
+
| "cross_region"
|
|
3221
|
+
| "internet_egress"
|
|
3222
|
+
| "internet_ingress"
|
|
3223
|
+
| "provider_service"
|
|
3224
|
+
| "nat_gateway"
|
|
3225
|
+
| "private_interconnect"
|
|
3226
|
+
| "unknown",
|
|
3227
|
+
"direction" => "egress" | "ingress",
|
|
3228
|
+
"bytes" => Numeric,
|
|
3229
|
+
"estimatedCost" => Numeric,
|
|
3230
|
+
"currency" => String,
|
|
3231
|
+
"crossedZone" => bool,
|
|
3232
|
+
"crossedRegion" => bool,
|
|
3233
|
+
"leftCloud" => bool,
|
|
3234
|
+
"unattributedBytes" => Numeric,
|
|
3235
|
+
"truncatedBytes" => Numeric
|
|
3236
|
+
}
|
|
3237
|
+
|
|
3238
|
+
# Spec schema: `NetworkFlowSettings`.
|
|
3239
|
+
type network_flow_settings = { "enabled" => bool, "initialLookbackDays" => Integer }
|
|
3240
|
+
|
|
3241
|
+
# Spec schema: `NetworkFlowSource`.
|
|
3242
|
+
type network_flow_source = {
|
|
3243
|
+
"id" => String,
|
|
3244
|
+
"target" => String,
|
|
3245
|
+
"region" => String | nil,
|
|
3246
|
+
"destinationType" => String,
|
|
3247
|
+
"usable" => bool,
|
|
3248
|
+
"unusableReason" => String | nil,
|
|
3249
|
+
"helpUrl" => String | nil
|
|
3250
|
+
}
|
|
3251
|
+
|
|
3130
3252
|
# Spec schema: `NoSqlCommandRequest`.
|
|
3131
3253
|
type no_sql_command_request = {
|
|
3132
3254
|
"pluginId" => String,
|
|
@@ -5863,6 +5985,12 @@ module Infrawrench
|
|
|
5863
5985
|
def update: (id: String, body: cost_scenario_model_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_scenario_model
|
|
5864
5986
|
end
|
|
5865
5987
|
|
|
5988
|
+
class CostsAnomaliesNamespace
|
|
5989
|
+
def initialize: (Transport) -> void
|
|
5990
|
+
def acknowledge: (anomaly_id: String, ?org_id: String?, ?body: { "explanation" => String }?, ?request_options: Hash[Symbol, untyped]?) -> cost_anomaly
|
|
5991
|
+
def get: (?org_id: String?, ?days: String?, ?request_options: Hash[Symbol, untyped]?) -> { "anomalies" => Array[cost_anomaly] }
|
|
5992
|
+
end
|
|
5993
|
+
|
|
5866
5994
|
class CostsAnomalySettingsNamespace
|
|
5867
5995
|
def initialize: (Transport) -> void
|
|
5868
5996
|
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_anomaly_settings_view
|
|
@@ -5876,10 +6004,10 @@ module Infrawrench
|
|
|
5876
6004
|
end
|
|
5877
6005
|
|
|
5878
6006
|
class CostsNamespace
|
|
6007
|
+
attr_reader anomalies: CostsAnomaliesNamespace
|
|
5879
6008
|
attr_reader anomaly_settings: CostsAnomalySettingsNamespace
|
|
5880
6009
|
attr_reader efficiency_alert_settings: CostsEfficiencyAlertSettingsNamespace
|
|
5881
6010
|
def initialize: (Transport) -> void
|
|
5882
|
-
def anomalies: (?org_id: String?, ?days: String?, ?request_options: Hash[Symbol, untyped]?) -> { "anomalies" => Array[cost_anomaly] }
|
|
5883
6011
|
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
|
|
5884
6012
|
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] }
|
|
5885
6013
|
def query: (body: cost_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_query_response
|
|
@@ -6150,6 +6278,18 @@ module Infrawrench
|
|
|
6150
6278
|
def test: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool, "webhookCount" => Integer, "attempted" => Integer, "succeeded" => Integer }
|
|
6151
6279
|
end
|
|
6152
6280
|
|
|
6281
|
+
class NetworkFlowsSettingsNamespace
|
|
6282
|
+
def initialize: (Transport) -> void
|
|
6283
|
+
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> network_flow_settings
|
|
6284
|
+
def update: (body: network_flow_settings, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> network_flow_settings
|
|
6285
|
+
end
|
|
6286
|
+
|
|
6287
|
+
class NetworkFlowsNamespace
|
|
6288
|
+
attr_reader settings: NetworkFlowsSettingsNamespace
|
|
6289
|
+
def initialize: (Transport) -> void
|
|
6290
|
+
def get: (?org_id: String?, ?from: String?, ?to: String?, ?scope: "intra_zone" | "cross_zone" | "cross_region" | "internet_egress" | "internet_ingress" | "provider_service" | "nat_gateway" | "private_interconnect" | "unknown"?, ?account_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> network_flow_feed
|
|
6291
|
+
end
|
|
6292
|
+
|
|
6153
6293
|
class OrgsNamespace
|
|
6154
6294
|
def initialize: (Transport) -> void
|
|
6155
6295
|
def create: (body: create_org_request, ?request_options: Hash[Symbol, untyped]?) -> organization
|
|
@@ -6530,6 +6670,7 @@ module Infrawrench
|
|
|
6530
6670
|
attr_reader metric_alerts: MetricAlertsNamespace
|
|
6531
6671
|
attr_reader moment: MomentNamespace
|
|
6532
6672
|
attr_reader msteams: MsteamsNamespace
|
|
6673
|
+
attr_reader network_flows: NetworkFlowsNamespace
|
|
6533
6674
|
attr_reader orgs: OrgsNamespace
|
|
6534
6675
|
attr_reader orphans: OrphansNamespace
|
|
6535
6676
|
attr_reader ownership: OwnershipNamespace
|
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.10.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-08-11 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.10.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.10.0).
|
|
62
62
|
test_files: []
|