infrawrench-sdk 1.71.0 → 1.73.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: bc94257e74cd0c9ef10d24dce87c39018f4bbe86652683ed2314e430091348b0
4
- data.tar.gz: 75b878e22ce2e3f54836c9fe7ec31741ebb29540d19c9f412a8f8979c606a221
3
+ metadata.gz: 98a0bde901a3f9488c2d7d38643e5f95308572dd31261a6d5f303b59449d653a
4
+ data.tar.gz: '09a1c701d340165b89237510be54497211757222bd2e56025b7af4f313aeebbf'
5
5
  SHA512:
6
- metadata.gz: bcc9f360f638857f2f8e87c4ab2ba826494475c83a7ad62e9b5b776c4493eed7c448eb5d192fd45195838ea627984c13d5359d0d4e8f92b9cd852995c85f96c8
7
- data.tar.gz: f05fcf6d900349cbbca3799e36e4fabf3376cf2b27fd0e20fb9ce3e79b467003618a507265332ce8ea37aa7382bee00d907730c98b2a0ffb378f6c7650e5c0ce
6
+ metadata.gz: f6f203c2359a9ab2287324b9e31b60e2073cf65f8359fb49cf7b1359e49267830cad0549e9ef72b330c424a2ba940106062e8bbac37ad33dfcaba35ee8ea94a4
7
+ data.tar.gz: b1adbd0af9886346eb5519923187520d43b775688ac6811a615e9b9dd504863705fca4f2eb5606e83999a6bfee8f7aca487a74ad9342c55c71f83aa62278f2ac
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.71.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.73.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
- 916 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 928 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.71.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.73.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.71.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.73.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.71.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.71.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.73.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.73.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.71.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.73.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.71.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.73.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1758,6 +1758,131 @@ module Infrawrench
1758
1758
  end
1759
1759
  end
1760
1760
 
