infrawrench-sdk 1.34.0 → 1.36.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: bb980c1a1123712fc1dd3630cb778f4b005f830e9177d144334d835ac0cd4493
4
- data.tar.gz: d7946079dcf9ffe48c117f76eedd7eafd022530f33d290be1c9e5985743ac9b6
3
+ metadata.gz: b5b90361dde3de471113536200e43a0ea37d883fbcc9e372fd804e52811b9f07
4
+ data.tar.gz: 46277171e24394e846c276fd1f02fa726c068671eb15b4991dd7657329d15f16
5
5
  SHA512:
6
- metadata.gz: f3a0b7449f0f12c62308885cefa63fad30031ef43deccd83c6d2e2990b6da4bf60400d4a05985eea6a75a4a8b860f70ff7953671a0be171961d691e4234abc83
7
- data.tar.gz: 003a160954fb2fe083681affff7d44fb6a09a3a0973d803f326179978a1e3a874994a3f2ed701a066c771e5474c965e2a757fca8f0d5334ab9c4edbc51c7b0c5
6
+ metadata.gz: 484c1e481582a7942fd16413fa2482094495a38435bb1825e33eccd336bc543e4002130889a79aac6238806a054ece8be41e9a56998ca4d3fe822253703f8920
7
+ data.tar.gz: 9efc6b5c019ad379ca4b58f325549752c59a21084879447e26427219e79250ad9dac9ac9857781eadba0be96fe707f5ac48e28e1605712acd8cced7b03c3f631
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.34.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.36.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
- 721 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 729 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.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.36.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.34.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.36.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.34.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.34.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.36.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.36.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.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.36.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.34.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.36.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1871,6 +1871,125 @@ module Infrawrench
1871
1871
  end
1872
1872
  end
1873
1873
 
