infrawrench-sdk 1.9.0 → 1.12.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 +337 -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 +211 -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: 39542a8edbf1904101a15b6d9f9fad825ef507b1d3c3075cafc6d4c0b48d50fc
|
|
4
|
+
data.tar.gz: 46ba3cf8a75d9ee4ded8b4f71151921f9bdedbef6057890fa9c352afdbf7d5ce
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3639e5055ef2ce49922fb02460c4fe017de25bb7c6d31fecef47562519c5d24669c2d886d9d3b41142337291304539125e579b3481b1d2ed8e2f6cd3a3450b5e
|
|
7
|
+
data.tar.gz: 0aa252cfdc4cf00c1fe5f98e22aee65282898ad40d20ac8fd2e6dac6fd736f4fcb1b81c3535c7bab536a62e11b20c51a81e62420d8706ccc20fb6c8b9b0e2b8b
|
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.12.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
|
+
559 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.12.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.12.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.12.0)."
|
|
21
|
+
spec.description = "Generated Ruby client for the Infrawrench API (v1.12.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.12.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.12.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
|
|
@@ -9124,6 +9315,112 @@ module Infrawrench
|
|
|
9124
9315
|
end
|
|
9125
9316
|
end
|
|
9126
9317
|
|
|
9318
|
+
# `client.quotas.settings`
|
|
9319
|
+
class QuotasSettingsNamespace
|
|
9320
|
+
# @api private
|
|
9321
|
+
# @param transport [Transport]
|
|
9322
|
+
def initialize(transport)
|
|
9323
|
+
@transport = transport
|
|
9324
|
+
end
|
|
9325
|
+
|
|
9326
|
+
# Get the organization's quota alert settings
|
|
9327
|
+
#
|
|
9328
|
+
# The threshold feeds both the feed's severity buckets and the poller's
|
|
9329
|
+
# daily alert scan. An organization that never saved reads the shipped
|
|
9330
|
+
# defaults (enabled, 0.8).
|
|
9331
|
+
#
|
|
9332
|
+
# _Requires permission: `org:settings:write`._
|
|
9333
|
+
#
|
|
9334
|
+
# GET /api/org/{orgId}/quotas/settings
|
|
9335
|
+
#
|
|
9336
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
9337
|
+
# constructed with.
|
|
9338
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
9339
|
+
# @return [Hash] Parsed JSON, shaped as `QuotaAlertSettings` — see
|
|
9340
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
9341
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
9342
|
+
def get(org_id: nil, request_options: nil)
|
|
9343
|
+
@transport.request(
|
|
9344
|
+
http_method: "GET",
|
|
9345
|
+
path: "/api/org/{orgId}/quotas/settings",
|
|
9346
|
+
path_params: { "orgId" => org_id },
|
|
9347
|
+
request_options: request_options
|
|
9348
|
+
)
|
|
9349
|
+
end
|
|
9350
|
+
|
|
9351
|
+
# Update the quota alert settings
|
|
9352
|
+
#
|
|
9353
|
+
# Every field is optional so a single toggle can be saved on its own.
|
|
9354
|
+
# `threshold` is a fraction from 0.5 to 0.99 and is rejected rather than
|
|
9355
|
+
# clamped when out of range. Saving never resets the alert cooldown.
|
|
9356
|
+
#
|
|
9357
|
+
# _Requires permission: `org:settings:write`._
|
|
9358
|
+
#
|
|
9359
|
+
# PUT /api/org/{orgId}/quotas/settings
|
|
9360
|
+
#
|
|
9361
|
+
# Raises on 400: Bad request
|
|
9362
|
+
#
|
|
9363
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
9364
|
+
# constructed with.
|
|
9365
|
+
# @param body [Hash, nil] Request body, shaped as `QuotaAlertSettingsUpdate`.
|
|
9366
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
9367
|
+
# @return [Hash] Parsed JSON, shaped as `QuotaAlertSettings` — see
|
|
9368
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
9369
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
9370
|
+
def update(org_id: nil, body: nil, request_options: nil)
|
|
9371
|
+
@transport.request(
|
|
9372
|
+
http_method: "PUT",
|
|
9373
|
+
path: "/api/org/{orgId}/quotas/settings",
|
|
9374
|
+
path_params: { "orgId" => org_id },
|
|
9375
|
+
body: body,
|
|
9376
|
+
request_options: request_options
|
|
9377
|
+
)
|
|
9378
|
+
end
|
|
9379
|
+
end
|
|
9380
|
+
|
|
9381
|
+
# `client.quotas`
|
|
9382
|
+
class QuotasNamespace
|
|
9383
|
+
# @return [QuotasSettingsNamespace] `client.quotas.settings`
|
|
9384
|
+
attr_reader :settings
|
|
9385
|
+
|
|
9386
|
+
# @api private
|
|
9387
|
+
# @param transport [Transport]
|
|
9388
|
+
def initialize(transport)
|
|
9389
|
+
@transport = transport
|
|
9390
|
+
@settings = QuotasSettingsNamespace.new(@transport)
|
|
9391
|
+
end
|
|
9392
|
+
|
|
9393
|
+
# List provider quota utilisation across the organization
|
|
9394
|
+
#
|
|
9395
|
+
# How close each account is to the limits its provider enforces, with the
|
|
9396
|
+
# trend fitted over the last 14 days of collected readings. Both halves of
|
|
9397
|
+
# every row — the used figure and the limit — come from the provider;
|
|
9398
|
+
# nothing is filled in from published defaults, so an account with an
|
|
9399
|
+
# approved increase reads as having the headroom it has. This is a read over
|
|
9400
|
+
# already-collected snapshots: no provider API calls are made here, and the
|
|
9401
|
+
# readings are as fresh as the last collection pass (roughly six hours). A
|
|
9402
|
+
# plugin that declares no quota capability contributes nothing rather than
|
|
9403
|
+
# zero — see `unsupportedPluginIds`.
|
|
9404
|
+
#
|
|
9405
|
+
# _Requires permission: `resources:read`._
|
|
9406
|
+
#
|
|
9407
|
+
# GET /api/org/{orgId}/quotas
|
|
9408
|
+
#
|
|
9409
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
9410
|
+
# constructed with.
|
|
9411
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
9412
|
+
# @return [Hash] Parsed JSON, shaped as `QuotaListResponse` — see `sig/infrawrench/sdk.rbs`.
|
|
9413
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
9414
|
+
def get(org_id: nil, request_options: nil)
|
|
9415
|
+
@transport.request(
|
|
9416
|
+
http_method: "GET",
|
|
9417
|
+
path: "/api/org/{orgId}/quotas",
|
|
9418
|
+
path_params: { "orgId" => org_id },
|
|
9419
|
+
request_options: request_options
|
|
9420
|
+
)
|
|
9421
|
+
end
|
|
9422
|
+
end
|
|
9423
|
+
|
|
9127
9424
|
# `client.resources.manifest`
|
|
9128
9425
|
class ResourcesManifestNamespace
|
|
9129
9426
|
# @api private
|
|
@@ -12556,6 +12853,8 @@ module Infrawrench
|
|
|
12556
12853
|
attr_reader :moment
|
|
12557
12854
|
# @return [MsteamsNamespace] `client.msteams`
|
|
12558
12855
|
attr_reader :msteams
|
|
12856
|
+
# @return [NetworkFlowsNamespace] `client.network_flows`
|
|
12857
|
+
attr_reader :network_flows
|
|
12559
12858
|
# @return [OrgsNamespace] `client.orgs`
|
|
12560
12859
|
attr_reader :orgs
|
|
12561
12860
|
# @return [OrphansNamespace] `client.orphans`
|
|
@@ -12570,6 +12869,8 @@ module Infrawrench
|
|
|
12570
12869
|
attr_reader :probes
|
|
12571
12870
|
# @return [ProfileNamespace] `client.profile`
|
|
12572
12871
|
attr_reader :profile
|
|
12872
|
+
# @return [QuotasNamespace] `client.quotas`
|
|
12873
|
+
attr_reader :quotas
|
|
12573
12874
|
# @return [ResourcesNamespace] `client.resources`
|
|
12574
12875
|
attr_reader :resources
|
|
12575
12876
|
# @return [RightsizingNamespace] `client.rightsizing`
|
|
@@ -12667,6 +12968,7 @@ module Infrawrench
|
|
|
12667
12968
|
@metric_alerts = MetricAlertsNamespace.new(@transport)
|
|
12668
12969
|
@moment = MomentNamespace.new(@transport)
|
|
12669
12970
|
@msteams = MsteamsNamespace.new(@transport)
|
|
12971
|
+
@network_flows = NetworkFlowsNamespace.new(@transport)
|
|
12670
12972
|
@orgs = OrgsNamespace.new(@transport)
|
|
12671
12973
|
@orphans = OrphansNamespace.new(@transport)
|
|
12672
12974
|
@ownership = OwnershipNamespace.new(@transport)
|
|
@@ -12674,6 +12976,7 @@ module Infrawrench
|
|
|
12674
12976
|
@posture = PostureNamespace.new(@transport)
|
|
12675
12977
|
@probes = ProbesNamespace.new(@transport)
|
|
12676
12978
|
@profile = ProfileNamespace.new(@transport)
|
|
12979
|
+
@quotas = QuotasNamespace.new(@transport)
|
|
12677
12980
|
@resources = ResourcesNamespace.new(@transport)
|
|
12678
12981
|
@rightsizing = RightsizingNamespace.new(@transport)
|
|
12679
12982
|
@saved_cost_filters = SavedCostFiltersNamespace.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.0).
|
|
5
5
|
#
|
|
6
6
|
# DO NOT EDIT. Regenerate with:
|
|
7
7
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -327,6 +327,7 @@ module Infrawrench
|
|
|
327
327
|
| "logMatchAlerts"
|
|
328
328
|
| "postureAlerts"
|
|
329
329
|
| "probeAlerts"
|
|
330
|
+
| "quotaAlerts"
|
|
330
331
|
| "weeklyDigest"
|
|
331
332
|
|
|
332
333
|
# Spec schema: `AllocationRule`.
|
|
@@ -1043,7 +1044,8 @@ module Infrawrench
|
|
|
1043
1044
|
"costReportId" => String | nil,
|
|
1044
1045
|
"createdByUserId" => String | nil,
|
|
1045
1046
|
"createdAt" => String,
|
|
1046
|
-
"updatedAt" => String
|
|
1047
|
+
"updatedAt" => String,
|
|
1048
|
+
"costAnomalyId" => String | nil
|
|
1047
1049
|
}
|
|
1048
1050
|
|
|
1049
1051
|
# Spec schema: `CostAnnotationInput`.
|
|
@@ -1067,7 +1069,14 @@ module Infrawrench
|
|
|
1067
1069
|
"thresholdCents" => Integer,
|
|
1068
1070
|
"detectedAt" => String,
|
|
1069
1071
|
"notifiedAt" => String | nil,
|
|
1070
|
-
"hints" => Array[String]
|
|
1072
|
+
"hints" => Array[String],
|
|
1073
|
+
"acknowledgement" => {
|
|
1074
|
+
"explanation" => String,
|
|
1075
|
+
"acknowledgedAt" => String,
|
|
1076
|
+
"acknowledgedByUserId" => String | nil,
|
|
1077
|
+
"annotationId" => String | nil
|
|
1078
|
+
}
|
|
1079
|
+
| nil
|
|
1071
1080
|
}
|
|
1072
1081
|
|
|
1073
1082
|
# Spec schema: `CostAnomalySettings`.
|
|
@@ -3127,6 +3136,120 @@ module Infrawrench
|
|
|
3127
3136
|
# Spec schema: `MsTeamsWebhookUpdate`.
|
|
3128
3137
|
type ms_teams_webhook_update = { "label" => String }
|
|
3129
3138
|
|
|
3139
|
+
# Spec schema: `NetworkFlowAccountStatus`.
|
|
3140
|
+
type network_flow_account_status = {
|
|
3141
|
+
"accountId" => String,
|
|
3142
|
+
"pluginId" => String,
|
|
3143
|
+
"displayName" => String,
|
|
3144
|
+
"supportsFlows" => bool,
|
|
3145
|
+
"collectedThrough" => String | nil,
|
|
3146
|
+
"lastPolledAt" => String | nil,
|
|
3147
|
+
"failureCount" => Integer,
|
|
3148
|
+
"lastError" => String | nil,
|
|
3149
|
+
"lastErrorHelpUrl" => String | nil,
|
|
3150
|
+
"sources" => Array[network_flow_source],
|
|
3151
|
+
"lastQueryBytesScanned" => Numeric | nil
|
|
3152
|
+
}
|
|
3153
|
+
|
|
3154
|
+
# Spec schema: `NetworkFlowEndpoint`.
|
|
3155
|
+
type network_flow_endpoint = {
|
|
3156
|
+
"ref" => String,
|
|
3157
|
+
"label" => String,
|
|
3158
|
+
"zone" => String,
|
|
3159
|
+
"region" => String,
|
|
3160
|
+
"service" => String,
|
|
3161
|
+
"resourceTypeId" => String
|
|
3162
|
+
}
|
|
3163
|
+
|
|
3164
|
+
# Spec schema: `NetworkFlowFeed`.
|
|
3165
|
+
type network_flow_feed = {
|
|
3166
|
+
"enabled" => bool,
|
|
3167
|
+
"initialLookbackDays" => Integer,
|
|
3168
|
+
"estimated" => bool,
|
|
3169
|
+
"range" => { "from" => String, "to" => String },
|
|
3170
|
+
"scopes" => Array[network_flow_scope_summary],
|
|
3171
|
+
"topFlows" => Array[network_flow_pair],
|
|
3172
|
+
"accounts" => Array[network_flow_account_status],
|
|
3173
|
+
"rateCards" => Array[network_flow_rate_card],
|
|
3174
|
+
"totals" => {
|
|
3175
|
+
"bytes" => Numeric,
|
|
3176
|
+
"estimatedCost" => Numeric,
|
|
3177
|
+
"currency" => String,
|
|
3178
|
+
"unattributedBytes" => Numeric,
|
|
3179
|
+
"truncatedBytes" => Numeric
|
|
3180
|
+
}
|
|
3181
|
+
}
|
|
3182
|
+
|
|
3183
|
+
# Spec schema: `NetworkFlowPair`.
|
|
3184
|
+
type network_flow_pair = {
|
|
3185
|
+
"source" => network_flow_endpoint,
|
|
3186
|
+
"destination" => network_flow_endpoint,
|
|
3187
|
+
"scope" => "intra_zone"
|
|
3188
|
+
| "cross_zone"
|
|
3189
|
+
| "cross_region"
|
|
3190
|
+
| "internet_egress"
|
|
3191
|
+
| "internet_ingress"
|
|
3192
|
+
| "provider_service"
|
|
3193
|
+
| "nat_gateway"
|
|
3194
|
+
| "private_interconnect"
|
|
3195
|
+
| "unknown",
|
|
3196
|
+
"direction" => "egress" | "ingress",
|
|
3197
|
+
"attribution" => "resolved" | "unattributed",
|
|
3198
|
+
"bytes" => Numeric,
|
|
3199
|
+
"packets" => Numeric,
|
|
3200
|
+
"estimatedCost" => Numeric,
|
|
3201
|
+
"currency" => String,
|
|
3202
|
+
"accountId" => String,
|
|
3203
|
+
"pluginId" => String,
|
|
3204
|
+
"days" => Integer
|
|
3205
|
+
}
|
|
3206
|
+
|
|
3207
|
+
# Spec schema: `NetworkFlowRateCard`.
|
|
3208
|
+
type network_flow_rate_card = {
|
|
3209
|
+
"pluginId" => String,
|
|
3210
|
+
"currency" => String,
|
|
3211
|
+
"asOf" => String,
|
|
3212
|
+
"perGb" => Hash[String, Numeric],
|
|
3213
|
+
"queriesBillable" => bool,
|
|
3214
|
+
"sampled" => bool
|
|
3215
|
+
}
|
|
3216
|
+
|
|
3217
|
+
# Spec schema: `NetworkFlowScopeSummary`.
|
|
3218
|
+
type network_flow_scope_summary = {
|
|
3219
|
+
"scope" => "intra_zone"
|
|
3220
|
+
| "cross_zone"
|
|
3221
|
+
| "cross_region"
|
|
3222
|
+
| "internet_egress"
|
|
3223
|
+
| "internet_ingress"
|
|
3224
|
+
| "provider_service"
|
|
3225
|
+
| "nat_gateway"
|
|
3226
|
+
| "private_interconnect"
|
|
3227
|
+
| "unknown",
|
|
3228
|
+
"direction" => "egress" | "ingress",
|
|
3229
|
+
"bytes" => Numeric,
|
|
3230
|
+
"estimatedCost" => Numeric,
|
|
3231
|
+
"currency" => String,
|
|
3232
|
+
"crossedZone" => bool,
|
|
3233
|
+
"crossedRegion" => bool,
|
|
3234
|
+
"leftCloud" => bool,
|
|
3235
|
+
"unattributedBytes" => Numeric,
|
|
3236
|
+
"truncatedBytes" => Numeric
|
|
3237
|
+
}
|
|
3238
|
+
|
|
3239
|
+
# Spec schema: `NetworkFlowSettings`.
|
|
3240
|
+
type network_flow_settings = { "enabled" => bool, "initialLookbackDays" => Integer }
|
|
3241
|
+
|
|
3242
|
+
# Spec schema: `NetworkFlowSource`.
|
|
3243
|
+
type network_flow_source = {
|
|
3244
|
+
"id" => String,
|
|
3245
|
+
"target" => String,
|
|
3246
|
+
"region" => String | nil,
|
|
3247
|
+
"destinationType" => String,
|
|
3248
|
+
"usable" => bool,
|
|
3249
|
+
"unusableReason" => String | nil,
|
|
3250
|
+
"helpUrl" => String | nil
|
|
3251
|
+
}
|
|
3252
|
+
|
|
3130
3253
|
# Spec schema: `NoSqlCommandRequest`.
|
|
3131
3254
|
type no_sql_command_request = {
|
|
3132
3255
|
"pluginId" => String,
|
|
@@ -3975,6 +4098,56 @@ module Infrawrench
|
|
|
3975
4098
|
}
|
|
3976
4099
|
| nil
|
|
3977
4100
|
|
|
4101
|
+
# Spec schema: `QuotaAccountStatus`.
|
|
4102
|
+
type quota_account_status = {
|
|
4103
|
+
"accountId" => String,
|
|
4104
|
+
"accountName" => String,
|
|
4105
|
+
"pluginId" => plugin_id,
|
|
4106
|
+
"quotaCount" => Integer,
|
|
4107
|
+
"lastPolledAt" => String | nil,
|
|
4108
|
+
"lastError" => String | nil,
|
|
4109
|
+
"lastErrorHelpLabel" => String | nil,
|
|
4110
|
+
"lastErrorHelpUrl" => String | nil,
|
|
4111
|
+
"partial" => bool
|
|
4112
|
+
}
|
|
4113
|
+
|
|
4114
|
+
# Spec schema: `QuotaAlertSettings`.
|
|
4115
|
+
type quota_alert_settings = { "enabled" => bool, "threshold" => Numeric, "lastNotifiedAt" => String | nil }
|
|
4116
|
+
|
|
4117
|
+
# Spec schema: `QuotaAlertSettingsUpdate`.
|
|
4118
|
+
type quota_alert_settings_update = { ?"enabled" => bool, ?"threshold" => Numeric }
|
|
4119
|
+
|
|
4120
|
+
# Spec schema: `QuotaListResponse`.
|
|
4121
|
+
type quota_list_response = {
|
|
4122
|
+
"rows" => Array[quota_row],
|
|
4123
|
+
"accounts" => Array[quota_account_status],
|
|
4124
|
+
"threshold" => Numeric,
|
|
4125
|
+
"unsupportedPluginIds" => Array[plugin_id]
|
|
4126
|
+
}
|
|
4127
|
+
|
|
4128
|
+
# Spec schema: `QuotaRow`.
|
|
4129
|
+
type quota_row = {
|
|
4130
|
+
"key" => String,
|
|
4131
|
+
"accountId" => String,
|
|
4132
|
+
"accountName" => String,
|
|
4133
|
+
"pluginId" => plugin_id,
|
|
4134
|
+
"service" => String,
|
|
4135
|
+
"name" => String,
|
|
4136
|
+
"region" => String | nil,
|
|
4137
|
+
"limit" => Numeric,
|
|
4138
|
+
"used" => Numeric,
|
|
4139
|
+
"utilization" => Numeric,
|
|
4140
|
+
"unit" => String | nil,
|
|
4141
|
+
"adjustable" => bool | nil,
|
|
4142
|
+
"docsUrl" => String | nil,
|
|
4143
|
+
"observedAt" => String,
|
|
4144
|
+
"severity" => "exhausted" | "critical" | "trending" | "ok",
|
|
4145
|
+
"trend" => quota_trend
|
|
4146
|
+
}
|
|
4147
|
+
|
|
4148
|
+
# Spec schema: `QuotaTrend`.
|
|
4149
|
+
type quota_trend = { "perDay" => Numeric | nil, "daysToExhaustion" => Numeric | nil, "points" => Integer }
|
|
4150
|
+
|
|
3978
4151
|
# Spec schema: `ReauthenticationRequired`.
|
|
3979
4152
|
type reauthentication_required = { "error" => String, "code" => "reauthentication_required" }
|
|
3980
4153
|
|
|
@@ -5315,6 +5488,7 @@ module Infrawrench
|
|
|
5315
5488
|
| "ssh-fanout"
|
|
5316
5489
|
| "metric-alerts"
|
|
5317
5490
|
| "probes"
|
|
5491
|
+
| "quotas"
|
|
5318
5492
|
| "workflows"
|
|
5319
5493
|
| "deployments"
|
|
5320
5494
|
| "settings"
|
|
@@ -5863,6 +6037,12 @@ module Infrawrench
|
|
|
5863
6037
|
def update: (id: String, body: cost_scenario_model_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_scenario_model
|
|
5864
6038
|
end
|
|
5865
6039
|
|
|
6040
|
+
class CostsAnomaliesNamespace
|
|
6041
|
+
def initialize: (Transport) -> void
|
|
6042
|
+
def acknowledge: (anomaly_id: String, ?org_id: String?, ?body: { "explanation" => String }?, ?request_options: Hash[Symbol, untyped]?) -> cost_anomaly
|
|
6043
|
+
def get: (?org_id: String?, ?days: String?, ?request_options: Hash[Symbol, untyped]?) -> { "anomalies" => Array[cost_anomaly] }
|
|
6044
|
+
end
|
|
6045
|
+
|
|
5866
6046
|
class CostsAnomalySettingsNamespace
|
|
5867
6047
|
def initialize: (Transport) -> void
|
|
5868
6048
|
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_anomaly_settings_view
|
|
@@ -5876,10 +6056,10 @@ module Infrawrench
|
|
|
5876
6056
|
end
|
|
5877
6057
|
|
|
5878
6058
|
class CostsNamespace
|
|
6059
|
+
attr_reader anomalies: CostsAnomaliesNamespace
|
|
5879
6060
|
attr_reader anomaly_settings: CostsAnomalySettingsNamespace
|
|
5880
6061
|
attr_reader efficiency_alert_settings: CostsEfficiencyAlertSettingsNamespace
|
|
5881
6062
|
def initialize: (Transport) -> void
|
|
5882
|
-
def anomalies: (?org_id: String?, ?days: String?, ?request_options: Hash[Symbol, untyped]?) -> { "anomalies" => Array[cost_anomaly] }
|
|
5883
6063
|
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
6064
|
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
6065
|
def query: (body: cost_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_query_response
|
|
@@ -6150,6 +6330,18 @@ module Infrawrench
|
|
|
6150
6330
|
def test: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool, "webhookCount" => Integer, "attempted" => Integer, "succeeded" => Integer }
|
|
6151
6331
|
end
|
|
6152
6332
|
|
|
6333
|
+
class NetworkFlowsSettingsNamespace
|
|
6334
|
+
def initialize: (Transport) -> void
|
|
6335
|
+
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> network_flow_settings
|
|
6336
|
+
def update: (body: network_flow_settings, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> network_flow_settings
|
|
6337
|
+
end
|
|
6338
|
+
|
|
6339
|
+
class NetworkFlowsNamespace
|
|
6340
|
+
attr_reader settings: NetworkFlowsSettingsNamespace
|
|
6341
|
+
def initialize: (Transport) -> void
|
|
6342
|
+
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
|
|
6343
|
+
end
|
|
6344
|
+
|
|
6153
6345
|
class OrgsNamespace
|
|
6154
6346
|
def initialize: (Transport) -> void
|
|
6155
6347
|
def create: (body: create_org_request, ?request_options: Hash[Symbol, untyped]?) -> organization
|
|
@@ -6239,6 +6431,18 @@ module Infrawrench
|
|
|
6239
6431
|
def update: (?body: { ?"firstName" => String, ?"lastName" => String }?, ?request_options: Hash[Symbol, untyped]?) -> profile_summary
|
|
6240
6432
|
end
|
|
6241
6433
|
|
|
6434
|
+
class QuotasSettingsNamespace
|
|
6435
|
+
def initialize: (Transport) -> void
|
|
6436
|
+
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> quota_alert_settings
|
|
6437
|
+
def update: (?org_id: String?, ?body: quota_alert_settings_update?, ?request_options: Hash[Symbol, untyped]?) -> quota_alert_settings
|
|
6438
|
+
end
|
|
6439
|
+
|
|
6440
|
+
class QuotasNamespace
|
|
6441
|
+
attr_reader settings: QuotasSettingsNamespace
|
|
6442
|
+
def initialize: (Transport) -> void
|
|
6443
|
+
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> quota_list_response
|
|
6444
|
+
end
|
|
6445
|
+
|
|
6242
6446
|
class ResourcesManifestNamespace
|
|
6243
6447
|
def initialize: (Transport) -> void
|
|
6244
6448
|
def create: (plugin_id: plugin_id, type_id: resource_type_id, body: apply_manifest_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
|
|
@@ -6530,6 +6734,7 @@ module Infrawrench
|
|
|
6530
6734
|
attr_reader metric_alerts: MetricAlertsNamespace
|
|
6531
6735
|
attr_reader moment: MomentNamespace
|
|
6532
6736
|
attr_reader msteams: MsteamsNamespace
|
|
6737
|
+
attr_reader network_flows: NetworkFlowsNamespace
|
|
6533
6738
|
attr_reader orgs: OrgsNamespace
|
|
6534
6739
|
attr_reader orphans: OrphansNamespace
|
|
6535
6740
|
attr_reader ownership: OwnershipNamespace
|
|
@@ -6537,6 +6742,7 @@ module Infrawrench
|
|
|
6537
6742
|
attr_reader posture: PostureNamespace
|
|
6538
6743
|
attr_reader probes: ProbesNamespace
|
|
6539
6744
|
attr_reader profile: ProfileNamespace
|
|
6745
|
+
attr_reader quotas: QuotasNamespace
|
|
6540
6746
|
attr_reader resources: ResourcesNamespace
|
|
6541
6747
|
attr_reader rightsizing: RightsizingNamespace
|
|
6542
6748
|
attr_reader saved_cost_filters: SavedCostFiltersNamespace
|
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.12.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.12.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.12.0).
|
|
62
62
|
test_files: []
|