infrawrench-sdk 1.0.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 +194 -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 +318 -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
|
|
@@ -4063,6 +4181,74 @@ module Infrawrench
|
|
|
4063
4181
|
end
|
|
4064
4182
|
end
|
|
4065
4183
|
|
|
4184
|
+
# `client.environment_diff`
|
|
4185
|
+
class EnvironmentDiffNamespace
|
|
4186
|
+
# @api private
|
|
4187
|
+
# @param transport [Transport]
|
|
4188
|
+
def initialize(transport)
|
|
4189
|
+
@transport = transport
|
|
4190
|
+
end
|
|
4191
|
+
|
|
4192
|
+
# Compare two accounts' resource inventories
|
|
4193
|
+
#
|
|
4194
|
+
# Compares two accounts of the same provider — typically staging against
|
|
4195
|
+
# production — over already-synced state: which resource types exist in one
|
|
4196
|
+
# and not the other, the per-type count deltas, and the fields on which two
|
|
4197
|
+
# corresponding resources disagree (instance class, engine version, feature
|
|
4198
|
+
# flags).
|
|
4199
|
+
#
|
|
4200
|
+
# Resources are paired by resource type plus name with environment words
|
|
4201
|
+
# removed, so `api-staging` lines up with `api-prod` without any naming
|
|
4202
|
+
# convention to configure. By default the comparison hides divergences that
|
|
4203
|
+
# are artefacts of being two different resources — ids, links, network
|
|
4204
|
+
# addresses and timestamps — because every resource has different ones; pass
|
|
4205
|
+
# `includeIdentityFields=true` to see them.
|
|
4206
|
+
#
|
|
4207
|
+
# Read-only and cheap: no provider API calls are made, so results reflect
|
|
4208
|
+
# the last sync.
|
|
4209
|
+
#
|
|
4210
|
+
# _Requires permission: `resources:read`._
|
|
4211
|
+
#
|
|
4212
|
+
# GET /api/org/{orgId}/environment-diff
|
|
4213
|
+
#
|
|
4214
|
+
# Raises on 400: Bad request
|
|
4215
|
+
#
|
|
4216
|
+
# Raises on 404: Not found
|
|
4217
|
+
#
|
|
4218
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
4219
|
+
# constructed with.
|
|
4220
|
+
# @param a [String] Baseline account id — by convention the environment that works.
|
|
4221
|
+
# @param b [String] Compared account id. Must differ from `a` and use the same provider.
|
|
4222
|
+
# @param resource_type_id [String, nil] Compare one resource type only.
|
|
4223
|
+
# @param include_identity_fields [String, nil] Compare identity and timestamp fields too,
|
|
4224
|
+
# instead of filtering them out.
|
|
4225
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
4226
|
+
# @return [Hash] Parsed JSON, shaped as `EnvironmentDiffResponse` — see
|
|
4227
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
4228
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
4229
|
+
def get(
|
|
4230
|
+
a:,
|
|
4231
|
+
b:,
|
|
4232
|
+
org_id: nil,
|
|
4233
|
+
resource_type_id: nil,
|
|
4234
|
+
include_identity_fields: nil,
|
|
4235
|
+
request_options: nil
|
|
4236
|
+
)
|
|
4237
|
+
@transport.request(
|
|
4238
|
+
http_method: "GET",
|
|
4239
|
+
path: "/api/org/{orgId}/environment-diff",
|
|
4240
|
+
path_params: { "orgId" => org_id },
|
|
4241
|
+
query: {
|
|
4242
|
+
"a" => a,
|
|
4243
|
+
"b" => b,
|
|
4244
|
+
"resourceTypeId" => resource_type_id,
|
|
4245
|
+
"includeIdentityFields" => include_identity_fields
|
|
4246
|
+
},
|
|
4247
|
+
request_options: request_options
|
|
4248
|
+
)
|
|
4249
|
+
end
|
|
4250
|
+
end
|
|
4251
|
+
|
|
4066
4252
|
# `client.expiring.settings`
|
|
4067
4253
|
class ExpiringSettingsNamespace
|
|
4068
4254
|
# @api private
|
|
@@ -9244,6 +9430,8 @@ module Infrawrench
|
|
|
9244
9430
|
attr_reader :change_freezes
|
|
9245
9431
|
# @return [ChangesNamespace] `client.changes`
|
|
9246
9432
|
attr_reader :changes
|
|
9433
|
+
# @return [ConfigNamespace] `client.config`
|
|
9434
|
+
attr_reader :config
|
|
9247
9435
|
# @return [ConnectNamespace] `client.connect`
|
|
9248
9436
|
attr_reader :connect
|
|
9249
9437
|
# @return [CostCentresNamespace] `client.cost_centres`
|
|
@@ -9268,6 +9456,8 @@ module Infrawrench
|
|
|
9268
9456
|
attr_reader :dns
|
|
9269
9457
|
# @return [DockerNamespace] `client.docker`
|
|
9270
9458
|
attr_reader :docker
|
|
9459
|
+
# @return [EnvironmentDiffNamespace] `client.environment_diff`
|
|
9460
|
+
attr_reader :environment_diff
|
|
9271
9461
|
# @return [ExpiringNamespace] `client.expiring`
|
|
9272
9462
|
attr_reader :expiring
|
|
9273
9463
|
# @return [InvitationsNamespace] `client.invitations`
|
|
@@ -9356,6 +9546,7 @@ module Infrawrench
|
|
|
9356
9546
|
@budgets = BudgetsNamespace.new(@transport)
|
|
9357
9547
|
@change_freezes = ChangeFreezesNamespace.new(@transport)
|
|
9358
9548
|
@changes = ChangesNamespace.new(@transport)
|
|
9549
|
+
@config = ConfigNamespace.new(@transport)
|
|
9359
9550
|
@connect = ConnectNamespace.new(@transport)
|
|
9360
9551
|
@cost_centres = CostCentresNamespace.new(@transport)
|
|
9361
9552
|
@costs = CostsNamespace.new(@transport)
|
|
@@ -9368,6 +9559,7 @@ module Infrawrench
|
|
|
9368
9559
|
@digest = DigestNamespace.new(@transport)
|
|
9369
9560
|
@dns = DnsNamespace.new(@transport)
|
|
9370
9561
|
@docker = DockerNamespace.new(@transport)
|
|
9562
|
+
@environment_diff = EnvironmentDiffNamespace.new(@transport)
|
|
9371
9563
|
@expiring = ExpiringNamespace.new(@transport)
|
|
9372
9564
|
@invitations = InvitationsNamespace.new(@transport)
|
|
9373
9565
|
@kv = KvNamespace.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
|
|
@@ -1424,6 +1424,77 @@ module Infrawrench
|
|
|
1424
1424
|
?"enumValues" => Array[String]
|
|
1425
1425
|
}
|
|
1426
1426
|
|
|
1427
|
+
# Spec schema: `EnvironmentDiffEntry`.
|
|
1428
|
+
type environment_diff_entry = {
|
|
1429
|
+
"key" => String,
|
|
1430
|
+
"resourceTypeId" => String,
|
|
1431
|
+
"resourceTypeName" => String,
|
|
1432
|
+
"status" => "only-in-a" | "only-in-b" | "changed",
|
|
1433
|
+
"a" => environment_diff_resource_ref,
|
|
1434
|
+
"b" => environment_diff_resource_ref & untyped,
|
|
1435
|
+
"changes" => Array[environment_diff_field_change],
|
|
1436
|
+
"suppressedCount" => Integer
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
# Spec schema: `EnvironmentDiffFieldChange`.
|
|
1440
|
+
type environment_diff_field_change = { "field" => String, ?"a" => untyped, ?"b" => untyped }
|
|
1441
|
+
|
|
1442
|
+
# Null when the resource exists only on B.
|
|
1443
|
+
#
|
|
1444
|
+
# Spec schema: `EnvironmentDiffResourceRef`.
|
|
1445
|
+
type environment_diff_resource_ref = {
|
|
1446
|
+
"resourceId" => String,
|
|
1447
|
+
"accountId" => String,
|
|
1448
|
+
"displayName" => String,
|
|
1449
|
+
"externalId" => String | nil
|
|
1450
|
+
}
|
|
1451
|
+
| nil
|
|
1452
|
+
|
|
1453
|
+
# Spec schema: `EnvironmentDiffResponse`.
|
|
1454
|
+
type environment_diff_response = {
|
|
1455
|
+
"a" => environment_diff_side_summary,
|
|
1456
|
+
"b" => environment_diff_side_summary,
|
|
1457
|
+
"pluginId" => plugin_id,
|
|
1458
|
+
"pluginName" => String,
|
|
1459
|
+
"types" => Array[environment_diff_type_summary],
|
|
1460
|
+
"entries" => Array[environment_diff_entry],
|
|
1461
|
+
"totals" => environment_diff_totals,
|
|
1462
|
+
"unavailableTypes" => Array[environment_diff_unavailable_type],
|
|
1463
|
+
"includeIdentityFields" => bool,
|
|
1464
|
+
"generatedAt" => String
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1467
|
+
# Spec schema: `EnvironmentDiffSideSummary`.
|
|
1468
|
+
type environment_diff_side_summary = { "accountId" => String, "accountName" => String, "resourceCount" => Integer }
|
|
1469
|
+
|
|
1470
|
+
# Spec schema: `EnvironmentDiffTotals`.
|
|
1471
|
+
type environment_diff_totals = {
|
|
1472
|
+
"onlyInA" => Integer,
|
|
1473
|
+
"onlyInB" => Integer,
|
|
1474
|
+
"changed" => Integer,
|
|
1475
|
+
"identical" => Integer,
|
|
1476
|
+
"typesOnlyInA" => Integer,
|
|
1477
|
+
"typesOnlyInB" => Integer,
|
|
1478
|
+
"suppressedFieldChanges" => Integer
|
|
1479
|
+
}
|
|
1480
|
+
|
|
1481
|
+
# Spec schema: `EnvironmentDiffTypeSummary`.
|
|
1482
|
+
type environment_diff_type_summary = {
|
|
1483
|
+
"resourceTypeId" => String,
|
|
1484
|
+
"resourceTypeName" => String,
|
|
1485
|
+
"countA" => Integer,
|
|
1486
|
+
"countB" => Integer,
|
|
1487
|
+
"delta" => Integer,
|
|
1488
|
+
"onlyInA" => Integer,
|
|
1489
|
+
"onlyInB" => Integer,
|
|
1490
|
+
"changed" => Integer,
|
|
1491
|
+
"identical" => Integer,
|
|
1492
|
+
"missingFrom" => "a" | "b" | nil
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
# Spec schema: `EnvironmentDiffUnavailableType`.
|
|
1496
|
+
type environment_diff_unavailable_type = { "resourceTypeId" => String, "resourceTypeName" => String, "message" => String }
|
|
1497
|
+
|
|
1427
1498
|
# Spec schema: `Error`.
|
|
1428
1499
|
type error = { "error" => String }
|
|
1429
1500
|
|
|
@@ -1934,6 +2005,234 @@ module Infrawrench
|
|
|
1934
2005
|
# Spec schema: `Ok`.
|
|
1935
2006
|
type ok = { "ok" => bool }
|
|
1936
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
|
+
|
|
1937
2236
|
# Spec schema: `OrgMember`.
|
|
1938
2237
|
type org_member = {
|
|
1939
2238
|
"id" => String,
|
|
@@ -2144,6 +2443,8 @@ module Infrawrench
|
|
|
2144
2443
|
| "freezes:write"
|
|
2145
2444
|
| "freezes:override"
|
|
2146
2445
|
| "tag-policy:override"
|
|
2446
|
+
| "config:read"
|
|
2447
|
+
| "config:write"
|
|
2147
2448
|
| "audit:read"
|
|
2148
2449
|
| "access:read"
|
|
2149
2450
|
| "access:request"
|
|
@@ -3749,6 +4050,7 @@ module Infrawrench
|
|
|
3749
4050
|
| "expiring"
|
|
3750
4051
|
| "posture"
|
|
3751
4052
|
| "dns"
|
|
4053
|
+
| "environment-diff"
|
|
3752
4054
|
| "ssh-fanout"
|
|
3753
4055
|
| "metric-alerts"
|
|
3754
4056
|
| "probes"
|
|
@@ -4068,6 +4370,13 @@ module Infrawrench
|
|
|
4068
4370
|
def resource: (resource_id: String, ?org_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> resource_change_list_response
|
|
4069
4371
|
end
|
|
4070
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
|
+
|
|
4071
4380
|
class ConnectNamespace
|
|
4072
4381
|
def initialize: (Transport) -> void
|
|
4073
4382
|
def env_deploy: (body: connect_env_deploy_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
|
|
@@ -4225,6 +4534,11 @@ module Infrawrench
|
|
|
4225
4534
|
def command: (body: docker_command_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> docker_command_response
|
|
4226
4535
|
end
|
|
4227
4536
|
|
|
4537
|
+
class EnvironmentDiffNamespace
|
|
4538
|
+
def initialize: (Transport) -> void
|
|
4539
|
+
def get: (a: String, b: String, ?org_id: String?, ?resource_type_id: String?, ?include_identity_fields: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> environment_diff_response
|
|
4540
|
+
end
|
|
4541
|
+
|
|
4228
4542
|
class ExpiringSettingsNamespace
|
|
4229
4543
|
def initialize: (Transport) -> void
|
|
4230
4544
|
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> expiry_alert_settings
|
|
@@ -4636,6 +4950,7 @@ module Infrawrench
|
|
|
4636
4950
|
attr_reader budgets: BudgetsNamespace
|
|
4637
4951
|
attr_reader change_freezes: ChangeFreezesNamespace
|
|
4638
4952
|
attr_reader changes: ChangesNamespace
|
|
4953
|
+
attr_reader config: ConfigNamespace
|
|
4639
4954
|
attr_reader connect: ConnectNamespace
|
|
4640
4955
|
attr_reader cost_centres: CostCentresNamespace
|
|
4641
4956
|
attr_reader costs: CostsNamespace
|
|
@@ -4648,6 +4963,7 @@ module Infrawrench
|
|
|
4648
4963
|
attr_reader digest: DigestNamespace
|
|
4649
4964
|
attr_reader dns: DnsNamespace
|
|
4650
4965
|
attr_reader docker: DockerNamespace
|
|
4966
|
+
attr_reader environment_diff: EnvironmentDiffNamespace
|
|
4651
4967
|
attr_reader expiring: ExpiringNamespace
|
|
4652
4968
|
attr_reader invitations: InvitationsNamespace
|
|
4653
4969
|
attr_reader kv: KvNamespace
|
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: []
|