1874
+ # `client.backups.drills`
1875
+ class BackupsDrillsNamespace
1876
+ # @api private
1877
+ # @param transport [Transport]
1878
+ def initialize(transport)
1879
+ @transport = transport
1880
+ end
1881
+
1882
+ # Record a restore drill
1883
+ #
1884
+ # A `verified` drill **must** carry the measured time: an RPO comes from the
1885
+ # backup, and an RTO can only come from somebody with a stopwatch — that
1886
+ # number is the entire point of the exercise. A `blocked` drill must not
1887
+ # carry one, because it never started.
1888
+ #
1889
+ # Takes `resources:write`, not a settings permission: recording a drill is
1890
+ # reporting what you did, and the person who spent Saturday restoring a
1891
+ # database is rarely the person who set the recovery objective.
1892
+ #
1893
+ # POST /api/org/{orgId}/backups/drills
1894
+ #
1895
+ # Raises on 400: Bad request
1896
+ #
1897
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1898
+ # constructed with.
1899
+ # @param body [Hash, nil] Request body, shaped as `RestoreDrillCreate`.
1900
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1901
+ # @return [Hash] Parsed JSON, shaped as `RestoreDrill` — see `sig/infrawrench/sdk.rbs`.
1902
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1903
+ def create(org_id: nil, body: nil, request_options: nil)
1904
+ @transport.request(
1905
+ http_method: "POST",
1906
+ path: "/api/org/{orgId}/backups/drills",
1907
+ path_params: { "orgId" => org_id },
1908
+ body: body,
1909
+ request_options: request_options
1910
+ )
1911
+ end
1912
+
1913
+ # Delete a recorded drill
1914
+ #
1915
+ # For one recorded against the wrong resource or the wrong date. Audited —
1916
+ # deleting evidence that a restore failed is exactly the edit a reviewer
1917
+ # would want to know about.
1918
+ #
1919
+ # DELETE /api/org/{orgId}/backups/drills/{drillId}
1920
+ #
1921
+ # Raises on 404: Not found
1922
+ #
1923
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1924
+ # constructed with.
1925
+ # @param drill_id [String]
1926
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1927
+ # @return [nil] This endpoint returns no content.
1928
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1929
+ def delete(drill_id:, org_id: nil, request_options: nil)
1930
+ @transport.request(
1931
+ http_method: "DELETE",
1932
+ path: "/api/org/{orgId}/backups/drills/{drillId}",
1933
+ path_params: { "orgId" => org_id, "drillId" => drill_id },
1934
+ accept: :empty,
1935
+ request_options: request_options
1936
+ )
1937
+ end
1938
+
1939
+ # Where every protected resource stands on restore
1940
+ #
1941
+ # Backup coverage answers 'is there a backup'. This answers 'does it
1942
+ # restore, and how long does it take' — a different question, and the one
1943
+ # routinely answered wrongly on the day.
1944
+ #
1945
+ # A drill is a **record that somebody tried**, not an automated restore:
1946
+ # restoring a customer's database unattended costs real money, can collide
1947
+ # with production, and cannot be generically verified. What the product can
1948
+ # do is make the exercise scheduled, recorded and visible when it lapses.
1949
+ #
1950
+ # GET /api/org/{orgId}/backups/drills
1951
+ #
1952
+ # Raises on 400: Bad request
1953
+ #
1954
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1955
+ # constructed with.
1956
+ # @param valid_days [Integer, nil] How long a verified drill counts for. Defaults to 180
1957
+ # days.
1958
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1959
+ # @return [Hash] Parsed JSON, shaped as `DrillCoverageResponse` — see
1960
+ # `sig/infrawrench/sdk.rbs`.
1961
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1962
+ def get(org_id: nil, valid_days: nil, request_options: nil)
1963
+ @transport.request(
1964
+ http_method: "GET",
1965
+ path: "/api/org/{orgId}/backups/drills",
1966
+ path_params: { "orgId" => org_id },
1967
+ query: { "validDays" => valid_days },
1968
+ request_options: request_options
1969
+ )
1970
+ end
1971
+
1972
+ # List recorded restore drills
1973
+ #
1974
+ # GET /api/org/{orgId}/backups/drills/log
1975
+ #
1976
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
1977
+ # constructed with.
1978
+ # @param resource_id [String, nil]
1979
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
1980
+ # @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
1981
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
1982
+ def log(org_id: nil, resource_id: nil, request_options: nil)
1983
+ @transport.request(
1984
+ http_method: "GET",
1985
+ path: "/api/org/{orgId}/backups/drills/log",
1986
+ path_params: { "orgId" => org_id },
1987
+ query: { "resourceId" => resource_id },
1988
+ request_options: request_options
1989
+ )
1990
+ end
1991
+ end
1992
+
1874
1993
  # `client.backups.policies`
1875
1994
  class BackupsPoliciesNamespace
1876
1995
  # @api private
@@ -1988,6 +2107,8 @@ module Infrawrench
1988
2107
 
1989
2108
  # `client.backups`
1990
2109
  class BackupsNamespace
2110
+ # @return [BackupsDrillsNamespace] `client.backups.drills`
2111
+ attr_reader :drills
1991
2112
  # @return [BackupsPoliciesNamespace] `client.backups.policies`
1992
2113
  attr_reader :policies
1993
2114
 
@@ -1995,6 +2116,7 @@ module Infrawrench
1995
2116
  # @param transport [Transport]
1996
2117
  def initialize(transport)
1997
2118
  @transport = transport
2119
+ @drills = BackupsDrillsNamespace.new(@transport)
1998
2120
  @policies = BackupsPoliciesNamespace.new(@transport)
1999
2121
  end
2000
2122
 
@@ -15099,12 +15221,107 @@ module Infrawrench
15099
15221
  end
15100
15222
  end
15101
15223
 
