infrawrench-sdk 0.44.0 → 1.0.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 +205 -19
- 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 +139 -90
- 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: e45c71379c84999b88d2b1d309a67f3725e4ba2cabed2b1ca4fd36db8a7d677a
|
|
4
|
+
data.tar.gz: 0bd88d1530add69a8816f15cfdfd2f4feab6013a515832da475d74fba4bbf849
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1e4e457b41335197e2e971665f566eee1278aa3cdf68e6658aa93d75628c4dea104674960494ec4c5b8b3b733e64d8f40101433ae93c86a249cb1d4c8945b76d
|
|
7
|
+
data.tar.gz: 5e14b2e4d27d57e22c0dee347909d41908cc36fc87f894a5af9ca56f56079f21c80a93c8cd09f4818fd3fb71c88922653831983e9318ea3d0623cea097167c7a
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# infrawrench-sdk
|
|
2
2
|
|
|
3
|
-
Generated Ruby client for the Infrawrench API (API version `0.
|
|
3
|
+
Generated Ruby client for the Infrawrench API (API version `1.0.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
|
+
409 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
|
|
3
|
+
# infrawrench-sdk v1.0.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.0.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 (
|
|
21
|
-
spec.description = "Generated Ruby client for the Infrawrench API (
|
|
20
|
+
spec.summary = "Generated Ruby client for the Infrawrench API (v1.0.0)."
|
|
21
|
+
spec.description = "Generated Ruby client for the Infrawrench API (v1.0.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
|
|
3
|
+
# infrawrench-sdk v1.0.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.0.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -882,6 +882,185 @@ module Infrawrench
|
|
|
882
882
|
end
|
|
883
883
|
end
|
|
884
884
|
|
|
885
|
+
# `client.alert_rules.deliveries`
|
|
886
|
+
class AlertRulesDeliveriesNamespace
|
|
887
|
+
# @api private
|
|
888
|
+
# @param transport [Transport]
|
|
889
|
+
def initialize(transport)
|
|
890
|
+
@transport = transport
|
|
891
|
+
end
|
|
892
|
+
|
|
893
|
+
# Acknowledge an alert, cancelling its escalation
|
|
894
|
+
#
|
|
895
|
+
# A conditional update: only a delivery still in `awaiting_ack` can move, so
|
|
896
|
+
# two people pressing at once produce one acknowledgement and an alert that
|
|
897
|
+
# already escalated cannot be retroactively silenced.
|
|
898
|
+
#
|
|
899
|
+
# POST /api/org/{orgId}/alert-rules/deliveries/{id}/ack
|
|
900
|
+
#
|
|
901
|
+
# Raises on 401: Unauthenticated
|
|
902
|
+
#
|
|
903
|
+
# Raises on 403: Forbidden
|
|
904
|
+
#
|
|
905
|
+
# Raises on 404: Not found
|
|
906
|
+
#
|
|
907
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
908
|
+
# constructed with.
|
|
909
|
+
# @param id [String]
|
|
910
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
911
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
912
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
913
|
+
def ack(id:, org_id: nil, request_options: nil)
|
|
914
|
+
@transport.request(
|
|
915
|
+
http_method: "POST",
|
|
916
|
+
path: "/api/org/{orgId}/alert-rules/deliveries/{id}/ack",
|
|
917
|
+
path_params: { "orgId" => org_id, "id" => id },
|
|
918
|
+
request_options: request_options
|
|
919
|
+
)
|
|
920
|
+
end
|
|
921
|
+
|
|
922
|
+
# Drop held or awaiting-acknowledgement deliveries
|
|
923
|
+
#
|
|
924
|
+
# POST /api/org/{orgId}/alert-rules/deliveries/cancel
|
|
925
|
+
#
|
|
926
|
+
# Raises on 400: Bad request
|
|
927
|
+
#
|
|
928
|
+
# Raises on 403: Forbidden
|
|
929
|
+
#
|
|
930
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
931
|
+
# constructed with.
|
|
932
|
+
# @param body [Hash, nil] Request body, shaped as `Hash`.
|
|
933
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
934
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
935
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
936
|
+
def cancel(org_id: nil, body: nil, request_options: nil)
|
|
937
|
+
@transport.request(
|
|
938
|
+
http_method: "POST",
|
|
939
|
+
path: "/api/org/{orgId}/alert-rules/deliveries/cancel",
|
|
940
|
+
path_params: { "orgId" => org_id },
|
|
941
|
+
body: body,
|
|
942
|
+
request_options: request_options
|
|
943
|
+
)
|
|
944
|
+
end
|
|
945
|
+
|
|
946
|
+
# List recent held and escalating alerts
|
|
947
|
+
#
|
|
948
|
+
# Only alerts a rule created follow-up work for appear here: one held by
|
|
949
|
+
# quiet hours, or one waiting on an acknowledgement. An alert that went
|
|
950
|
+
# straight out leaves no row.
|
|
951
|
+
#
|
|
952
|
+
# GET /api/org/{orgId}/alert-rules/deliveries
|
|
953
|
+
#
|
|
954
|
+
# Raises on 403: Forbidden
|
|
955
|
+
#
|
|
956
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
957
|
+
# constructed with.
|
|
958
|
+
# @param limit [Integer, nil]
|
|
959
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
960
|
+
# @return [Array<Hash>] Parsed JSON, shaped as `Array<AlertDelivery>` — see
|
|
961
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
962
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
963
|
+
def list(org_id: nil, limit: nil, request_options: nil)
|
|
964
|
+
@transport.request(
|
|
965
|
+
http_method: "GET",
|
|
966
|
+
path: "/api/org/{orgId}/alert-rules/deliveries",
|
|
967
|
+
path_params: { "orgId" => org_id },
|
|
968
|
+
query: { "limit" => limit },
|
|
969
|
+
request_options: request_options
|
|
970
|
+
)
|
|
971
|
+
end
|
|
972
|
+
end
|
|
973
|
+
|
|
974
|
+
# `client.alert_rules`
|
|
975
|
+
class AlertRulesNamespace
|
|
976
|
+
# @return [AlertRulesDeliveriesNamespace] `client.alert_rules.deliveries`
|
|
977
|
+
attr_reader :deliveries
|
|
978
|
+
|
|
979
|
+
# @api private
|
|
980
|
+
# @param transport [Transport]
|
|
981
|
+
def initialize(transport)
|
|
982
|
+
@transport = transport
|
|
983
|
+
@deliveries = AlertRulesDeliveriesNamespace.new(@transport)
|
|
984
|
+
end
|
|
985
|
+
|
|
986
|
+
# Persist the default rule so it can be edited
|
|
987
|
+
#
|
|
988
|
+
# A no-op when the organization already has rules.
|
|
989
|
+
#
|
|
990
|
+
# POST /api/org/{orgId}/alert-rules/adopt-defaults
|
|
991
|
+
#
|
|
992
|
+
# Raises on 403: Forbidden
|
|
993
|
+
#
|
|
994
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
995
|
+
# constructed with.
|
|
996
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
997
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
998
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
999
|
+
def adopt_defaults(org_id: nil, request_options: nil)
|
|
1000
|
+
@transport.request(
|
|
1001
|
+
http_method: "POST",
|
|
1002
|
+
path: "/api/org/{orgId}/alert-rules/adopt-defaults",
|
|
1003
|
+
path_params: { "orgId" => org_id },
|
|
1004
|
+
request_options: request_options
|
|
1005
|
+
)
|
|
1006
|
+
end
|
|
1007
|
+
|
|
1008
|
+
# Get the organization's alert routing rules
|
|
1009
|
+
#
|
|
1010
|
+
# Returns the rules in evaluation order, plus the channels and accounts a
|
|
1011
|
+
# rule can name so a client can render destinations by name. An organization
|
|
1012
|
+
# that has saved no rules gets the synthesized default with `usingDefaults:
|
|
1013
|
+
# true`.
|
|
1014
|
+
#
|
|
1015
|
+
# GET /api/org/{orgId}/alert-rules
|
|
1016
|
+
#
|
|
1017
|
+
# Raises on 403: Forbidden
|
|
1018
|
+
#
|
|
1019
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1020
|
+
# constructed with.
|
|
1021
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1022
|
+
# @return [Hash] Parsed JSON, shaped as `AlertRulesResponse` — see
|
|
1023
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
1024
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1025
|
+
def get(org_id: nil, request_options: nil)
|
|
1026
|
+
@transport.request(
|
|
1027
|
+
http_method: "GET",
|
|
1028
|
+
path: "/api/org/{orgId}/alert-rules",
|
|
1029
|
+
path_params: { "orgId" => org_id },
|
|
1030
|
+
request_options: request_options
|
|
1031
|
+
)
|
|
1032
|
+
end
|
|
1033
|
+
|
|
1034
|
+
# Replace the organization's alert routing rules
|
|
1035
|
+
#
|
|
1036
|
+
# Whole-list replacement in one transaction. Order is part of the meaning —
|
|
1037
|
+
# a rule is only correct relative to the ones above it — so a reorder
|
|
1038
|
+
# applied as several requests would leave a window in which alerts route
|
|
1039
|
+
# somewhere nobody asked for. Positions are re-derived from array order.
|
|
1040
|
+
#
|
|
1041
|
+
# PUT /api/org/{orgId}/alert-rules
|
|
1042
|
+
#
|
|
1043
|
+
# Raises on 400: Bad request
|
|
1044
|
+
#
|
|
1045
|
+
# Raises on 403: Forbidden
|
|
1046
|
+
#
|
|
1047
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
1048
|
+
# constructed with.
|
|
1049
|
+
# @param body [Hash, nil] Request body, shaped as `Hash`.
|
|
1050
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
1051
|
+
# @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
|
|
1052
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
1053
|
+
def update(org_id: nil, body: nil, request_options: nil)
|
|
1054
|
+
@transport.request(
|
|
1055
|
+
http_method: "PUT",
|
|
1056
|
+
path: "/api/org/{orgId}/alert-rules",
|
|
1057
|
+
path_params: { "orgId" => org_id },
|
|
1058
|
+
body: body,
|
|
1059
|
+
request_options: request_options
|
|
1060
|
+
)
|
|
1061
|
+
end
|
|
1062
|
+
end
|
|
1063
|
+
|
|
885
1064
|
# `client.api_keys`
|
|
886
1065
|
class ApiKeysNamespace
|
|
887
1066
|
# @api private
|
|
@@ -4708,10 +4887,11 @@ module Infrawrench
|
|
|
4708
4887
|
@transport = transport
|
|
4709
4888
|
end
|
|
4710
4889
|
|
|
4711
|
-
#
|
|
4890
|
+
# Connect a Teams channel as an alert destination
|
|
4712
4891
|
#
|
|
4713
4892
|
# Adds a channel by webhook URL, or updates the one already holding that
|
|
4714
|
-
# URL.
|
|
4893
|
+
# URL. Which alerts reach it is decided by /alert-rules — connecting a
|
|
4894
|
+
# channel routes nothing to it on its own. Responds 400 when the URL is not
|
|
4715
4895
|
# https or its host is not Microsoft-operated.
|
|
4716
4896
|
#
|
|
4717
4897
|
# POST /api/org/{orgId}/msteams/webhooks
|
|
@@ -4734,7 +4914,7 @@ module Infrawrench
|
|
|
4734
4914
|
)
|
|
4735
4915
|
end
|
|
4736
4916
|
|
|
4737
|
-
#
|
|
4917
|
+
# Disconnect a Teams channel
|
|
4738
4918
|
#
|
|
4739
4919
|
# DELETE /api/org/{orgId}/msteams/webhooks/{id}
|
|
4740
4920
|
#
|
|
@@ -4755,7 +4935,7 @@ module Infrawrench
|
|
|
4755
4935
|
)
|
|
4756
4936
|
end
|
|
4757
4937
|
|
|
4758
|
-
# Rename a Teams channel
|
|
4938
|
+
# Rename a Teams channel
|
|
4759
4939
|
#
|
|
4760
4940
|
# The webhook URL is immutable — remove the channel and re-add it to change
|
|
4761
4941
|
# it.
|
|
@@ -4798,8 +4978,8 @@ module Infrawrench
|
|
|
4798
4978
|
|
|
4799
4979
|
# List the organization's Teams channels
|
|
4800
4980
|
#
|
|
4801
|
-
# Returns the Teams channels alerts
|
|
4802
|
-
#
|
|
4981
|
+
# Returns the Teams channels alerts can be routed to. Which alerts reach
|
|
4982
|
+
# each one is decided by /alert-rules. Webhook URLs are never included.
|
|
4803
4983
|
#
|
|
4804
4984
|
# GET /api/org/{orgId}/msteams/status
|
|
4805
4985
|
#
|
|
@@ -4819,9 +4999,9 @@ module Infrawrench
|
|
|
4819
4999
|
|
|
4820
5000
|
# Post a test card to every configured Teams channel
|
|
4821
5001
|
#
|
|
4822
|
-
# Ignores
|
|
4823
|
-
#
|
|
4824
|
-
#
|
|
5002
|
+
# Ignores routing rules — every channel gets the test. Fails with the error
|
|
5003
|
+
# Microsoft returned when nothing could be delivered (HTTP 404 usually means
|
|
5004
|
+
# the Workflow was deleted or turned off).
|
|
4825
5005
|
#
|
|
4826
5006
|
# POST /api/org/{orgId}/msteams/test
|
|
4827
5007
|
#
|
|
@@ -7326,10 +7506,13 @@ module Infrawrench
|
|
|
7326
7506
|
@transport = transport
|
|
7327
7507
|
end
|
|
7328
7508
|
|
|
7329
|
-
#
|
|
7509
|
+
# Connect a Slack channel as an alert destination
|
|
7330
7510
|
#
|
|
7331
|
-
# Adds a channel, or
|
|
7332
|
-
#
|
|
7511
|
+
# Adds a channel as a possible destination, or refreshes the cached name of
|
|
7512
|
+
# one already added. Which alerts reach it is decided by /alert-rules; an
|
|
7513
|
+
# organization with no rules falls back to the default (everything except
|
|
7514
|
+
# drift, everywhere), so a freshly added channel starts receiving alerts
|
|
7515
|
+
# without a second step.
|
|
7333
7516
|
#
|
|
7334
7517
|
# POST /api/org/{orgId}/slack/channels
|
|
7335
7518
|
#
|
|
@@ -7353,7 +7536,7 @@ module Infrawrench
|
|
|
7353
7536
|
)
|
|
7354
7537
|
end
|
|
7355
7538
|
|
|
7356
|
-
#
|
|
7539
|
+
# Disconnect a channel
|
|
7357
7540
|
#
|
|
7358
7541
|
# DELETE /api/org/{orgId}/slack/channels/{id}
|
|
7359
7542
|
#
|
|
@@ -7374,7 +7557,7 @@ module Infrawrench
|
|
|
7374
7557
|
)
|
|
7375
7558
|
end
|
|
7376
7559
|
|
|
7377
|
-
#
|
|
7560
|
+
# Refresh a channel's cached name
|
|
7378
7561
|
#
|
|
7379
7562
|
# PATCH /api/org/{orgId}/slack/channels/{id}
|
|
7380
7563
|
#
|
|
@@ -7518,9 +7701,9 @@ module Infrawrench
|
|
|
7518
7701
|
|
|
7519
7702
|
# Post a test message to every configured channel
|
|
7520
7703
|
#
|
|
7521
|
-
# Ignores
|
|
7522
|
-
#
|
|
7523
|
-
#
|
|
7704
|
+
# Ignores routing rules — every channel gets the test. Fails with the Slack
|
|
7705
|
+
# error when nothing could be delivered (`not_in_channel` means the bot
|
|
7706
|
+
# needs inviting to a private channel).
|
|
7524
7707
|
#
|
|
7525
7708
|
# POST /api/org/{orgId}/slack/test
|
|
7526
7709
|
#
|
|
@@ -9039,6 +9222,8 @@ module Infrawrench
|
|
|
9039
9222
|
attr_reader :accounts
|
|
9040
9223
|
# @return [AgentsNamespace] `client.agents`
|
|
9041
9224
|
attr_reader :agents
|
|
9225
|
+
# @return [AlertRulesNamespace] `client.alert_rules`
|
|
9226
|
+
attr_reader :alert_rules
|
|
9042
9227
|
# @return [ApiKeysNamespace] `client.api_keys`
|
|
9043
9228
|
attr_reader :api_keys
|
|
9044
9229
|
# @return [ArtifactsNamespace] `client.artifacts`
|
|
@@ -9160,6 +9345,7 @@ module Infrawrench
|
|
|
9160
9345
|
@access_requests = AccessRequestsNamespace.new(@transport)
|
|
9161
9346
|
@accounts = AccountsNamespace.new(@transport)
|
|
9162
9347
|
@agents = AgentsNamespace.new(@transport)
|
|
9348
|
+
@alert_rules = AlertRulesNamespace.new(@transport)
|
|
9163
9349
|
@api_keys = ApiKeysNamespace.new(@transport)
|
|
9164
9350
|
@artifacts = ArtifactsNamespace.new(@transport)
|
|
9165
9351
|
@associations = AssociationsNamespace.new(@transport)
|
data/lib/infrawrench/sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk
|
|
3
|
+
# infrawrench-sdk v1.0.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.0.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
|
|
3
|
+
# infrawrench-sdk v1.0.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.0.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
|
|
3
|
+
# infrawrench-sdk v1.0.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.0.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
# Kept in its own file so the gemspec can read the version without loading the
|
|
16
16
|
# client — a gemspec that pulls in net/http is a gemspec that can fail to parse.
|
|
17
17
|
module Infrawrench
|
|
18
|
-
VERSION = "0.
|
|
18
|
+
VERSION = "1.0.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
|
|
3
|
+
# infrawrench-sdk v1.0.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
4
4
|
# https://github.com/Infrawrench/Infrawrench
|
|
5
5
|
#
|
|
6
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.0.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
|
|
1
|
+
# infrawrench-sdk v1.0.0 | MIT | Copyright (c) 2026 Infrawrench LLC
|
|
2
2
|
# https://github.com/Infrawrench/Infrawrench
|
|
3
3
|
#
|
|
4
|
-
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.
|
|
4
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.0.0).
|
|
5
5
|
#
|
|
6
6
|
# DO NOT EDIT. Regenerate with:
|
|
7
7
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -230,6 +230,101 @@ module Infrawrench
|
|
|
230
230
|
"hiddenFieldKeys" => Array[String]
|
|
231
231
|
}
|
|
232
232
|
|
|
233
|
+
# One clause of a rule. A rule matches when every condition matches; 'or' is
|
|
234
|
+
# expressed by writing a second rule. A condition on a fact the alert does not
|
|
235
|
+
# carry never matches — in either direction, so `accountId notIn [x]` does not
|
|
236
|
+
# match an alert with no account.
|
|
237
|
+
#
|
|
238
|
+
# Spec schema: `AlertCondition`.
|
|
239
|
+
type alert_condition = { "field" => "trigger", "op" => "in" | "notIn", "values" => Array[alert_trigger] }
|
|
240
|
+
| { "field" => "severity", "op" => "gte" | "eq", "severity" => alert_severity }
|
|
241
|
+
| { "field" => "accountId", "op" => "in" | "notIn", "values" => Array[String] }
|
|
242
|
+
| { "field" => "pluginId", "op" => "in" | "notIn", "values" => Array[String] }
|
|
243
|
+
| { "field" => "resourceTypeId", "op" => "in" | "notIn", "values" => Array[String] }
|
|
244
|
+
| { "field" => "amountCents", "op" => "gte" | "lt", "cents" => Integer }
|
|
245
|
+
| { "field" => "key", "op" => "contains" | "notContains" | "eq", "value" => String }
|
|
246
|
+
| { "field" => "text", "op" => "contains" | "notContains", "value" => String }
|
|
247
|
+
|
|
248
|
+
# Spec schema: `AlertDelivery`.
|
|
249
|
+
type alert_delivery = {
|
|
250
|
+
"id" => String,
|
|
251
|
+
"trigger" => alert_trigger,
|
|
252
|
+
"severity" => alert_severity,
|
|
253
|
+
"title" => String,
|
|
254
|
+
"body" => String,
|
|
255
|
+
"ruleName" => String | nil,
|
|
256
|
+
"state" => "held" | "awaiting_ack" | "sent" | "acknowledged" | "escalated" | "expired",
|
|
257
|
+
"createdAt" => String,
|
|
258
|
+
"deliverAfter" => String | nil,
|
|
259
|
+
"escalateAt" => String | nil,
|
|
260
|
+
"acknowledgedAt" => String | nil,
|
|
261
|
+
"acknowledgedByUserId" => String | nil
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
# One place a matched alert goes. `push` reaches the organization's phones,
|
|
265
|
+
# still filtered by each member's own mutes — an organization rule decides
|
|
266
|
+
# whether the org is told, a member decides whether their phone rings.
|
|
267
|
+
#
|
|
268
|
+
# Spec schema: `AlertDestination`.
|
|
269
|
+
type alert_destination = { "kind" => "push" }
|
|
270
|
+
| { "kind" => "slack", "channelId" => String }
|
|
271
|
+
| { "kind" => "msteams", "webhookId" => String }
|
|
272
|
+
|
|
273
|
+
# Spec schema: `AlertRule`.
|
|
274
|
+
type alert_rule = {
|
|
275
|
+
"id" => String,
|
|
276
|
+
"name" => String,
|
|
277
|
+
"enabled" => bool,
|
|
278
|
+
"position" => Integer,
|
|
279
|
+
"conditions" => Array[alert_condition],
|
|
280
|
+
"destinations" => Array[alert_destination],
|
|
281
|
+
"continueOnMatch" => bool,
|
|
282
|
+
"quietHours" => quiet_hours,
|
|
283
|
+
"escalation" => escalation_policy
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
# Spec schema: `AlertRuleInput`.
|
|
287
|
+
type alert_rule_input = {
|
|
288
|
+
?"id" => String,
|
|
289
|
+
"name" => String,
|
|
290
|
+
?"enabled" => bool,
|
|
291
|
+
?"conditions" => Array[alert_condition],
|
|
292
|
+
?"destinations" => Array[alert_destination],
|
|
293
|
+
?"continueOnMatch" => bool,
|
|
294
|
+
?"quietHours" => quiet_hours,
|
|
295
|
+
?"escalation" => escalation_policy
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
# Spec schema: `AlertRulesResponse`.
|
|
299
|
+
type alert_rules_response = {
|
|
300
|
+
"rules" => Array[alert_rule],
|
|
301
|
+
"usingDefaults" => bool,
|
|
302
|
+
"slackChannels" => Array[{ "id" => String, "name" => String, "isPrivate" => bool }],
|
|
303
|
+
"msTeamsWebhooks" => Array[{ "id" => String, "label" => String }],
|
|
304
|
+
"accounts" => Array[{ "id" => String, "displayName" => String, "pluginId" => String }]
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
# Alert severity, ordered info < warning < critical.
|
|
308
|
+
#
|
|
309
|
+
# Spec schema: `AlertSeverity`.
|
|
310
|
+
type alert_severity = "info" | "warning" | "critical"
|
|
311
|
+
|
|
312
|
+
# A kind of alert that can be routed.
|
|
313
|
+
#
|
|
314
|
+
# Spec schema: `AlertTrigger`.
|
|
315
|
+
type alert_trigger = "syncIncidents"
|
|
316
|
+
| "budgetAlerts"
|
|
317
|
+
| "anomalyAlerts"
|
|
318
|
+
| "metricAlerts"
|
|
319
|
+
| "resourceDrift"
|
|
320
|
+
| "workflowPages"
|
|
321
|
+
| "providerIncidents"
|
|
322
|
+
| "expiryAlerts"
|
|
323
|
+
| "logMatchAlerts"
|
|
324
|
+
| "postureAlerts"
|
|
325
|
+
| "probeAlerts"
|
|
326
|
+
| "weeklyDigest"
|
|
327
|
+
|
|
233
328
|
# Spec schema: `AllocationRule`.
|
|
234
329
|
type allocation_rule = {
|
|
235
330
|
"id" => String,
|
|
@@ -1332,6 +1427,13 @@ module Infrawrench
|
|
|
1332
1427
|
# Spec schema: `Error`.
|
|
1333
1428
|
type error = { "error" => String }
|
|
1334
1429
|
|
|
1430
|
+
# Notify these destinations too if nobody acknowledges within afterMinutes.
|
|
1431
|
+
# Acknowledgement comes from the button on the Slack message, so an alert
|
|
1432
|
+
# routed only to Teams or push will always escalate.
|
|
1433
|
+
#
|
|
1434
|
+
# Spec schema: `EscalationPolicy`.
|
|
1435
|
+
type escalation_policy = { "afterMinutes" => Integer, "destinations" => Array[alert_destination] } | nil
|
|
1436
|
+
|
|
1335
1437
|
# Spec schema: `ExpiryAlertSettings`.
|
|
1336
1438
|
type expiry_alert_settings = { "enabled" => bool, "leadDays" => Integer, "lastNotifiedAt" => String | nil }
|
|
1337
1439
|
|
|
@@ -1810,58 +1912,13 @@ module Infrawrench
|
|
|
1810
1912
|
type ms_teams_status = { "webhooks" => Array[ms_teams_webhook] }
|
|
1811
1913
|
|
|
1812
1914
|
# Spec schema: `MsTeamsWebhook`.
|
|
1813
|
-
type ms_teams_webhook = {
|
|
1814
|
-
"id" => String,
|
|
1815
|
-
"label" => String,
|
|
1816
|
-
"urlHint" => String,
|
|
1817
|
-
"syncIncidents" => bool,
|
|
1818
|
-
"budgetAlerts" => bool,
|
|
1819
|
-
"anomalyAlerts" => bool,
|
|
1820
|
-
"metricAlerts" => bool,
|
|
1821
|
-
"resourceDrift" => bool,
|
|
1822
|
-
"workflowPages" => bool,
|
|
1823
|
-
"providerIncidents" => bool,
|
|
1824
|
-
"expiryAlerts" => bool,
|
|
1825
|
-
"logMatchAlerts" => bool,
|
|
1826
|
-
"postureAlerts" => bool,
|
|
1827
|
-
"probeAlerts" => bool,
|
|
1828
|
-
"weeklyDigest" => bool
|
|
1829
|
-
}
|
|
1915
|
+
type ms_teams_webhook = { "id" => String, "label" => String, "urlHint" => String }
|
|
1830
1916
|
|
|
1831
1917
|
# Spec schema: `MsTeamsWebhookCreate`.
|
|
1832
|
-
type ms_teams_webhook_create = {
|
|
1833
|
-
"label" => String,
|
|
1834
|
-
"url" => String,
|
|
1835
|
-
?"syncIncidents" => bool,
|
|
1836
|
-
?"budgetAlerts" => bool,
|
|
1837
|
-
?"anomalyAlerts" => bool,
|
|
1838
|
-
?"metricAlerts" => bool,
|
|
1839
|
-
?"resourceDrift" => bool,
|
|
1840
|
-
?"workflowPages" => bool,
|
|
1841
|
-
?"providerIncidents" => bool,
|
|
1842
|
-
?"expiryAlerts" => bool,
|
|
1843
|
-
?"logMatchAlerts" => bool,
|
|
1844
|
-
?"postureAlerts" => bool,
|
|
1845
|
-
?"probeAlerts" => bool,
|
|
1846
|
-
?"weeklyDigest" => bool
|
|
1847
|
-
}
|
|
1918
|
+
type ms_teams_webhook_create = { "label" => String, "url" => String }
|
|
1848
1919
|
|
|
1849
1920
|
# Spec schema: `MsTeamsWebhookUpdate`.
|
|
1850
|
-
type ms_teams_webhook_update = {
|
|
1851
|
-
?"label" => String,
|
|
1852
|
-
?"syncIncidents" => bool,
|
|
1853
|
-
?"budgetAlerts" => bool,
|
|
1854
|
-
?"anomalyAlerts" => bool,
|
|
1855
|
-
?"metricAlerts" => bool,
|
|
1856
|
-
?"resourceDrift" => bool,
|
|
1857
|
-
?"workflowPages" => bool,
|
|
1858
|
-
?"providerIncidents" => bool,
|
|
1859
|
-
?"expiryAlerts" => bool,
|
|
1860
|
-
?"logMatchAlerts" => bool,
|
|
1861
|
-
?"postureAlerts" => bool,
|
|
1862
|
-
?"probeAlerts" => bool,
|
|
1863
|
-
?"weeklyDigest" => bool
|
|
1864
|
-
}
|
|
1921
|
+
type ms_teams_webhook_update = { "label" => String }
|
|
1865
1922
|
|
|
1866
1923
|
# Spec schema: `NoSqlCommandRequest`.
|
|
1867
1924
|
type no_sql_command_request = {
|
|
@@ -2460,6 +2517,19 @@ module Infrawrench
|
|
|
2460
2517
|
?"accountId" => String
|
|
2461
2518
|
}
|
|
2462
2519
|
|
|
2520
|
+
# A recurring local-time window during which the rule holds its alerts. Held,
|
|
2521
|
+
# not dropped — a held alert is queued and delivered when the window closes.
|
|
2522
|
+
#
|
|
2523
|
+
# Spec schema: `QuietHours`.
|
|
2524
|
+
type quiet_hours = {
|
|
2525
|
+
"timezone" => String,
|
|
2526
|
+
"startMinute" => Integer,
|
|
2527
|
+
"endMinute" => Integer,
|
|
2528
|
+
"days" => Array[Integer],
|
|
2529
|
+
"urgentOverride" => alert_severity & (String | nil)
|
|
2530
|
+
}
|
|
2531
|
+
| nil
|
|
2532
|
+
|
|
2463
2533
|
# Spec schema: `ReauthenticationRequired`.
|
|
2464
2534
|
type reauthentication_required = { "error" => String, "code" => "reauthentication_required" }
|
|
2465
2535
|
|
|
@@ -3267,19 +3337,7 @@ module Infrawrench
|
|
|
3267
3337
|
"installationId" => String,
|
|
3268
3338
|
"channelId" => String,
|
|
3269
3339
|
"channelName" => String,
|
|
3270
|
-
"isPrivate" => bool
|
|
3271
|
-
"syncIncidents" => bool,
|
|
3272
|
-
"budgetAlerts" => bool,
|
|
3273
|
-
"anomalyAlerts" => bool,
|
|
3274
|
-
"metricAlerts" => bool,
|
|
3275
|
-
"resourceDrift" => bool,
|
|
3276
|
-
"workflowPages" => bool,
|
|
3277
|
-
"providerIncidents" => bool,
|
|
3278
|
-
"expiryAlerts" => bool,
|
|
3279
|
-
"logMatchAlerts" => bool,
|
|
3280
|
-
"postureAlerts" => bool,
|
|
3281
|
-
"probeAlerts" => bool,
|
|
3282
|
-
"weeklyDigest" => bool
|
|
3340
|
+
"isPrivate" => bool
|
|
3283
3341
|
}
|
|
3284
3342
|
|
|
3285
3343
|
# Spec schema: `SlackChannelCreate`.
|
|
@@ -3287,36 +3345,11 @@ module Infrawrench
|
|
|
3287
3345
|
"installationId" => String,
|
|
3288
3346
|
"channelId" => String,
|
|
3289
3347
|
"channelName" => String,
|
|
3290
|
-
?"isPrivate" => bool
|
|
3291
|
-
?"syncIncidents" => bool,
|
|
3292
|
-
?"budgetAlerts" => bool,
|
|
3293
|
-
?"anomalyAlerts" => bool,
|
|
3294
|
-
?"metricAlerts" => bool,
|
|
3295
|
-
?"resourceDrift" => bool,
|
|
3296
|
-
?"workflowPages" => bool,
|
|
3297
|
-
?"providerIncidents" => bool,
|
|
3298
|
-
?"expiryAlerts" => bool,
|
|
3299
|
-
?"logMatchAlerts" => bool,
|
|
3300
|
-
?"postureAlerts" => bool,
|
|
3301
|
-
?"probeAlerts" => bool,
|
|
3302
|
-
?"weeklyDigest" => bool
|
|
3348
|
+
?"isPrivate" => bool
|
|
3303
3349
|
}
|
|
3304
3350
|
|
|
3305
3351
|
# Spec schema: `SlackChannelUpdate`.
|
|
3306
|
-
type slack_channel_update = {
|
|
3307
|
-
?"syncIncidents" => bool,
|
|
3308
|
-
?"budgetAlerts" => bool,
|
|
3309
|
-
?"anomalyAlerts" => bool,
|
|
3310
|
-
?"metricAlerts" => bool,
|
|
3311
|
-
?"resourceDrift" => bool,
|
|
3312
|
-
?"workflowPages" => bool,
|
|
3313
|
-
?"providerIncidents" => bool,
|
|
3314
|
-
?"expiryAlerts" => bool,
|
|
3315
|
-
?"logMatchAlerts" => bool,
|
|
3316
|
-
?"postureAlerts" => bool,
|
|
3317
|
-
?"probeAlerts" => bool,
|
|
3318
|
-
?"weeklyDigest" => bool
|
|
3319
|
-
}
|
|
3352
|
+
type slack_channel_update = { "channelName" => String }
|
|
3320
3353
|
|
|
3321
3354
|
# Spec schema: `SlackInstallation`.
|
|
3322
3355
|
type slack_installation = { "id" => String, "teamId" => String, "teamName" => String | nil }
|
|
@@ -3937,6 +3970,21 @@ module Infrawrench
|
|
|
3937
3970
|
def accounts: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[agent_vm_account]
|
|
3938
3971
|
end
|
|
3939
3972
|
|
|
3973
|
+
class AlertRulesDeliveriesNamespace
|
|
3974
|
+
def initialize: (Transport) -> void
|
|
3975
|
+
def ack: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "acknowledged" => bool, ?"alreadyAcknowledgedBy" => String | nil, ?"reason" => "not_pending" | "already_escalated" | "already_acknowledged", ?"title" => String }
|
|
3976
|
+
def cancel: (?org_id: String?, ?body: { "ids" => Array[String] }?, ?request_options: Hash[Symbol, untyped]?) -> { "cancelled" => Integer }
|
|
3977
|
+
def list: (?org_id: String?, ?limit: Integer?, ?request_options: Hash[Symbol, untyped]?) -> Array[alert_delivery]
|
|
3978
|
+
end
|
|
3979
|
+
|
|
3980
|
+
class AlertRulesNamespace
|
|
3981
|
+
attr_reader deliveries: AlertRulesDeliveriesNamespace
|
|
3982
|
+
def initialize: (Transport) -> void
|
|
3983
|
+
def adopt_defaults: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "rules" => Array[alert_rule], "adopted" => bool }
|
|
3984
|
+
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> alert_rules_response
|
|
3985
|
+
def update: (?org_id: String?, ?body: { "rules" => Array[alert_rule_input] }?, ?request_options: Hash[Symbol, untyped]?) -> { "rules" => Array[alert_rule] }
|
|
3986
|
+
end
|
|
3987
|
+
|
|
3940
3988
|
class ApiKeysNamespace
|
|
3941
3989
|
def initialize: (Transport) -> void
|
|
3942
3990
|
def create: (body: create_api_key_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> created_api_key
|
|
@@ -4577,6 +4625,7 @@ module Infrawrench
|
|
|
4577
4625
|
attr_reader access_requests: AccessRequestsNamespace
|
|
4578
4626
|
attr_reader accounts: AccountsNamespace
|
|
4579
4627
|
attr_reader agents: AgentsNamespace
|
|
4628
|
+
attr_reader alert_rules: AlertRulesNamespace
|
|
4580
4629
|
attr_reader api_keys: ApiKeysNamespace
|
|
4581
4630
|
attr_reader artifacts: ArtifactsNamespace
|
|
4582
4631
|
attr_reader associations: AssociationsNamespace
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: infrawrench-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.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-08 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
|
-
description: Generated Ruby client for the Infrawrench API (
|
|
14
|
+
description: Generated Ruby client for the Infrawrench API (v1.0.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 (
|
|
61
|
+
summary: Generated Ruby client for the Infrawrench API (v1.0.0).
|
|
62
62
|
test_files: []
|