1761
+ # `client.alert_email.settings`
1762
+ class AlertEmailSettingsNamespace
1763
+ # @api private
1764
+ # @param transport [Transport]
1765
+ def initialize(transport)
1766
+ @transport = transport
1767
+ end
1768
+
1769
+ # Get the alert email policy and suppression list
1770
+ #
1771
+ # GET /api/org/{orgId}/alert-email/settings
1772
+ #
1773
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1774
+ # constructed with.
1775
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1776
+ # @return [Hash] Parsed JSON, shaped as `AlertEmailSettingsView` — see
1777
+ # `sig/infrawrench/sdk.rbs`.
1778
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1779
+ def get(org_id: nil, request_options: nil)
1780
+ @transport.request(
1781
+ http_method: "GET",
1782
+ path: "/api/org/{orgId}/alert-email/settings",
1783
+ path_params: { "orgId" => org_id },
1784
+ request_options: request_options
1785
+ )
1786
+ end
1787
+
1788
+ # Set the alert email external-address policy
1789
+ #
1790
+ # Whole object. Tightening the policy does not edit any stored recipient
1791
+ # list: an address that no longer passes is skipped at send time, and
1792
+ # loosening the policy again brings it back.
1793
+ #
1794
+ # PUT /api/org/{orgId}/alert-email/settings
1795
+ #
1796
+ # Raises on 400: Bad request
1797
+ #
1798
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1799
+ # constructed with.
1800
+ # @param body [Hash, nil] Request body, shaped as `AlertEmailSettings`.
1801
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1802
+ # @return [Hash] Parsed JSON, shaped as `AlertEmailSettingsView` — see
1803
+ # `sig/infrawrench/sdk.rbs`.
1804
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1805
+ def update(org_id: nil, body: nil, request_options: nil)
1806
+ @transport.request(
1807
+ http_method: "PUT",
1808
+ path: "/api/org/{orgId}/alert-email/settings",
1809
+ path_params: { "orgId" => org_id },
1810
+ body: body,
1811
+ request_options: request_options
1812
+ )
1813
+ end
1814
+ end
1815
+
1816
+ # `client.alert_email.suppressions`
1817
+ class AlertEmailSuppressionsNamespace
1818
+ # @api private
1819
+ # @param transport [Transport]
1820
+ def initialize(transport)
1821
+ @transport = transport
1822
+ end
1823
+
1824
+ # Resume alert email to an unsubscribed address
1825
+ #
1826
+ # DELETE /api/org/{orgId}/alert-email/suppressions/{id}
1827
+ #
1828
+ # Raises on 404: Not found
1829
+ #
1830
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1831
+ # constructed with.
1832
+ # @param id [String]
1833
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1834
+ # @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
1835
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1836
+ def delete(id:, org_id: nil, request_options: nil)
1837
+ @transport.request(
1838
+ http_method: "DELETE",
1839
+ path: "/api/org/{orgId}/alert-email/suppressions/{id}",
1840
+ path_params: { "orgId" => org_id, "id" => id },
1841
+ request_options: request_options
1842
+ )
1843
+ end
1844
+ end
1845
+
1846
+ # `client.alert_email`
1847
+ class AlertEmailNamespace
1848
+ # @return [AlertEmailSettingsNamespace] `client.alert_email.settings`
1849
+ attr_reader :settings
1850
+ # @return [AlertEmailSuppressionsNamespace] `client.alert_email.suppressions`
1851
+ attr_reader :suppressions
1852
+
1853
+ # @api private
1854
+ # @param transport [Transport]
1855
+ def initialize(transport)
1856
+ @transport = transport
1857
+ @settings = AlertEmailSettingsNamespace.new(@transport)
1858
+ @suppressions = AlertEmailSuppressionsNamespace.new(@transport)
1859
+ end
1860
+
1861
+ # Recipient picker options for alert email
1862
+ #
1863
+ # Current members (with their login address), the external-address policy
1864
+ # and whether email is available on this deployment: everything a client
1865
+ # needs to edit the `emailRecipients` on a budget, cost change alert,
1866
+ # anomaly settings or efficiency alert settings, or an email destination on
1867
+ # an alert routing rule. Requires `costs:read`.
1868
+ #
1869
+ # GET /api/org/{orgId}/alert-email
1870
+ #
1871
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1872
+ # constructed with.
1873
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1874
+ # @return [Hash] Parsed JSON, shaped as `AlertEmailOptions` — see `sig/infrawrench/sdk.rbs`.
1875
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1876
+ def get(org_id: nil, request_options: nil)
1877
+ @transport.request(
1878
+ http_method: "GET",
1879
+ path: "/api/org/{orgId}/alert-email",
1880
+ path_params: { "orgId" => org_id },
1881
+ request_options: request_options
1882
+ )
1883
+ end
1884
+ end
1885
+
1761
1886
  # `client.alert_rules.deliveries`
1762
1887
  class AlertRulesDeliveriesNamespace
1763
1888
  # @api private
@@ -10718,6 +10843,111 @@ module Infrawrench
10718
10843
  end
10719
10844
  end
10720
10845
 