15224
+ # `client.status_pages.custom_hostname`
15225
+ class StatusPagesCustomHostnameNamespace
15226
+ # @api private
15227
+ # @param transport [Transport]
15228
+ def initialize(transport)
15229
+ @transport = transport
15230
+ end
15231
+
15232
+ # Attach a custom domain
15233
+ #
15234
+ # Creates a Cloudflare Custom Hostname for a subdomain and returns the DNS
15235
+ # records the customer must add. Paid plan only. Apex domains are rejected.
15236
+ # At most one hostname per page.
15237
+ #
15238
+ # POST /api/org/{orgId}/status-pages/{id}/custom-hostname
15239
+ #
15240
+ # Raises on 400: Bad request
15241
+ #
15242
+ # Raises on 402: Payment required — the organization's plan does not include
15243
+ # this
15244
+ #
15245
+ # Raises on 404: Not found
15246
+ #
15247
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
15248
+ # constructed with.
15249
+ # @param id [String]
15250
+ # @param body [Hash, nil] Request body, shaped as `StatusPageCustomHostnameAttach`.
15251
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
15252
+ # @return [Hash] Parsed JSON, shaped as `StatusPage` — see `sig/infrawrench/sdk.rbs`.
15253
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
15254
+ def create(id:, org_id: nil, body: nil, request_options: nil)
15255
+ @transport.request(
15256
+ http_method: "POST",
15257
+ path: "/api/org/{orgId}/status-pages/{id}/custom-hostname",
15258
+ path_params: { "orgId" => org_id, "id" => id },
15259
+ body: body,
15260
+ request_options: request_options
15261
+ )
15262
+ end
15263
+
15264
+ # Detach a custom domain
15265
+ #
15266
+ # Removes the Cloudflare Custom Hostname and the edge hostname→slug mapping.
15267
+ # The secret slug URL is unaffected.
15268
+ #
15269
+ # DELETE /api/org/{orgId}/status-pages/{id}/custom-hostname
15270
+ #
15271
+ # Raises on 404: Not found
15272
+ #
15273
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
15274
+ # constructed with.
15275
+ # @param id [String]
15276
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
15277
+ # @return [Hash] Parsed JSON, shaped as `StatusPage` — see `sig/infrawrench/sdk.rbs`.
15278
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
15279
+ def delete(id:, org_id: nil, request_options: nil)
15280
+ @transport.request(
15281
+ http_method: "DELETE",
15282
+ path: "/api/org/{orgId}/status-pages/{id}/custom-hostname",
15283
+ path_params: { "orgId" => org_id, "id" => id },
15284
+ request_options: request_options
15285
+ )
15286
+ end
15287
+
15288
+ # Refresh custom domain status
15289
+ #
15290
+ # Re-fetches Cloudflare hostname and certificate status and updates the page
15291
+ # record.
15292
+ #
15293
+ # POST /api/org/{orgId}/status-pages/{id}/custom-hostname/refresh
15294
+ #
15295
+ # Raises on 400: Bad request
15296
+ #
15297
+ # Raises on 404: Not found
15298
+ #
15299
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
15300
+ # constructed with.
15301
+ # @param id [String]
15302
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
15303
+ # @return [Hash] Parsed JSON, shaped as `StatusPage` — see `sig/infrawrench/sdk.rbs`.
15304
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
15305
+ def refresh(id:, org_id: nil, request_options: nil)
15306
+ @transport.request(
15307
+ http_method: "POST",
15308
+ path: "/api/org/{orgId}/status-pages/{id}/custom-hostname/refresh",
15309
+ path_params: { "orgId" => org_id, "id" => id },
15310
+ request_options: request_options
15311
+ )
15312
+ end
15313
+ end
15314
+
15102
15315
  # `client.status_pages`
15103
15316
  class StatusPagesNamespace
15317
+ # @return [StatusPagesCustomHostnameNamespace] `client.status_pages.custom_hostname`
15318
+ attr_reader :custom_hostname
15319
+
15104
15320
  # @api private
15105
15321
  # @param transport [Transport]
15106
15322
  def initialize(transport)
15107
15323
  @transport = transport
15324
+ @custom_hostname = StatusPagesCustomHostnameNamespace.new(@transport)
15108
15325
  end
15109
15326
 
15110
15327
  # Create a status page
@@ -15191,7 +15408,8 @@ module Infrawrench
15191
15408
  #
15192
15409
  # Replaces the slug, revoking the current public URL immediately — the
