infrawrench-sdk 1.77.0 → 1.78.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab0a40192266e73aeaa16ef58815681b52185e6dee4ca5c00af859785acb9ce9
4
- data.tar.gz: 302e42dd303dd17ab94cb5601c698c384c2960b9e1cc289807c399b9db52955d
3
+ metadata.gz: 66f9369a4c176169b943dc1f589894f5d0724b313850746a4c233f79634773e6
4
+ data.tar.gz: 175542421b759c6316f37d844d878981d4b08812bb43c358954a6c1dd38255ce
5
5
  SHA512:
6
- metadata.gz: fa993b4dd311c8ab813ca71383eb8be7b0f4d69b012351b47e38c42441da0685d55849db440029822900830d0d06773f636c264d50ac616eb724f798bae52ad8
7
- data.tar.gz: 875ed1e3e5697713071a6db73bc5ae07958892858316d3b28e1fd2477a90c3e7c00b1a0376291a2c6eb0cef0154e43249191c82367be55fd52adf2b295de6769
6
+ metadata.gz: 1e7a82308e87751209e169cbcac6969a9a8e6b6f1df2e110ca78b67b1ea02496380329f52f5371b0e0470779f53a63a3f6fac8ced2ea2acd90c34f7aa563ca9e
7
+ data.tar.gz: 4b54f920b46f4d691cafee4708b35afd3cb99ebd40053ecd38518dec4254a9b19c47fdb923187c3b5073c0d7351186460ec96691bf145b671b6e4d318cbe9565
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.77.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.78.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
- 954 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 964 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 —
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.77.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.78.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.77.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.78.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.77.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.77.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
20
+ spec.summary = "Generated Ruby client for the Infrawrench API (v1.78.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.78.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"
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.77.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.78.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.77.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.78.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -4885,9 +4885,9 @@ module Infrawrench
4885
4885
  # Export the organization's configuration as one document
4886
4886
  #
4887
4887
  # Dashboards, workflows, custom graphs, budgets, metric alerts, synthetic
4888
- # probes, cost centres, the tag policy and the org-wide alert settings,
4889
- # addressed by stable keys rather than row ids so the result applies to any
4890
- # organization.
4888
+ # probes, SLOs, cost centres, the tag policy and the org-wide alert
4889
+ # settings, addressed by stable keys rather than row ids so the result
4890
+ # applies to any organization.
4891
4891
  #
4892
4892
  # Credentials, accounts, resources and workflow signing secrets are never
4893
4893
  # included. Ordering is stable, so re-exporting an unchanged organization
@@ -4908,8 +4908,8 @@ module Infrawrench
4908
4908
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
4909
4909
  # constructed with.
4910
4910
  # @param sections [String, nil] Comma-separated subset of sections to export. Defaults to
4911
- # all of: budgets, customGraphs, workflows, dashboards, metricAlerts, probes, costCentres,
4912
- # tagPolicy, alertSettings.
4911
+ # all of: budgets, customGraphs, workflows, dashboards, metricAlerts, probes, slos,
4912
+ # costCentres, tagPolicy, alertSettings.
4913
4913
  # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
4914
4914
  # @return [Hash] Parsed JSON, shaped as `OrgConfigDocument` — see `sig/infrawrench/sdk.rbs`.
4915
4915
  # @raise [Infrawrench::ApiError] On any non-2xx response.
@@ -19699,6 +19699,225 @@ module Infrawrench
19699
19699
  end
19700
19700
  end
19701
19701
 