10846
+ # `client.extended_support.settings`
10847
+ class ExtendedSupportSettingsNamespace
10848
+ # @api private
10849
+ # @param transport [Transport]
10850
+ def initialize(transport)
10851
+ @transport = transport
10852
+ end
10853
+
10854
+ # Get the organization's extended-support settings
10855
+ #
10856
+ # An organization that never saved reads the shipped defaults (enabled, 90
10857
+ # days).
10858
+ #
10859
+ # _Requires permission: `org:settings:write`._
10860
+ #
10861
+ # GET /api/org/{orgId}/extended-support/settings
10862
+ #
10863
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
10864
+ # constructed with.
10865
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
10866
+ # @return [Hash] Parsed JSON, shaped as `ExtendedSupportSettings` — see
10867
+ # `sig/infrawrench/sdk.rbs`.
10868
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
10869
+ def get(org_id: nil, request_options: nil)
10870
+ @transport.request(
10871
+ http_method: "GET",
10872
+ path: "/api/org/{orgId}/extended-support/settings",
10873
+ path_params: { "orgId" => org_id },
10874
+ request_options: request_options
10875
+ )
10876
+ end
10877
+
10878
+ # Update the extended-support settings
10879
+ #
10880
+ # Every field is optional. `leadDays` must be a whole number from 1 to 365.
10881
+ # Saving never resets the alert cooldown.
10882
+ #
10883
+ # _Requires permission: `org:settings:write`._
10884
+ #
10885
+ # PUT /api/org/{orgId}/extended-support/settings
10886
+ #
10887
+ # Raises on 400: Bad request
10888
+ #
10889
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
10890
+ # constructed with.
10891
+ # @param body [Hash, nil] Request body, shaped as `ExtendedSupportSettingsUpdate`.
10892
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
10893
+ # @return [Hash] Parsed JSON, shaped as `ExtendedSupportSettings` — see
10894
+ # `sig/infrawrench/sdk.rbs`.
10895
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
10896
+ def update(org_id: nil, body: nil, request_options: nil)
10897
+ @transport.request(
10898
+ http_method: "PUT",
10899
+ path: "/api/org/{orgId}/extended-support/settings",
10900
+ path_params: { "orgId" => org_id },
10901
+ body: body,
10902
+ request_options: request_options
10903
+ )
10904
+ end
10905
+ end
10906
+
10907
+ # `client.extended_support`
10908
+ class ExtendedSupportNamespace
10909
+ # @return [ExtendedSupportSettingsNamespace] `client.extended_support.settings`
10910
+ attr_reader :settings
10911
+
10912
+ # @api private
10913
+ # @param transport [Transport]
10914
+ def initialize(transport)
10915
+ @transport = transport
10916
+ @settings = ExtendedSupportSettingsNamespace.new(@transport)
10917
+ end
10918
+
10919
+ # List resources billed at extended-support or end-of-life rates
10920
+ #
10921
+ # Matches every synced resource's version against its provider's support
10922
+ # calendar (declared by the plugin): resources paying an extended-support
10923
+ # surcharge, past the end of support, or whose standard support ends within
10924
+ # the lead time. Each finding carries the monthly surcharge an upgrade
10925
+ # removes: the provider's billed amount where it can be attributed (AWS Cost
10926
+ # Explorer extended-support usage types), otherwise list price. Results are
10927
+ # cached for a few minutes; pass `refresh=true` to recompute.
10928
+ #
10929
+ # _Requires permission: `resources:read`._
10930
+ #
10931
+ # GET /api/org/{orgId}/extended-support
10932
+ #
10933
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
10934
+ # constructed with.
10935
+ # @param refresh [String, nil] Bypass the short server-side cache and recompute now.
10936
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
10937
+ # @return [Hash] Parsed JSON, shaped as `ExtendedSupportListResponse` — see
10938
+ # `sig/infrawrench/sdk.rbs`.
10939
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
10940
+ def get(org_id: nil, refresh: nil, request_options: nil)
10941
+ @transport.request(
10942
+ http_method: "GET",
10943
+ path: "/api/org/{orgId}/extended-support",
10944
+ path_params: { "orgId" => org_id },
10945
+ query: { "refresh" => refresh },
10946
+ request_options: request_options
10947
+ )
10948
+ end
10949
+ end
10950
+
10721
10951
  # `client.github_issues.pull_requests`
10722
10952
  class GithubIssuesPullRequestsNamespace
10723
10953
  # @api private
@@ -20585,6 +20815,8 @@ module Infrawrench
20585
20815
  attr_reader :agents
20586
20816
  # @return [AiAttributionNamespace] `client.ai_attribution`
20587
20817
  attr_reader :ai_attribution
20818
+ # @return [AlertEmailNamespace] `client.alert_email`
20819
+ attr_reader :alert_email
20588
20820
  # @return [AlertRulesNamespace] `client.alert_rules`
20589
20821
  attr_reader :alert_rules
20590
20822
  # @return [ApiKeysNamespace] `client.api_keys`