15193
15410
  # reroll for a link that ended up somewhere unintended. The page stays
15194
- # published.
15411
+ # published. If a custom hostname is attached, its hostname→slug mapping is
15412
+ # updated so the vanity URL keeps working.
15195
15413
  #
15196
15414
  # _Requires permission: `resources:write`._
15197
15415
  #
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.36.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.34.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.36.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.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.36.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.34.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.36.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.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.36.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.34.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.36.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.34.0"
18
+ VERSION = "1.36.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.36.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.34.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.36.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.34.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.36.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.34.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.36.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -2855,6 +2855,41 @@ module Infrawrench
2855
2855
  ?"accountIds" => Array[String]
2856
2856
  }
2857
2857
 
2858
+ # Spec schema: `DrillCoverageResponse`.
2859
+ type drill_coverage_response = {
2860
+ "rows" => Array[drill_coverage_row],
2861
+ "summary" => drill_summary,
2862
+ "validDays" => Integer,
2863
+ "orphanedDrills" => Array[restore_drill],
2864
+ "generatedAt" => String
2865
+ }
2866
+
2867
+ # Spec schema: `DrillCoverageRow`.
2868
+ type drill_coverage_row = {
2869
+ "resourceId" => String,
2870
+ "resourceName" => String | nil,
2871
+ "accountId" => String | nil,
2872
+ "accountName" => String | nil,
2873
+ "resourceTypeId" => String | nil,
2874
+ "standing" => "verified" | "stale" | "failed" | "never",
2875
+ "lastDrillAt" => String | nil,
2876
+ "lastOutcome" => "verified" | "restored-unverified" | "failed" | "blocked" | nil,
2877
+ "lastVerifiedAt" => String | nil,
2878
+ "verifiedRtoMinutes" => Integer | nil,
2879
+ "daysUntilStale" => Integer | nil
2880
+ }
2881
+
2882
+ # Spec schema: `DrillSummary`.
2883
+ type drill_summary = {
2884
+ "eligibleCount" => Integer,
2885
+ "verifiedCount" => Integer,
2886
+ "staleCount" => Integer,
2887
+ "failedCount" => Integer,
2888
+ "neverCount" => Integer,
2889
+ "worstRtoMinutes" => Integer | nil,
2890
+ "medianRtoMinutes" => Integer | nil
2891
+ }
2892
+
2858
2893
  # Spec schema: `EditableField`.
2859
2894
  type editable_field = {
2860
2895
  "key" => String,
@@ -6004,6 +6039,33 @@ module Infrawrench
6004
6039
  ?"schedulable" => bool
6005
6040
  }
6006
6041
 
6042
+ # Spec schema: `RestoreDrill`.
6043
+ type restore_drill = {
6044
+ "id" => String,
6045
+ "resourceId" => String,
6046
+ "resourceName" => String | nil,
6047
+ "accountId" => String | nil,
6048
+ "accountName" => String | nil,
6049
+ "performedAt" => String,
6050
+ "outcome" => "verified" | "restored-unverified" | "failed" | "blocked",
6051
+ "rtoMinutes" => Integer | nil,
6052
+ "restoredFrom" => String | nil,
6053
+ "notes" => String | nil,
6054
+ "performedByUserId" => String | nil,
6055
+ "performedByName" => String | nil,
6056
+ "createdAt" => String
6057
+ }
6058
+
6059
+ # Spec schema: `RestoreDrillCreate`.
6060
+ type restore_drill_create = {
6061
+ "resourceId" => String,
6062
+ "performedAt" => String,
6063
+ "outcome" => "verified" | "restored-unverified" | "failed" | "blocked",
6064
+ ?"rtoMinutes" => Integer | nil,
6065
+ ?"restoredFrom" => String | nil,
6066
+ ?"notes" => String | nil
6067
+ }
6068
+
6007
6069
  # Spec schema: `RevertApplyResponse`.