19702
+ # `client.slos.get`
19703
+ class SlosGetNamespace
19704
+ # @api private
19705
+ # @param transport [Transport]
19706
+ def initialize(transport)
19707
+ @transport = transport
19708
+ end
19709
+
19710
+ # List SLOs
19711
+ #
19712
+ # Every service-level objective with its last snapshot: SLI, error budget
19713
+ # remaining (as a fraction and in minutes) and burn rates over the alerting
19714
+ # windows.
19715
+ #
19716
+ # _Requires permission: `resources:read`._
19717
+ #
19718
+ # GET /api/org/{orgId}/slos
19719
+ #
19720
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
19721
+ # constructed with.
19722
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
19723
+ # @return [Hash] Parsed JSON, shaped as `SloList` — see `sig/infrawrench/sdk.rbs`.
19724
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
19725
+ def get(org_id: nil, request_options: nil)
19726
+ @transport.request(
19727
+ http_method: "GET",
19728
+ path: "/api/org/{orgId}/slos",
19729
+ path_params: { "orgId" => org_id },
19730
+ request_options: request_options
19731
+ )
19732
+ end
19733
+
19734
+ # Read an SLO with its history
19735
+ #
19736
+ # The SLO plus hourly good/total buckets over its window (the SLI and
19737
+ # budget-burndown charts are drawn from these) and the change freeze in
19738
+ # effect, if any.
19739
+ #
19740
+ # _Requires permission: `resources:read`._
19741
+ #
19742
+ # GET /api/org/{orgId}/slos/{sloId}
19743
+ #
19744
+ # Raises on 404: Not found
19745
+ #
19746
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
19747
+ # constructed with.
19748
+ # @param slo_id [String]
19749
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
19750
+ # @return [Hash] Parsed JSON, shaped as `SloDetail` — see `sig/infrawrench/sdk.rbs`.
19751
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
19752
+ def get_org_org_id_slos_slo_id(slo_id:, org_id: nil, request_options: nil)
19753
+ @transport.request(
19754
+ http_method: "GET",
19755
+ path: "/api/org/{orgId}/slos/{sloId}",
19756
+ path_params: { "orgId" => org_id, "sloId" => slo_id },
19757
+ request_options: request_options
19758
+ )
19759
+ end
19760
+ end
19761
+
19762
+ # `client.slos`
19763
+ class SlosNamespace
19764
+ # @return [SlosGetNamespace] `client.slos.get`
19765
+ attr_reader :get
19766
+
19767
+ # @api private
19768
+ # @param transport [Transport]
19769
+ def initialize(transport)
19770
+ @transport = transport
19771
+ @get = SlosGetNamespace.new(@transport)
19772
+ end
19773
+
19774
+ # Create an SLO
19775
+ #
19776
+ # Out-of-range inputs are rejected, not clamped. The source must exist in
19777
+ # the organization. The first evaluation runs within one poller tick.
19778
+ # Audit-logged.
19779
+ #
19780
+ # _Requires permission: `resources:write`._
19781
+ #
19782
+ # POST /api/org/{orgId}/slos
19783
+ #
19784
+ # Raises on 400: Bad request
19785
+ #
19786
+ # Raises on 404: Not found
19787
+ #
19788
+ # Raises on 409: Conflict
19789
+ #
19790
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
19791
+ # constructed with.
19792
+ # @param body [Hash, nil] Request body, shaped as `SloCreate`.
19793
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
19794
+ # @return [Hash] Parsed JSON, shaped as `Slo` — see `sig/infrawrench/sdk.rbs`.
19795
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
19796
+ def create(org_id: nil, body: nil, request_options: nil)
19797
+ @transport.request(
19798
+ http_method: "POST",
19799
+ path: "/api/org/{orgId}/slos",
19800
+ path_params: { "orgId" => org_id },
19801
+ body: body,
19802
+ request_options: request_options
19803
+ )
19804
+ end
19805
+
19806
+ # Delete an SLO
19807
+ #
19808
+ # The measured series are untouched. Audit-logged.
19809
+ #
19810
+ # _Requires permission: `resources:write`._
19811
+ #
19812
+ # DELETE /api/org/{orgId}/slos/{sloId}
19813
+ #
19814
+ # Raises on 404: Not found
19815
+ #
19816
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
19817
+ # constructed with.
19818
+ # @param slo_id [String]
19819
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
19820
+ # @return [nil] This endpoint returns no content.
19821
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
19822
+ def delete(slo_id:, org_id: nil, request_options: nil)
19823
+ @transport.request(
19824
+ http_method: "DELETE",
19825
+ path: "/api/org/{orgId}/slos/{sloId}",
19826
+ path_params: { "orgId" => org_id, "sloId" => slo_id },
19827
+ accept: :empty,
19828
+ request_options: request_options
19829
+ )
19830
+ end
19831
+
19832
+ # Start a change freeze for an SLO
19833
+ #
19834
+ # Acts on the freeze suggestion an exhausted budget makes: creates an
19835
+ # ordinary change freeze named after the SLO, listed and ended like any
19836
+ # other. Needs `freezes:write`.
19837
+ #
19838
+ # _Requires permission: `freezes:write`._
19839
+ #
19840
+ # POST /api/org/{orgId}/slos/{sloId}/freeze
19841
+ #
19842
+ # Raises on 400: Bad request
19843
+ #
19844
+ # Raises on 404: Not found
19845
+ #
19846
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
19847
+ # constructed with.
19848
+ # @param slo_id [String]
19849
+ # @param body [Hash, nil] Request body, shaped as `SloFreezeRequest`.
19850
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
19851
+ # @return [Hash] Parsed JSON, shaped as `SloActiveFreeze & Hash` — see
19852
+ # `sig/infrawrench/sdk.rbs`.
19853
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
19854
+ def post_org_org_id_slos_slo_id_freeze(slo_id:, org_id: nil, body: nil, request_options: nil)
19855
+ @transport.request(
19856
+ http_method: "POST",
19857
+ path: "/api/org/{orgId}/slos/{sloId}/freeze",
19858
+ path_params: { "orgId" => org_id, "sloId" => slo_id },
19859
+ body: body,
19860
+ request_options: request_options
19861
+ )
19862
+ end
19863
+
19864
+ # List what an SLO can be measured from
19865
+ #
19866
+ # Every synthetic probe, and every synced resource that reported a metric
19867
+ # series in the last week with the series it reported. Feeds the editor's
19868
+ # pickers.
19869
+ #
19870
+ # _Requires permission: `resources:read`._
19871
+ #
19872
+ # GET /api/org/{orgId}/slos/sources
19873
+ #
19874
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
19875
+ # constructed with.
19876
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
19877
+ # @return [Hash] Parsed JSON, shaped as `SloSources` — see `sig/infrawrench/sdk.rbs`.
19878
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
19879
+ def sources(org_id: nil, request_options: nil)
19880
+ @transport.request(
19881
+ http_method: "GET",
19882
+ path: "/api/org/{orgId}/slos/sources",
19883
+ path_params: { "orgId" => org_id },
19884
+ request_options: request_options
19885
+ )
19886
+ end
19887
+
19888
+ # Update an SLO
19889
+ #
19890
+ # Omitted fields keep their value. Changing the source, target or window
19891
+ # resets the snapshot and the alert state. Audit-logged.
19892
+ #
19893
+ # _Requires permission: `resources:write`._
19894
+ #
19895
+ # PUT /api/org/{orgId}/slos/{sloId}
19896
+ #
19897
+ # Raises on 400: Bad request
19898
+ #
19899
+ # Raises on 404: Not found
19900
+ #
19901
+ # Raises on 409: Conflict
19902
+ #
19903
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
19904
+ # constructed with.
19905
+ # @param slo_id [String]
19906
+ # @param body [Hash, nil] Request body, shaped as `SloUpdate`.
19907
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
19908
+ # @return [Hash] Parsed JSON, shaped as `Slo` — see `sig/infrawrench/sdk.rbs`.
19909
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
19910
+ def update(slo_id:, org_id: nil, body: nil, request_options: nil)
19911
+ @transport.request(
19912
+ http_method: "PUT",
19913
+ path: "/api/org/{orgId}/slos/{sloId}",
19914
+ path_params: { "orgId" => org_id, "sloId" => slo_id },
19915
+ body: body,
19916
+ request_options: request_options
19917
+ )
19918
+ end
19919
+ end
19920
+
19702
19921
  # `client.sql`