@@ -20681,6 +20913,8 @@ module Infrawrench
20681
20913
  attr_reader :environments
20682
20914
  # @return [ExpiringNamespace] `client.expiring`
20683
20915
  attr_reader :expiring
20916
+ # @return [ExtendedSupportNamespace] `client.extended_support`
20917
+ attr_reader :extended_support
20684
20918
  # @return [GithubIssuesNamespace] `client.github_issues`
20685
20919
  attr_reader :github_issues
20686
20920
  # @return [IacNamespace] `client.iac`
@@ -20802,6 +21036,7 @@ module Infrawrench
20802
21036
  @agent_registrations = AgentRegistrationsNamespace.new(@transport)
20803
21037
  @agents = AgentsNamespace.new(@transport)
20804
21038
  @ai_attribution = AiAttributionNamespace.new(@transport)
21039
+ @alert_email = AlertEmailNamespace.new(@transport)
20805
21040
  @alert_rules = AlertRulesNamespace.new(@transport)
20806
21041
  @api_keys = ApiKeysNamespace.new(@transport)
20807
21042
  @apps = AppsNamespace.new(@transport)
@@ -20850,6 +21085,7 @@ module Infrawrench
20850
21085
  @environment_diff = EnvironmentDiffNamespace.new(@transport)
20851
21086
  @environments = EnvironmentsNamespace.new(@transport)
20852
21087
  @expiring = ExpiringNamespace.new(@transport)
21088
+ @extended_support = ExtendedSupportNamespace.new(@transport)
20853
21089
  @github_issues = GithubIssuesNamespace.new(@transport)
20854
21090
  @iac = IacNamespace.new(@transport)
20855
21091
  @incidents = IncidentsNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.71.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.73.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.71.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.73.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.71.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.73.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.71.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.73.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.71.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.73.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.71.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.73.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.71.0"
18
+ VERSION = "1.73.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.71.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.73.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.71.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.73.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.71.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.73.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.71.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.73.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -584,12 +584,52 @@ module Infrawrench
584
584
  # cost anomalies, idle commitments) can be filed; for other triggers this
585
585
  # destination is skipped.
586
586
  #
587
+ # `email-member` and `email-address` send an HTML and plain-text email with a
588
+ # link back into the app and a one-click unsubscribe link. Email carries no
589
+ # acknowledge button, so a rule routed only to email always escalates.
590
+ #
587
591
  # Spec schema: `AlertDestination`.
588
592
  type alert_destination = { "kind" => "push" }
589
593
  | { "kind" => "slack", "channelId" => String }
590
594
  | { "kind" => "msteams", "webhookId" => String }
591
595
  | { "kind" => "on-call", "scheduleId" => String }
592
596
  | { "kind" => "github-issues" }
597
+ | { "kind" => "email-member", "userId" => String }
598
+ | { "kind" => "email-address", "address" => String }
599
+
600
+ # Spec schema: `AlertEmailMember`.
601
+ type alert_email_member = { "userId" => String, "name" => String | nil, "email" => String }
602
+
603
+ # Spec schema: `AlertEmailOptions`.
604
+ type alert_email_options = {
605
+ "emailAvailable" => bool,
606
+ "members" => Array[alert_email_member],
607
+ "settings" => alert_email_settings,
608
+ "memberDomains" => Array[String]
609
+ }
610
+
611
+ # Who is emailed when this object fires, **in addition to** whatever the
612
+ # organization's alert routing rules decide. Delivered whether or not a rule
613
+ # matched and not held by quiet hours. On a write, omitting the field leaves
614
+ # the stored list unchanged; send empty arrays to clear it.
615
+ #
616
+ # Spec schema: `AlertEmailRecipients`.
617
+ type alert_email_recipients = { "userIds" => Array[String], "addresses" => Array[String] }
618
+
619
+ # Spec schema: `AlertEmailSettings`.
620
+ type alert_email_settings = { "externalPolicy" => "member-domains" | "any", "allowedDomains" => Array[String] }
621
+
622
+ # Spec schema: `AlertEmailSettingsView`.
623
+ type alert_email_settings_view = {
624
+ "externalPolicy" => "member-domains" | "any",
625
+ "allowedDomains" => Array[String],
626
+ "emailAvailable" => bool,
627
+ "memberDomains" => Array[String],
628
+ "suppressions" => Array[alert_email_suppression]
629
+ }
630
+
631
+ # Spec schema: `AlertEmailSuppression`.
632
+ type alert_email_suppression = { "id" => String, "email" => String, "createdAt" => String }
593
633
 