6008
6070
  type revert_apply_response = {
6009
6071
  "changeId" => String,
@@ -6761,6 +6823,10 @@ module Infrawrench
6761
6823
  "showHistory" => bool,
6762
6824
  "showUptime" => bool,
6763
6825
  "supportUrl" => String | nil,
6826
+ "customHostname" => String | nil,
6827
+ "customHostnameStatus" => status_page_custom_hostname_status,
6828
+ "customHostnameError" => String | nil,
6829
+ "customHostnameVerification" => status_page_hostname_verification,
6764
6830
  "components" => Array[status_page_component],
6765
6831
  "createdAt" => String,
6766
6832
  "updatedAt" => String
@@ -6792,6 +6858,15 @@ module Infrawrench
6792
6858
  ?"components" => Array[status_page_component_input]
6793
6859
  }
6794
6860
 
6861
+ # Spec schema: `StatusPageCustomHostnameAttach`.
6862
+ type status_page_custom_hostname_attach = { "hostname" => String }
6863
+
6864
+ # Spec schema: `StatusPageCustomHostnameStatus`.
6865
+ type status_page_custom_hostname_status = "none" | "pending_dns" | "pending_ssl" | "active" | "error"
6866
+
6867
+ # Spec schema: `StatusPageHostnameVerification`.
6868
+ type status_page_hostname_verification = { "cnameTarget" => String, ?"txtName" => String, ?"txtValue" => String } | nil
6869
+
6795
6870
  # Spec schema: `StatusPageListResponse`.
6796
6871
  type status_page_list_response = { "pages" => Array[status_page] }
6797
6872
 
@@ -7398,6 +7473,14 @@ module Infrawrench
7398
7473
  def orgs: (?request_options: Hash[Symbol, untyped]?) -> Array[org_membership]
7399
7474
  end
7400
7475
 
7476
+ class BackupsDrillsNamespace
7477
+ def initialize: (Transport) -> void
7478
+ def create: (?org_id: String?, ?body: restore_drill_create?, ?request_options: Hash[Symbol, untyped]?) -> restore_drill
7479
+ def delete: (drill_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
7480
+ def get: (?org_id: String?, ?valid_days: Integer?, ?request_options: Hash[Symbol, untyped]?) -> drill_coverage_response
7481
+ def log: (?org_id: String?, ?resource_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "drills" => Array[restore_drill] }
7482
+ end
7483
+
7401
7484
  class BackupsPoliciesNamespace
7402
7485
  def initialize: (Transport) -> void
7403
7486
  def create: (?org_id: String?, ?body: backup_policy_create?, ?request_options: Hash[Symbol, untyped]?) -> backup_policy
@@ -7407,6 +7490,7 @@ module Infrawrench
7407
7490
  end
7408
7491
 
7409
7492
  class BackupsNamespace
7493
+ attr_reader drills: BackupsDrillsNamespace
7410
7494
  attr_reader policies: BackupsPoliciesNamespace
7411
7495
  def initialize: (Transport) -> void
7412
7496
  def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> backup_coverage_response
@@ -8384,7 +8468,15 @@ module Infrawrench
8384
8468
  def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> org_status_incidents_response
8385
8469
  end
8386
8470
 
8471
+ class StatusPagesCustomHostnameNamespace
8472
+ def initialize: (Transport) -> void
8473
+ def create: (id: String, ?org_id: String?, ?body: status_page_custom_hostname_attach?, ?request_options: Hash[Symbol, untyped]?) -> status_page
8474
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> status_page
8475
+ def refresh: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> status_page
8476
+ end
8477
+
8387
8478
  class StatusPagesNamespace
8479
+ attr_reader custom_hostname: StatusPagesCustomHostnameNamespace
8388
8480
  def initialize: (Transport) -> void
8389
8481
  def create: (?org_id: String?, ?body: status_page_create?, ?request_options: Hash[Symbol, untyped]?) -> status_page
8390
8482
  def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
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.34.0
4
+ version: 1.36.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infrawrench LLC
@@ -9,9 +9,9 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2026-08-20 00:00:00.000000000 Z
12
+ date: 2026-08-25 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.34.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.36.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.34.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.36.0).
62
62
  test_files: []