19703
19922
  class SqlNamespace
19704
19923
  # @api private
@@ -22013,6 +22232,8 @@ module Infrawrench
22013
22232
  attr_reader :sharing
22014
22233
  # @return [SlackNamespace] `client.slack`
22015
22234
  attr_reader :slack
22235
+ # @return [SlosNamespace] `client.slos`
22236
+ attr_reader :slos
22016
22237
  # @return [SqlNamespace] `client.sql`
22017
22238
  attr_reader :sql
22018
22239
  # @return [SshFanoutNamespace] `client.ssh_fanout`
@@ -22150,6 +22371,7 @@ module Infrawrench
22150
22371
  @shared_consoles = SharedConsolesNamespace.new(@transport)
22151
22372
  @sharing = SharingNamespace.new(@transport)
22152
22373
  @slack = SlackNamespace.new(@transport)
22374
+ @slos = SlosNamespace.new(@transport)
22153
22375
  @sql = SqlNamespace.new(@transport)
22154
22376
  @ssh_fanout = SshFanoutNamespace.new(@transport)
22155
22377
  @ssh_keys = SshKeysNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.77.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.78.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.77.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.78.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.77.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.78.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.77.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.78.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.77.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.78.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.77.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.78.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.77.0"
18
+ VERSION = "1.78.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.77.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.78.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.77.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.78.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1,7 +1,7 @@
1
- # infrawrench-sdk v1.77.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.78.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.77.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.78.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -704,6 +704,7 @@ module Infrawrench
704
704
  | "logMatchAlerts"