594
634
  # Spec schema: `AlertRule`.
595
635
  type alert_rule = {
@@ -623,7 +663,11 @@ module Infrawrench
623
663
  "slackChannels" => Array[{ "id" => String, "name" => String, "isPrivate" => bool }],
624
664
  "msTeamsWebhooks" => Array[{ "id" => String, "label" => String }],
625
665
  "accounts" => Array[{ "id" => String, "displayName" => String, "pluginId" => String }],
626
- "onCallSchedules" => Array[{ "id" => String, "name" => String }]
666
+ "onCallSchedules" => Array[{ "id" => String, "name" => String }],
667
+ "members" => Array[{ "userId" => String, "name" => String | nil, "email" => String }],
668
+ "emailAvailable" => bool,
669
+ "emailSettings" => { "externalPolicy" => "member-domains" | "any", "allowedDomains" => Array[String] },
670
+ "memberDomains" => Array[String]
627
671
  }
628
672
 
629
673
  # Alert severity, ordered info < warning < critical.
@@ -651,6 +695,7 @@ module Infrawrench
651
695
  | "postureAlerts"
652
696
  | "probeAlerts"
653
697
  | "quotaAlerts"
698
+ | "extendedSupportAlerts"
654
699
  | "incidentAlerts"
655
700
  | "weeklyDigest"
656
701
 
@@ -1142,6 +1187,7 @@ module Infrawrench
1142
1187
  "thresholds" => Array[budget_threshold],
1143
1188
  "costBasis" => budget_cost_basis & untyped,
1144
1189
  "useAdjustedSpend" => bool,
1190
+ "emailRecipients" => alert_email_recipients,
1145
1191
  "createdByUserId" => String | nil,
1146
1192
  "deletedAt" => String | nil,
1147
1193
  "createdAt" => String,
@@ -1175,7 +1221,8 @@ module Infrawrench
1175
1221
  ?"usageUnit" => String,
1176
1222
  ?"usageAmount" => Numeric,
1177
1223
  ?"period" => budget_period & (budget_recurring_period | budget_explicit_periods),
1178
- ?"parentBudgetId" => String
1224
+ ?"parentBudgetId" => String,
1225
+ ?"emailRecipients" => alert_email_recipients
1179
1226
  }
1180
1227
 
1181
1228
  # What the budget counts. `cost` (the default) is money in `currency`, against
@@ -1222,6 +1269,7 @@ module Infrawrench
1222
1269
  "scenarioModelId" => String | nil,
1223
1270
  "scenarioModelName" => String | nil,
1224
1271
  "useAdjustedSpend" => bool,
1272
+ "emailRecipients" => alert_email_recipients,
1225
1273
  "rawActualCents" => Integer | nil,
1226
1274
  "month" => String,
1227
1275
  "actualCents" => Integer,
@@ -2102,6 +2150,7 @@ module Infrawrench
2102
2150
  "enabled" => bool,
2103
2151
  "lastEvaluatedAt" => String | nil,
2104
2152
  "lastFiredAt" => String | nil,
2153
+ "emailRecipients" => alert_email_recipients,
2105
2154
  "createdAt" => String,
2106
2155
  "updatedAt" => String
2107
2156
  }
@@ -2161,7 +2210,8 @@ module Infrawrench
2161
2210
  ?"thresholdPercent" => Integer | nil,
2162
2211
  ?"thresholdAmountCents" => Integer | nil,
