infrawrench-sdk 1.1.0 → 1.2.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 +123 -2
- data/lib/infrawrench/sdk.rb +2 -2
- data/lib/infrawrench/transport.rb +2 -2
- data/lib/infrawrench/version.rb +3 -3
- data/lib/infrawrench-sdk.rb +2 -2
- data/sig/infrawrench/sdk.rbs +240 -2
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 44bdb9fdba2323135ddce49dcf7722b06efd664d30ddf5059eb926272b4bfcd3
|
|
4
|
+
data.tar.gz: c42f98392e673f3a5b1a8e6a17566374c5ed41eb38aa841deb13fd60070371ca
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 532efd679fa7560bf54a06fc1fd2f32fe335171c84782d621cced4cefe50618453947e2084626fd2afc70b880dbb9f0428339926ba59541c3558aa885e5ce594
|
|
7
|
+
data.tar.gz: 3fe95ccc73285960fd722fa4e1fef67b3d70dcc35acb2891addc4fb49817e7060f300313afd7a7ad58ddfb73b43d9481d12903625128d1d85d3814106fcd360a
|
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.2.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
|
+
435 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.2.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.2.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.2.0)."
|
|
21
|
+
spec.description = "Generated Ruby client for the Infrawrench API (v1.2.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.2.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.2.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -2001,6 +2001,124 @@ module Infrawrench
|
|
|
2001
2001
|
end
|
|
2002
2002
|
end
|
|
2003
2003
|
|
|
2004
|
+
# `client.config`
|
|
2005
|
+
class ConfigNamespace
|
|
2006
|
+
# @api private
|
|
2007
|
+
# @param transport [Transport]
|
|
2008
|
+
def initialize(transport)
|
|
2009
|
+
@transport = transport
|
|
2010
|
+
end
|
|
2011
|
+
|
|
2012
|
+
# Apply a configuration document
|
|
2013
|
+
#
|
|
2014
|
+
# Applies the document in a single transaction and returns the plan that was
|
|
2015
|
+
# executed — all or nothing, so a failure never leaves the organization
|
|
2016
|
+
# halfway between two configurations.
|
|
2017
|
+
#
|
|
2018
|
+
# Requires the write permission of every section the document carries, so
|
|
2019
|
+
# this cannot be used to reach past a role that withholds one.
|
|
2020
|
+
#
|
|
2021
|
+
# _Requires permission: `config:write`._
|
|
2022
|
+
#
|
|
2023
|
+
# POST /api/org/{orgId}/config/apply
|
|
2024
|
+
#
|
|
2025
|
+
# Raises on 400: Bad request
|
|
2026
|
+
#
|
|
2027
|
+
# Raises on 402: Payment required — the organization's plan does not include
|
|
2028
|
+
# this
|
|
2029
|
+
#
|
|
2030
|
+
# Raises on 403: Forbidden
|
|
2031
|
+
#
|
|
2032
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
2033
|
+
# constructed with.
|
|
2034
|
+
# @param body [Hash] Request body, shaped as `OrgConfigRequest`.
|
|
2035
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
2036
|
+
# @return [Hash] Parsed JSON, shaped as `OrgConfigApplyResult` — see
|
|
2037
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
2038
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
2039
|
+
def apply(body:, org_id: nil, request_options: nil)
|
|
2040
|
+
@transport.request(
|
|
2041
|
+
http_method: "POST",
|
|
2042
|
+
path: "/api/org/{orgId}/config/apply",
|
|
2043
|
+
path_params: { "orgId" => org_id },
|
|
2044
|
+
body: body,
|
|
2045
|
+
request_options: request_options
|
|
2046
|
+
)
|
|
2047
|
+
end
|
|
2048
|
+
|
|
2049
|
+
# Export the organization's configuration as one document
|
|
2050
|
+
#
|
|
2051
|
+
# Dashboards, workflows, custom graphs, budgets, metric alerts, synthetic
|
|
2052
|
+
# probes, cost centres, the tag policy and the org-wide alert settings,
|
|
2053
|
+
# addressed by stable keys rather than row ids so the result applies to any
|
|
2054
|
+
# organization.
|
|
2055
|
+
#
|
|
2056
|
+
# Credentials, accounts, resources and workflow signing secrets are never
|
|
2057
|
+
# included. Ordering is stable, so re-exporting an unchanged organization
|
|
2058
|
+
# produces the same bytes — commit it to git and the diff is the change.
|
|
2059
|
+
#
|
|
2060
|
+
# Requires the read permission of every section exported; it refuses rather
|
|
2061
|
+
# than silently omitting one, because a partial document applied in
|
|
2062
|
+
# `replace` mode would delete what the exporter could not see.
|
|
2063
|
+
#
|
|
2064
|
+
# _Requires permission: `config:read`._
|
|
2065
|
+
#
|
|
2066
|
+
# GET /api/org/{orgId}/config/export
|
|
2067
|
+
#
|
|
2068
|
+
# Raises on 400: Bad request
|
|
2069
|
+
#
|
|
2070
|
+
# Raises on 403: Forbidden
|
|
2071
|
+
#
|
|
2072
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
2073
|
+
# constructed with.
|
|
2074
|
+
# @param sections [String, nil] Comma-separated subset of sections to export. Defaults to
|
|
2075
|
+
# all of: budgets, customGraphs, workflows, dashboards, metricAlerts, probes, costCentres,
|
|
2076
|
+
# tagPolicy, alertSettings.
|
|
2077
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
2078
|
+
# @return [Hash] Parsed JSON, shaped as `OrgConfigDocument` — see `sig/infrawrench/sdk.rbs`.
|
|
2079
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
2080
|
+
def export(org_id: nil, sections: nil, request_options: nil)
|
|
2081
|
+
@transport.request(
|
|
2082
|
+
http_method: "GET",
|
|
2083
|
+
path: "/api/org/{orgId}/config/export",
|
|
2084
|
+
path_params: { "orgId" => org_id },
|
|
2085
|
+
query: { "sections" => sections },
|
|
2086
|
+
request_options: request_options
|
|
2087
|
+
)
|
|
2088
|
+
end
|
|
2089
|
+
|
|
2090
|
+
# Preview what applying a document would do
|
|
2091
|
+
#
|
|
2092
|
+
# The dry run: validates the document, resolves its cross-references against
|
|
2093
|
+
# this organization, and returns the create/update/delete/unchanged plan
|
|
2094
|
+
# without writing anything. Read-only, so a reviewer with read access can
|
|
2095
|
+
# run it on a pull request.
|
|
2096
|
+
#
|
|
2097
|
+
# _Requires permission: `config:read`._
|
|
2098
|
+
#
|
|
2099
|
+
# POST /api/org/{orgId}/config/plan
|
|
2100
|
+
#
|
|
2101
|
+
# Raises on 400: Bad request
|
|
2102
|
+
#
|
|
2103
|
+
# Raises on 403: Forbidden
|
|
2104
|
+
#
|
|
2105
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
2106
|
+
# constructed with.
|
|
2107
|
+
# @param body [Hash] Request body, shaped as `OrgConfigRequest`.
|
|
2108
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
2109
|
+
# @return [Hash] Parsed JSON, shaped as `OrgConfigPlan` — see `sig/infrawrench/sdk.rbs`.
|
|
2110
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
2111
|
+
def plan(body:, org_id: nil, request_options: nil)
|
|
2112
|
+
@transport.request(
|
|
2113
|
+
http_method: "POST",
|
|
2114
|
+
path: "/api/org/{orgId}/config/plan",
|
|
2115
|
+
path_params: { "orgId" => org_id },
|
|
2116
|
+
body: body,
|
|
2117
|
+
request_options: request_options
|
|
2118
|
+
)
|
|
2119
|
+
end
|
|
2120
|
+
end
|
|
2121
|
+
|
|
2004
2122
|
# `client.connect`
|
|
2005
2123
|
class ConnectNamespace
|
|
2006
2124
|
# @api private
|
|
@@ -9312,6 +9430,8 @@ module Infrawrench
|
|
|
9312
9430
|
attr_reader :change_freezes
|
|
9313
9431
|
# @return [ChangesNamespace] `client.changes`
|
|
9314
9432
|
attr_reader :changes
|
|
9433
|
+
# @return [ConfigNamespace] `client.config`
|
|
9434
|
+
attr_reader :config
|
|
9315
9435
|
# @return [ConnectNamespace] `client.connect`
|
|
9316
9436
|
attr_reader :connect
|
|
9317
9437
|
# @return [CostCentresNamespace] `client.cost_centres`
|
|
@@ -9426,6 +9546,7 @@ module Infrawrench
|
|
|
9426
9546
|
@budgets = BudgetsNamespace.new(@transport)
|
|
9427
9547
|
@change_freezes = ChangeFreezesNamespace.new(@transport)
|
|
9428
9548
|
@changes = ChangesNamespace.new(@transport)
|
|
9549
|
+
@config = ConfigNamespace.new(@transport)
|
|
9429
9550
|
@connect = ConnectNamespace.new(@transport)
|
|
9430
9551
|
@cost_centres = CostCentresNamespace.new(@transport)
|
|
9431
9552
|
@costs = CostsNamespace.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.2.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.2.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.2.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.2.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.2.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.2.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.2.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.2.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.2.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.2.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.2.0).
|
|
5
5
|
#
|
|
6
6
|
# DO NOT EDIT. Regenerate with:
|
|
7
7
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -2005,6 +2005,234 @@ module Infrawrench
|
|
|
2005
2005
|
# Spec schema: `Ok`.
|
|
2006
2006
|
type ok = { "ok" => bool }
|
|
2007
2007
|
|
|
2008
|
+
# Org-wide notification tuning. Cooldown claims (`lastNotifiedAt`,
|
|
2009
|
+
# `lastSentWeekStart`) are deliberately absent: they are poller state, and
|
|
2010
|
+
# resetting one from an apply would re-open a quiet period and page people
|
|
2011
|
+
# twice.
|
|
2012
|
+
#
|
|
2013
|
+
# Spec schema: `OrgConfigAlertSettings`.
|
|
2014
|
+
type org_config_alert_settings = {
|
|
2015
|
+
?"costAnomaly" => {
|
|
2016
|
+
"sigmas" => Numeric,
|
|
2017
|
+
"minDeltaCents" => Integer,
|
|
2018
|
+
"newSourceMinCents" => Integer,
|
|
2019
|
+
"smsAlerts" => "off" | "new_source" | "all"
|
|
2020
|
+
},
|
|
2021
|
+
?"drift" => {
|
|
2022
|
+
"notifyCreated" => bool,
|
|
2023
|
+
"notifyUpdated" => bool,
|
|
2024
|
+
"notifyDeleted" => bool,
|
|
2025
|
+
"cooldownMinutes" => Integer,
|
|
2026
|
+
"minChanges" => Integer,
|
|
2027
|
+
"accounts" => Array[String]
|
|
2028
|
+
},
|
|
2029
|
+
?"expiry" => { "enabled" => bool, "leadDays" => Integer },
|
|
2030
|
+
?"posture" => { "enabled" => bool },
|
|
2031
|
+
?"digest" => {
|
|
2032
|
+
"enabled" => bool,
|
|
2033
|
+
"timezone" => String,
|
|
2034
|
+
"sendDay" => Integer,
|
|
2035
|
+
"sendHour" => Integer,
|
|
2036
|
+
"narrativeEnabled" => bool,
|
|
2037
|
+
"recipients" => Array[String]
|
|
2038
|
+
}
|
|
2039
|
+
}
|
|
2040
|
+
|
|
2041
|
+
# Spec schema: `OrgConfigApplyResult`.
|
|
2042
|
+
type org_config_apply_result = org_config_plan & { "applied" => bool }
|
|
2043
|
+
|
|
2044
|
+
# Spec schema: `OrgConfigBudget`.
|
|
2045
|
+
type org_config_budget = {
|
|
2046
|
+
"key" => String,
|
|
2047
|
+
"name" => String,
|
|
2048
|
+
"amountCents" => Integer,
|
|
2049
|
+
?"currency" => String,
|
|
2050
|
+
?"filters" => Array[org_config_cost_filter],
|
|
2051
|
+
"thresholds" => Array[{ "type" => "actual" | "forecast", "percent" => Integer }]
|
|
2052
|
+
}
|
|
2053
|
+
|
|
2054
|
+
# Spec schema: `OrgConfigChange`.
|
|
2055
|
+
type org_config_change = {
|
|
2056
|
+
"section" => org_config_section,
|
|
2057
|
+
"key" => String,
|
|
2058
|
+
"name" => String,
|
|
2059
|
+
"action" => "create" | "update" | "delete" | "unchanged",
|
|
2060
|
+
?"fields" => Array[String]
|
|
2061
|
+
}
|
|
2062
|
+
|
|
2063
|
+
# Spec schema: `OrgConfigCostCentre`.
|
|
2064
|
+
type org_config_cost_centre = {
|
|
2065
|
+
"key" => String,
|
|
2066
|
+
"name" => String,
|
|
2067
|
+
?"description" => String | nil,
|
|
2068
|
+
?"rules" => Array[{
|
|
2069
|
+
"priority" => Integer,
|
|
2070
|
+
?"match" => {
|
|
2071
|
+
?"tagKey" => String,
|
|
2072
|
+
?"tagValue" => String,
|
|
2073
|
+
?"account" => String,
|
|
2074
|
+
?"pluginId" => String,
|
|
2075
|
+
?"service" => String
|
|
2076
|
+
}
|
|
2077
|
+
}]
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2080
|
+
# Spec schema: `OrgConfigCostFilter`.
|
|
2081
|
+
type org_config_cost_filter = {
|
|
2082
|
+
"dimension" => String,
|
|
2083
|
+
"op" => "in" | "not_in",
|
|
2084
|
+
"values" => Array[String],
|
|
2085
|
+
?"tagKey" => String
|
|
2086
|
+
}
|
|
2087
|
+
|
|
2088
|
+
# Spec schema: `OrgConfigCustomGraph`.
|
|
2089
|
+
type org_config_custom_graph = { "key" => String, "name" => String, ?"description" => String | nil, "source" => String }
|
|
2090
|
+
|
|
2091
|
+
# Spec schema: `OrgConfigDashboard`.
|
|
2092
|
+
type org_config_dashboard = {
|
|
2093
|
+
"key" => String,
|
|
2094
|
+
"name" => String,
|
|
2095
|
+
?"isDefault" => bool,
|
|
2096
|
+
?"cards" => Array[org_config_dashboard_card]
|
|
2097
|
+
}
|
|
2098
|
+
|
|
2099
|
+
# One card. Position is the index in the dashboard's `cards` array — the grid
|
|
2100
|
+
# order all three card kinds share.
|
|
2101
|
+
#
|
|
2102
|
+
# Spec schema: `OrgConfigDashboardCard`.
|
|
2103
|
+
type org_config_dashboard_card = {
|
|
2104
|
+
"kind" => "widget",
|
|
2105
|
+
"widgetKind" => "cost_graph" | "budget" | "custom_graph",
|
|
2106
|
+
?"title" => String,
|
|
2107
|
+
?"config" => json_object,
|
|
2108
|
+
?"budgetKey" => String,
|
|
2109
|
+
?"graphKey" => String,
|
|
2110
|
+
?"width" => Integer,
|
|
2111
|
+
?"height" => Integer
|
|
2112
|
+
}
|
|
2113
|
+
| { "kind" => "workflow", "workflowKey" => String }
|
|
2114
|
+
| {
|
|
2115
|
+
"kind" => "resource",
|
|
2116
|
+
"pluginId" => String,
|
|
2117
|
+
"resourceTypeId" => String,
|
|
2118
|
+
"externalId" => String,
|
|
2119
|
+
"account" => String,
|
|
2120
|
+
?"width" => Integer,
|
|
2121
|
+
?"height" => Integer
|
|
2122
|
+
}
|
|
2123
|
+
|
|
2124
|
+
# An organization's configuration. Every section is optional — a document that
|
|
2125
|
+
# omits one leaves it entirely alone, in both apply modes.
|
|
2126
|
+
#
|
|
2127
|
+
# Spec schema: `OrgConfigDocument`.
|
|
2128
|
+
type org_config_document = {
|
|
2129
|
+
?"version" => Integer,
|
|
2130
|
+
?"exportedAt" => String,
|
|
2131
|
+
?"exportedFrom" => { "organizationId" => String, "organizationName" => String },
|
|
2132
|
+
?"budgets" => Array[org_config_budget],
|
|
2133
|
+
?"customGraphs" => Array[org_config_custom_graph],
|
|
2134
|
+
?"workflows" => Array[org_config_workflow],
|
|
2135
|
+
?"dashboards" => Array[org_config_dashboard],
|
|
2136
|
+
?"metricAlerts" => Array[org_config_metric_alert],
|
|
2137
|
+
?"probes" => Array[org_config_probe],
|
|
2138
|
+
?"costCentres" => Array[org_config_cost_centre],
|
|
2139
|
+
?"tagPolicy" => {
|
|
2140
|
+
"requiredTags" => Array[{ "key" => String, ?"allowedValues" => Array[String] }],
|
|
2141
|
+
"enforceOnCreate" => bool
|
|
2142
|
+
},
|
|
2143
|
+
?"alertSettings" => org_config_alert_settings
|
|
2144
|
+
}
|
|
2145
|
+
|
|
2146
|
+
# Spec schema: `OrgConfigMetricAlert`.
|
|
2147
|
+
type org_config_metric_alert = {
|
|
2148
|
+
"key" => String,
|
|
2149
|
+
"name" => String,
|
|
2150
|
+
?"pluginId" => String | nil,
|
|
2151
|
+
?"resourceTypeId" => String | nil,
|
|
2152
|
+
?"tagKey" => String | nil,
|
|
2153
|
+
?"tagValue" => String | nil,
|
|
2154
|
+
"metricKey" => String,
|
|
2155
|
+
"comparator" => ">" | ">=" | "<" | "<=",
|
|
2156
|
+
"threshold" => Numeric,
|
|
2157
|
+
?"forMinutes" => Integer,
|
|
2158
|
+
?"cooldownMinutes" => Integer,
|
|
2159
|
+
?"enabled" => bool
|
|
2160
|
+
}
|
|
2161
|
+
|
|
2162
|
+
# Spec schema: `OrgConfigPlan`.
|
|
2163
|
+
type org_config_plan = {
|
|
2164
|
+
"mode" => "merge" | "replace",
|
|
2165
|
+
"changes" => Array[org_config_change],
|
|
2166
|
+
"unresolved" => Array[org_config_unresolved],
|
|
2167
|
+
"counts" => { "create" => Integer, "update" => Integer, "delete" => Integer, "unchanged" => Integer }
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
# Spec schema: `OrgConfigProbe`.
|
|
2171
|
+
type org_config_probe = {
|
|
2172
|
+
"key" => String,
|
|
2173
|
+
"name" => String,
|
|
2174
|
+
"url" => String,
|
|
2175
|
+
?"method" => String,
|
|
2176
|
+
?"intervalSeconds" => Integer,
|
|
2177
|
+
?"timeoutMs" => Integer,
|
|
2178
|
+
?"failureThreshold" => Integer,
|
|
2179
|
+
?"enabled" => bool
|
|
2180
|
+
}
|
|
2181
|
+
|
|
2182
|
+
# Spec schema: `OrgConfigRequest`.
|
|
2183
|
+
type org_config_request = { "document" => org_config_document, ?"mode" => "merge" | "replace" }
|
|
2184
|
+
|
|
2185
|
+
# Spec schema: `OrgConfigSection`.
|
|
2186
|
+
type org_config_section = "budgets"
|
|
2187
|
+
| "customGraphs"
|
|
2188
|
+
| "workflows"
|
|
2189
|
+
| "dashboards"
|
|
2190
|
+
| "metricAlerts"
|
|
2191
|
+
| "probes"
|
|
2192
|
+
| "costCentres"
|
|
2193
|
+
| "tagPolicy"
|
|
2194
|
+
| "alertSettings"
|
|
2195
|
+
|
|
2196
|
+
# Something the document asked for that this organization could not satisfy —
|
|
2197
|
+
# a pin for a resource nobody has synced, an account name that does not exist
|
|
2198
|
+
# here. Not fatal: the affected card, clause or deletion is dropped and the
|
|
2199
|
+
# rest of the document still applies.
|
|
2200
|
+
#
|
|
2201
|
+
# Spec schema: `OrgConfigUnresolved`.
|
|
2202
|
+
type org_config_unresolved = { "section" => org_config_section, "key" => String, "detail" => String }
|
|
2203
|
+
|
|
2204
|
+
# A workflow. The git-webhook signing secret is deliberately absent — it is
|
|
2205
|
+
# write-only, so a document can neither leak nor set one.
|
|
2206
|
+
#
|
|
2207
|
+
# Spec schema: `OrgConfigWorkflow`.
|
|
2208
|
+
type org_config_workflow = {
|
|
2209
|
+
"key" => String,
|
|
2210
|
+
"name" => String,
|
|
2211
|
+
?"description" => String | nil,
|
|
2212
|
+
"source" => String,
|
|
2213
|
+
?"trigger" => org_config_workflow_trigger,
|
|
2214
|
+
?"metrics" => Array[{ "key" => String, "label" => String, ?"unit" => String | nil, ?"type" => String }],
|
|
2215
|
+
?"enabled" => bool
|
|
2216
|
+
}
|
|
2217
|
+
|
|
2218
|
+
# Spec schema: `OrgConfigWorkflowTrigger`.
|
|
2219
|
+
type org_config_workflow_trigger = { "kind" => "manual" }
|
|
2220
|
+
| { "kind" => "cron", "expression" => String, ?"timezone" => String }
|
|
2221
|
+
| {
|
|
2222
|
+
"kind" => "git",
|
|
2223
|
+
?"provider" => String,
|
|
2224
|
+
?"repo" => String,
|
|
2225
|
+
?"branch" => String,
|
|
2226
|
+
?"events" => Array[String],
|
|
2227
|
+
?"installationId" => Integer
|
|
2228
|
+
}
|
|
2229
|
+
| {
|
|
2230
|
+
"kind" => "budget",
|
|
2231
|
+
"budgetKey" => String,
|
|
2232
|
+
?"percent" => Numeric,
|
|
2233
|
+
?"metric" => "actual" | "forecast"
|
|
2234
|
+
}
|
|
2235
|
+
|
|
2008
2236
|
# Spec schema: `OrgMember`.
|
|
2009
2237
|
type org_member = {
|
|
2010
2238
|
"id" => String,
|
|
@@ -2215,6 +2443,8 @@ module Infrawrench
|
|
|
2215
2443
|
| "freezes:write"
|
|
2216
2444
|
| "freezes:override"
|
|
2217
2445
|
| "tag-policy:override"
|
|
2446
|
+
| "config:read"
|
|
2447
|
+
| "config:write"
|
|
2218
2448
|
| "audit:read"
|
|
2219
2449
|
| "access:read"
|
|
2220
2450
|
| "access:request"
|
|
@@ -4140,6 +4370,13 @@ module Infrawrench
|
|
|
4140
4370
|
def resource: (resource_id: String, ?org_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> resource_change_list_response
|
|
4141
4371
|
end
|
|
4142
4372
|
|
|
4373
|
+
class ConfigNamespace
|
|
4374
|
+
def initialize: (Transport) -> void
|
|
4375
|
+
def apply: (body: org_config_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> org_config_apply_result
|
|
4376
|
+
def export: (?org_id: String?, ?sections: String?, ?request_options: Hash[Symbol, untyped]?) -> org_config_document
|
|
4377
|
+
def plan: (body: org_config_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> org_config_plan
|
|
4378
|
+
end
|
|
4379
|
+
|
|
4143
4380
|
class ConnectNamespace
|
|
4144
4381
|
def initialize: (Transport) -> void
|
|
4145
4382
|
def env_deploy: (body: connect_env_deploy_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
|
|
@@ -4713,6 +4950,7 @@ module Infrawrench
|
|
|
4713
4950
|
attr_reader budgets: BudgetsNamespace
|
|
4714
4951
|
attr_reader change_freezes: ChangeFreezesNamespace
|
|
4715
4952
|
attr_reader changes: ChangesNamespace
|
|
4953
|
+
attr_reader config: ConfigNamespace
|
|
4716
4954
|
attr_reader connect: ConnectNamespace
|
|
4717
4955
|
attr_reader cost_centres: CostCentresNamespace
|
|
4718
4956
|
attr_reader costs: CostsNamespace
|
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.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Infrawrench LLC
|
|
@@ -9,9 +9,9 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2026-08-
|
|
12
|
+
date: 2026-08-09 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.2.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.2.0).
|
|
62
62
|
test_files: []
|