705
705
  | "postureAlerts"
706
706
  | "probeAlerts"
707
+ | "sloAlerts"
707
708
  | "quotaAlerts"
708
709
  | "extendedSupportAlerts"
709
710
  | "incidentAlerts"
@@ -6521,6 +6522,7 @@ module Infrawrench
6521
6522
  ?"dashboards" => Array[org_config_dashboard],
6522
6523
  ?"metricAlerts" => Array[org_config_metric_alert],
6523
6524
  ?"probes" => Array[org_config_probe],
6525
+ ?"slos" => Array[org_config_slo],
6524
6526
  ?"costCentres" => Array[org_config_cost_centre],
6525
6527
  ?"tagPolicy" => {
6526
6528
  "requiredTags" => Array[{ "key" => String, ?"allowedValues" => Array[String] }],
@@ -6575,10 +6577,35 @@ module Infrawrench
6575
6577
  | "dashboards"
6576
6578
  | "metricAlerts"
6577
6579
  | "probes"
6580
+ | "slos"
6578
6581
  | "costCentres"
6579
6582
  | "tagPolicy"
6580
6583
  | "alertSettings"
6581
6584
 
6585
+ # Spec schema: `OrgConfigSlo`.
6586
+ type org_config_slo = {
6587
+ "key" => String,
6588
+ "name" => String,
6589
+ ?"description" => String | nil,
6590
+ "sliKind" => "probe_availability" | "probe_latency" | "metric_threshold",
6591
+ ?"probeKey" => String,
6592
+ ?"latencyThresholdMs" => Integer,
6593
+ ?"resource" => {
6594
+ "pluginId" => String,
6595
+ "resourceTypeId" => String,
6596
+ "externalId" => String,
6597
+ "account" => String
6598
+ },
6599
+ ?"metricKey" => String,
6600
+ ?"comparator" => "<" | "<=" | ">" | ">=",
6601
+ ?"threshold" => Numeric,
6602
+ "targetPercent" => Numeric,
6603
+ ?"windowDays" => Numeric | Numeric | Numeric,
6604
+ ?"alertsEnabled" => bool,
6605
+ ?"suggestFreeze" => bool,
6606
+ ?"enabled" => bool
6607
+ }
6608
+
6582
6609
  # Something the document asked for that this organization could not satisfy; a
6583
6610
  # pin for a resource nobody has synced, an account name that does not exist
6584
6611
  # here. Not fatal: the affected card, clause or deletion is dropped and the
@@ -10140,6 +10167,110 @@ module Infrawrench
10140
10167
  ?"paused" => bool
10141
10168
  }
10142
10169
 