2163
2212
  "direction" => cost_change_direction,
2164
- ?"enabled" => bool
2213
+ ?"enabled" => bool,
2214
+ ?"emailRecipients" => alert_email_recipients
2165
2215
  }
2166
2216
 
2167
2217
  # Spec schema: `CostAnnotation`.
@@ -2301,7 +2351,8 @@ module Infrawrench
2301
2351
  "minDeltaCents" => Integer,
2302
2352
  "newSourceMinCents" => Integer,
2303
2353
  "smsAlerts" => "off" | "new_source" | "all",
2304
- ?"feedbackTuning" => bool
2354
+ ?"feedbackTuning" => bool,
2355
+ ?"emailRecipients" => alert_email_recipients
2305
2356
  }
2306
2357
 
2307
2358
  # Spec schema: `CostAnomalySettingsView`.
@@ -2584,7 +2635,8 @@ module Infrawrench
2584
2635
  "unitCostThresholdPercent" => Integer,
2585
2636
  "unitCostWindowDays" => Integer,
2586
2637
  "unitCostMinReportedDays" => Integer,
2587
- "unitCostMinSpendCents" => Integer
2638
+ "unitCostMinSpendCents" => Integer,
2639
+ ?"emailRecipients" => alert_email_recipients
2588
2640
  }
2589
2641
 
2590
2642
  # Spec schema: `CostEstimate`.
@@ -4406,6 +4458,8 @@ module Infrawrench
4406
4458
  | "k8s-cert"
4407
4459
  | "ssh-key"
4408
4460
  | "secret-version"
4461
+ | "lease"
4462
+ | "extended-support"
4409
4463
  | "other",
4410
4464
  "label" => String,
4411
4465
  "basis" => "expiry" | "age",
@@ -4445,6 +4499,81 @@ module Infrawrench
4445
4499
  # Spec schema: `ExportTerraformRequest`.
4446
4500
  type export_terraform_request = { "resourceId" => resource_id, "accountId" => String }
4447
4501
 
4502
+ # Spec schema: `ExtendedSupportFinding`.
4503
+ type extended_support_finding = {
4504
+ "resourceId" => String,
4505
+ "pluginId" => plugin_id,
4506
+ "pluginName" => String,
4507
+ "resourceTypeId" => String,
4508
+ "resourceTypeName" => String,
4509
+ "accountId" => String,
4510
+ "accountName" => String,
4511
+ "displayName" => String,
4512
+ "externalId" => String | nil,
4513
+ "region" => String | nil,
4514
+ "releaseId" => String,
4515
+ "product" => String,
4516
+ "engine" => String | nil,
4517
+ "currentVersion" => String,
4518
+ "targetVersion" => String,
4519
+ "status" => "end-of-life" | "surcharged" | "unsupported" | "upcoming",
4520
+ "standardSupportEnds" => String,
4521
+ "surchargeStartsOn" => String,
4522
+ "daysUntilSurcharge" => Integer,
4523
+ "extendedSupportEnds" => String | nil,
4524
+ "daysUntilForcedUpgrade" => Integer | nil,
4525
+ "charged" => bool,
4526
+ "quantity" => Numeric | nil,
4527
+ "unit" => "cluster-hour" | "vcpu-hour" | "vcore-hour" | "node-hour" | "instance-hour" | "acu-hour"
4528
+ | nil,
4529
+ "currency" => String | nil,
4530
+ "tierLabel" => String | nil,
4531
+ "monthlySurcharge" => Numeric | nil,
4532
+ "listMonthlySurcharge" => Numeric | nil,
4533
+ "costBasis" => "billed" | "billed-share" | "list-price" | "unpriced",
4534
+ "billedLineItems" => Array[String],
4535
+ "nextTier" => { "from" => String, "label" => String, "monthlySurcharge" => Numeric | nil } | nil,
4536
+ "priceNote" => String | nil,
4537
+ "pricingUrl" => String | nil,
4538
+ "upgradeUrl" => String,
4539
+ "note" => String | nil
4540
+ }
4541
+
4542
+ # Spec schema: `ExtendedSupportListResponse`.
4543
+ type extended_support_list_response = {
4544
+ "findings" => Array[extended_support_finding],
4545
+ "totalCount" => Integer,
4546
+ "counts" => {
4547
+ "end-of-life" => Integer,
4548
+ "surcharged" => Integer,
4549
+ "unsupported" => Integer,
4550
+ "upcoming" => Integer
4551
+ },
4552
+ "currentMonthly" => Array[extended_support_total],
4553
+ "upcomingMonthly" => Array[extended_support_total],
4554
+ "leadDays" => Integer,
4555
+ ?"billing" => {
4556
+ "windowDays" => Integer,
4557
+ "accounts" => Array[{
4558
+ "accountId" => String,
4559
+ "accountName" => String,
4560
+ "status" => "read" | "failed",
4561
+ ?"error" => String
4562
+ }],
4563
+ "unattributed" => Array[unattributed_extended_support_charge]
4564
+ },
4565
+ "generatedAt" => String
4566
+ }
4567
+
4568
+ # Spec schema: `ExtendedSupportSettings`.
4569
+ type extended_support_settings = { "enabled" => bool, "leadDays" => Integer, "lastNotifiedAt" => String | nil }
4570
+
4571
+ # Spec schema: `ExtendedSupportSettingsUpdate`.
4572
+ type extended_support_settings_update = { ?"enabled" => bool, ?"leadDays" => Integer }
4573
+
4574
+ # Spec schema: `ExtendedSupportTotal`.
4575
+ type extended_support_total = { "currency" => String, "monthly" => Numeric }
4576
+
4448
4577
  # Spec schema: `FieldActionRequest`.
4449
4578
  type field_action_request = {
4450
4579
  "accountId" => String,
@@ -4653,6 +4782,7 @@ module Infrawrench
4653
4782
  | "posture_finding"
4654
4783
  | "expiring"
4655
4784
  | "probe"
4785
+ | "extended_support"
4656
4786
  | "commitment_idle"
4657
4787
 
4658
4788
  # Spec schema: `GithubIssuesStatus`.
@@ -5246,7 +5376,13 @@ module Infrawrench
5246
5376
  # Which detector produced the finding the issue was filed from.
5247
5377
  #
5248
5378
  # Spec schema: `JiraSourceKind`.
5249
- type jira_source_kind = "cost_anomaly" | "orphan" | "oversized" | "posture_finding" | "expiring" | "probe"
5379
+ type jira_source_kind = "cost_anomaly"
5380
+ | "orphan"
5381
+ | "oversized"
5382
+ | "posture_finding"
5383
+ | "expiring"
5384
+ | "probe"
5385
+ | "extended_support"
5250
5386
 
5251
5387
  # Supply all three to test credentials that have not been saved yet; send an
5252
5388
  # empty object to re-test the stored ones.
@@ -5363,7 +5499,13 @@ module Infrawrench
5363
5499
  # Which detector produced the finding the issue was filed from.
5364
5500
  #
5365
5501
  # Spec schema: `LinearSourceKind`.
5366
- type linear_source_kind = "cost_anomaly" | "orphan" | "oversized" | "posture_finding" | "expiring" | "probe"
5502
+ type linear_source_kind = "cost_anomaly"
5503
+ | "orphan"
5504
+ | "oversized"
5505
+ | "posture_finding"
5506
+ | "expiring"
5507
+ | "probe"
5508
+ | "extended_support"
5367
5509
 
5368
5510
  # Spec schema: `LinearTeam`.
5369
5511
  type linear_team = { "id" => String, "key" => String, "name" => String }
@@ -9484,6 +9626,20 @@ module Infrawrench
9484
9626
  "uri" => String | nil
9485
9627
  }
9486
9628
 