10170
+ # Spec schema: `Slo`.
10171
+ type slo = {
10172
+ "id" => String,
10173
+ "name" => String,
10174
+ "description" => String | nil,
10175
+ "targetPercent" => Numeric,
10176
+ "windowDays" => Numeric | Numeric | Numeric,
10177
+ "alertsEnabled" => bool,
10178
+ "suggestFreeze" => bool,
10179
+ "enabled" => bool,
10180
+ "sliKind" => "probe_availability" | "probe_latency" | "metric_threshold",
10181
+ "probeId" => String | nil,
10182
+ "latencyThresholdMs" => Integer | nil,
10183
+ "resourceId" => String | nil,
10184
+ "metricKey" => String | nil,
10185
+ "comparator" => "<" | "<=" | ">" | ">=" | nil,
10186
+ "threshold" => Numeric | nil,
10187
+ "probeName" => String | nil,
10188
+ "resourceName" => String | nil,
10189
+ "accountId" => String | nil,
10190
+ "pluginId" => plugin_id & (String | nil),
10191
+ "resourceTypeId" => String | nil,
10192
+ "status" => "exhausted" | "fast_burn" | "slow_burn" | "ok" | "unknown",
10193
+ "sli" => Numeric | nil,
10194
+ "goodEvents" => Numeric,
10195
+ "totalEvents" => Numeric,
10196
+ "budgetRemaining" => Numeric | nil,
10197
+ "budgetTotalMinutes" => Numeric,
10198
+ "budgetRemainingMinutes" => Numeric | nil,
10199
+ "burnRates" => Hash[String, Numeric | nil],
10200
+ "burnAlert" => "none" | "slow" | "fast",
10201
+ "exhaustedAt" => String | nil,
10202
+ "lastEvalAt" => String | nil,
10203
+ "lastError" => String | nil,
10204
+ "createdAt" => String,
10205
+ "updatedAt" => String
10206
+ }
10207
+
10208
+ # The change freeze in effect, if any.
10209
+ #
10210
+ # Spec schema: `SloActiveFreeze`.
10211
+ type slo_active_freeze = { "id" => String, "name" => String, "endsAt" => String | nil } | nil
10212
+
10213
+ # Spec schema: `SloBucket`.
10214
+ type slo_bucket = { "startMs" => Numeric, "good" => Numeric, "total" => Numeric }
10215
+
10216
+ # Spec schema: `SloCreate`.
10217
+ type slo_create = {
10218
+ "name" => String,
10219
+ ?"description" => String | nil,
10220
+ "sliKind" => "probe_availability" | "probe_latency" | "metric_threshold",
10221
+ ?"probeId" => String | nil,
10222
+ ?"latencyThresholdMs" => Integer | nil,
10223
+ ?"resourceId" => String | nil,
10224
+ ?"metricKey" => String | nil,
10225
+ ?"comparator" => "<" | "<=" | ">" | ">=" | nil,
10226
+ ?"threshold" => Numeric | nil,
10227
+ ?"targetPercent" => Numeric,
10228
+ ?"windowDays" => Numeric | Numeric | Numeric,
10229
+ ?"alertsEnabled" => bool,
10230
+ ?"suggestFreeze" => bool,
10231
+ ?"enabled" => bool
10232
+ }
10233
+
10234
+ # Spec schema: `SloDetail`.
10235
+ type slo_detail = { "slo" => slo, "buckets" => Array[slo_bucket], "activeFreeze" => slo_active_freeze }
10236
+
10237
+ # Spec schema: `SloFreezeRequest`.
10238
+ type slo_freeze_request = { ?"durationHours" => Numeric | Numeric | Numeric | nil, ?"reason" => String }
10239
+
10240
+ # Spec schema: `SloList`.
10241
+ type slo_list = { "slos" => Array[slo] }
10242
+
10243
+ # Spec schema: `SloSources`.
10244
+ type slo_sources = {
10245
+ "probes" => Array[{ "id" => String, "name" => String, "url" => String, "status" => "up" | "down" | "unknown" }],
10246
+ "metricResources" => Array[{
10247
+ "resourceId" => String,
10248
+ "displayName" => String,
10249
+ "accountId" => String,
10250
+ "pluginId" => plugin_id,
10251
+ "resourceTypeId" => String,
10252
+ "series" => Array[{ "label" => String, "unit" => String }]
10253
+ }]
10254
+ }
10255
+
10256
+ # Spec schema: `SloUpdate`.
10257
+ type slo_update = {
10258
+ ?"name" => String,
10259
+ ?"description" => String | nil,
10260
+ ?"sliKind" => "probe_availability" | "probe_latency" | "metric_threshold",
10261
+ ?"probeId" => String | nil,
10262
+ ?"latencyThresholdMs" => Integer | nil,
10263
+ ?"resourceId" => String | nil,
10264
+ ?"metricKey" => String | nil,
10265
+ ?"comparator" => "<" | "<=" | ">" | ">=" | nil,
10266
+ ?"threshold" => Numeric | nil,
10267
+ ?"targetPercent" => Numeric,
10268
+ ?"windowDays" => Numeric | Numeric | Numeric,
10269
+ ?"alertsEnabled" => bool,
10270
+ ?"suggestFreeze" => bool,
10271
+ ?"enabled" => bool
10272
+ }
10273
+
10143
10274
  # Spec schema: `SqlEstimateRequest`.