9629
+ # Spec schema: `UnattributedExtendedSupportCharge`.
9630
+ type unattributed_extended_support_charge = {
9631
+ ?"resourceTypeId" => String,
9632
+ ?"releaseId" => String,
9633
+ ?"region" => String,
9634
+ ?"engine" => String,
9635
+ "lineItem" => String,
9636
+ "amount" => Numeric,
9637
+ "currency" => String,
9638
+ "accountId" => String,
9639
+ "accountName" => String,
9640
+ "monthlyAmount" => Numeric
9641
+ }
9642
+
9487
9643
  # Spec schema: `UnitCostLabelFilter`.
9488
9644
  type unit_cost_label_filter = { "key" => String, "op" => "in" | "not_in", "values" => Array[String] }
9489
9645
 
@@ -9959,6 +10115,24 @@ module Infrawrench
9959
10115
  def stats: (?org_id: String?, ?from: String?, ?to: String?, ?request_options: Hash[Symbol, untyped]?) -> ai_attribution_stats
9960
10116
  end
9961
10117
 
10118
+ class AlertEmailSettingsNamespace
10119
+ def initialize: (Transport) -> void
10120
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> alert_email_settings_view
10121
+ def update: (?org_id: String?, ?body: alert_email_settings?, ?request_options: Hash[Symbol, untyped]?) -> alert_email_settings_view
10122
+ end
10123
+
10124
+ class AlertEmailSuppressionsNamespace
10125
+ def initialize: (Transport) -> void
10126
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool }
10127
+ end
10128
+
10129
+ class AlertEmailNamespace
10130
+ attr_reader settings: AlertEmailSettingsNamespace
10131
+ attr_reader suppressions: AlertEmailSuppressionsNamespace
10132
+ def initialize: (Transport) -> void
10133
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> alert_email_options
10134
+ end
10135
+
9962
10136
  class AlertRulesDeliveriesNamespace
9963
10137
  def initialize: (Transport) -> void
9964
10138
  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 }
@@ -10618,6 +10792,18 @@ module Infrawrench
10618
10792
  def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> expiry_list_response
10619
10793
  end
10620
10794
 
10795
+ class ExtendedSupportSettingsNamespace
10796
+ def initialize: (Transport) -> void
10797
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> extended_support_settings
10798
+ def update: (?org_id: String?, ?body: extended_support_settings_update?, ?request_options: Hash[Symbol, untyped]?) -> extended_support_settings
10799
+ end
10800
+
10801
+ class ExtendedSupportNamespace
10802
+ attr_reader settings: ExtendedSupportSettingsNamespace
10803
+ def initialize: (Transport) -> void
10804
+ def get: (?org_id: String?, ?refresh: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> extended_support_list_response
10805
+ end
10806
+
10621
10807
  class GithubIssuesPullRequestsNamespace
10622
10808
  def initialize: (Transport) -> void
10623
10809
  def create: (body: github_pull_request_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> github_pull_request_result
@@ -11353,6 +11539,7 @@ module Infrawrench
11353
11539
  attr_reader agent_registrations: AgentRegistrationsNamespace
11354
11540
  attr_reader agents: AgentsNamespace
11355
11541
  attr_reader ai_attribution: AiAttributionNamespace
11542
+ attr_reader alert_email: AlertEmailNamespace
11356
11543
  attr_reader alert_rules: AlertRulesNamespace
11357
11544
  attr_reader api_keys: ApiKeysNamespace
11358
11545
  attr_reader apps: AppsNamespace
@@ -11401,6 +11588,7 @@ module Infrawrench
11401
11588
  attr_reader environment_diff: EnvironmentDiffNamespace
11402
11589
  attr_reader environments: EnvironmentsNamespace
11403
11590
  attr_reader expiring: ExpiringNamespace
11591
+ attr_reader extended_support: ExtendedSupportNamespace
11404
11592
  attr_reader github_issues: GithubIssuesNamespace
11405
11593
  attr_reader iac: IacNamespace
11406
11594
  attr_reader incidents: IncidentsNamespace
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.71.0
4
+ version: 1.73.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-05 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.71.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.73.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.71.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.73.0).
62
62
  test_files: []