10144
10275
  type sql_estimate_request = { "accountId" => String, "resourceId" => resource_id, "sql" => String }
10145
10276
 
@@ -10522,6 +10653,7 @@ module Infrawrench
10522
10653
  | "quotas"
10523
10654
  | "price-catalog"
10524
10655
  | "incidents"
10656
+ | "slos"
10525
10657
  | "workflows"
10526
10658
  | "deployments"
10527
10659
  | "settings"
@@ -10534,6 +10666,7 @@ module Infrawrench
10534
10666
  ?"reportId" => String,
10535
10667
  ?"invoiceId" => String,
10536
10668
  ?"canvasId" => String,
10669
+ ?"sloId" => String,
10537
10670
  ?"sessionId" => String,
10538
10671
  ?"windowId" => Integer,
10539
10672
  ?"appId" => String
@@ -12391,6 +12524,22 @@ module Infrawrench
12391
12524
  def test: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool, "channelCount" => Integer, "attempted" => Integer, "succeeded" => Integer }
12392
12525
  end
12393
12526
 
12527
+ class SlosGetNamespace
12528
+ def initialize: (Transport) -> void
12529
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> slo_list
12530
+ def get_org_org_id_slos_slo_id: (slo_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> slo_detail
12531
+ end
12532
+
12533
+ class SlosNamespace
12534
+ attr_reader get: SlosGetNamespace
12535
+ def initialize: (Transport) -> void
12536
+ def create: (?org_id: String?, ?body: slo_create?, ?request_options: Hash[Symbol, untyped]?) -> slo
12537
+ def delete: (slo_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
12538
+ def post_org_org_id_slos_slo_id_freeze: (slo_id: String, ?org_id: String?, ?body: slo_freeze_request?, ?request_options: Hash[Symbol, untyped]?) -> (slo_active_freeze & Hash[String, untyped])
12539
+ def sources: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> slo_sources
12540
+ def update: (slo_id: String, ?org_id: String?, ?body: slo_update?, ?request_options: Hash[Symbol, untyped]?) -> slo
12541
+ end
12542
+
12394
12543
  class SqlNamespace
12395
12544
  def initialize: (Transport) -> void
12396
12545
  def estimate: (body: sql_estimate_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> json_object
@@ -12662,6 +12811,7 @@ module Infrawrench
12662
12811
  attr_reader shared_consoles: SharedConsolesNamespace
12663
12812
  attr_reader sharing: SharingNamespace
12664
12813
  attr_reader slack: SlackNamespace
12814
+ attr_reader slos: SlosNamespace
12665
12815
  attr_reader sql: SqlNamespace
12666
12816
  attr_reader ssh_fanout: SshFanoutNamespace
12667
12817
  attr_reader ssh_keys: SshKeysNamespace
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.77.0
4
+ version: 1.78.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-10-08 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.77.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.78.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.77.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.78.0).
62
62
  test_files: []