infrawrench-sdk 0.43.0 → 0.44.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: ecc9b308e5a13f46c1a736435ec4fa3f5a55732460e10767119b2f7ea85ec26a
4
- data.tar.gz: b13490adfef7f16c0b771797e0f40076cfe6b1334ea6ff799584ac0c067911b3
3
+ metadata.gz: 8f5dfafa6b96212083edc49351fd3ca496d1a818f8b5f2fd0e216f5976eb5ba9
4
+ data.tar.gz: 385ece28397adb31bb938363fd233189b00a403920d88a6a7cdc58ffc9bbbae4
5
5
  SHA512:
6
- metadata.gz: 131613f4ba4cbb5df91d133cad14e729080601465249cbe1a708c98cff0381e13fbee12906fa4d6f28a4a7f953affbcd6b740c0451570b54810dcc56ad2c0dc0
7
- data.tar.gz: ba17de994e7e7f005d8a79f261746554b44bc3c924a31cf506855b2cc904dd7fdce23290038232d8662676add7a2e95a27098345e8d88903f59f7a1b4996eb87
6
+ metadata.gz: a4b4548e3d276d10f97a7eadc8207740be2074ca395ed9e353c59d624d6cbd07e3867b44907223986626dd7e97ec9bb57afd39a65332c16f1eae88729d5de69f
7
+ data.tar.gz: a887d736ae783d6b565190c6b910f373baaf8f34c0a47a459c2b616cd9798862e5d355de4218701f5314492c75d54f17706709ddbdfc455be6034c51201ba182
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.43.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `0.44.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
- 383 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 399 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 v0.43.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.44.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.43.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.44.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 (v0.43.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v0.43.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 (v0.44.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v0.44.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 v0.43.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.44.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.43.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.44.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -4912,6 +4912,156 @@ module Infrawrench
4912
4912
  end
4913
4913
  end
4914
4914
 
4915
+ # `client.ownership`
4916
+ class OwnershipNamespace
4917
+ # @api private
4918
+ # @param transport [Transport]
4919
+ def initialize(transport)
4920
+ @transport = transport
4921
+ end
4922
+
4923
+ # Clear a resource's ownership
4924
+ #
4925
+ # Removes the ownership record. The resource itself is untouched.
4926
+ #
4927
+ # _Requires permission: `resources:write`._
4928
+ #
4929
+ # DELETE /api/org/{orgId}/ownership
4930
+ #
4931
+ # Raises on 400: Bad request
4932
+ #
4933
+ # Raises on 404: Not found
4934
+ #
4935
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
4936
+ # constructed with.
4937
+ # @param resource_id [String]
4938
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
4939
+ # @return [nil] This endpoint returns no content.
4940
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
4941
+ def delete(resource_id:, org_id: nil, request_options: nil)
4942
+ @transport.request(
4943
+ http_method: "DELETE",
4944
+ path: "/api/org/{orgId}/ownership",
4945
+ path_params: { "orgId" => org_id },
4946
+ query: { "resourceId" => resource_id },
4947
+ accept: :empty,
4948
+ request_options: request_options
4949
+ )
4950
+ end
4951
+
4952
+ # List resource ownership records
4953
+ #
4954
+ # Every ownership record in the organization — owner, purpose and
4955
+ # authorizing ticket, per resource. Only resources somebody has recorded
4956
+ # something about appear; an absent record means the resource is unowned.
4957
+ #
4958
+ # _Requires permission: `resources:read`._
4959
+ #
4960
+ # GET /api/org/{orgId}/ownership
4961
+ #
4962
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
4963
+ # constructed with.
4964
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
4965
+ # @return [Hash] Parsed JSON, shaped as `ResourceOwnershipListResponse` — see
4966
+ # `sig/infrawrench/sdk.rbs`.
4967
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
4968
+ def get(org_id: nil, request_options: nil)
4969
+ @transport.request(
4970
+ http_method: "GET",
4971
+ path: "/api/org/{orgId}/ownership",
4972
+ path_params: { "orgId" => org_id },
4973
+ request_options: request_options
4974
+ )
4975
+ end
4976
+
4977
+ # List people an owner can be set to
4978
+ #
4979
+ # Org members, as a minimal id/name/email projection for the owner picker.
4980
+ # Requires only `resources:read`, deliberately not `team:read`: recording
4981
+ # who owns a resource must not be reserved for whoever can also read roles
4982
+ # and membership.
4983
+ #
4984
+ # _Requires permission: `resources:read`._
4985
+ #
4986
+ # GET /api/org/{orgId}/ownership/members
4987
+ #
4988
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
4989
+ # constructed with.
4990
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
4991
+ # @return [Hash] Parsed JSON, shaped as `OwnerCandidateListResponse` — see
4992
+ # `sig/infrawrench/sdk.rbs`.
4993
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
4994
+ def members(org_id: nil, request_options: nil)
4995
+ @transport.request(
4996
+ http_method: "GET",
4997
+ path: "/api/org/{orgId}/ownership/members",
4998
+ path_params: { "orgId" => org_id },
4999
+ request_options: request_options
5000
+ )
5001
+ end
5002
+
5003
+ # Get one resource's ownership
5004
+ #
5005
+ # The ownership record for a single resource, or null when none is recorded.
5006
+ #
5007
+ # _Requires permission: `resources:read`._
5008
+ #
5009
+ # GET /api/org/{orgId}/ownership/resource
5010
+ #
5011
+ # Raises on 400: Bad request
5012
+ #
5013
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
5014
+ # constructed with.
5015
+ # @param resource_id [String]
5016
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
5017
+ # @return [Hash] Parsed JSON, shaped as `ResourceOwnershipEnvelope` — see
5018
+ # `sig/infrawrench/sdk.rbs`.
5019
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
5020
+ def resource(resource_id:, org_id: nil, request_options: nil)
5021
+ @transport.request(
5022
+ http_method: "GET",
5023
+ path: "/api/org/{orgId}/ownership/resource",
5024
+ path_params: { "orgId" => org_id },
5025
+ query: { "resourceId" => resource_id },
5026
+ request_options: request_options
5027
+ )
5028
+ end
5029
+
5030
+ # Set a resource's ownership
5031
+ #
5032
+ # Upsert keyed by `resourceId` — ownership is a property of the resource, so
5033
+ # there is no separate create and update. Omitted fields keep their value
5034
+ # and `null` clears one. Clearing every field removes the record entirely
5035
+ # and the response is `null`, which is the new truth rather than an empty
5036
+ # record. An `ownerUserId` must be a member of this organization: ownership
5037
+ # that looks routable but reaches nobody is worse than none.
5038
+ #
5039
+ # _Requires permission: `resources:write`._
5040
+ #
5041
+ # PUT /api/org/{orgId}/ownership
5042
+ #
5043
+ # Raises on 400: Bad request
5044
+ #
5045
+ # Raises on 404: Not found
5046
+ #
5047
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
5048
+ # constructed with.
5049
+ # @param body [Hash, nil] Request body, shaped as `ResourceOwnershipPatch`.
5050
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
5051
+ # @return [Hash] Parsed JSON, shaped as `ResourceOwnership & Hash | nil` — see
5052
+ # `sig/infrawrench/sdk.rbs`.
5053
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
5054
+ def update(org_id: nil, body: nil, request_options: nil)
5055
+ @transport.request(
5056
+ http_method: "PUT",
5057
+ path: "/api/org/{orgId}/ownership",
5058
+ path_params: { "orgId" => org_id },
5059
+ body: body,
5060
+ request_options: request_options
5061
+ )
5062
+ end
5063
+ end
5064
+
4915
5065
  # `client.pages`
4916
5066
  class PagesNamespace
4917
5067
  # @api private
@@ -7894,6 +8044,41 @@ module Infrawrench
7894
8044
  end
7895
8045
  end
7896
8046
 
8047
+ # `client.status`
8048
+ class StatusNamespace
8049
+ # @api private
8050
+ # @param transport [Transport]
8051
+ def initialize(transport)
8052
+ @transport = transport
8053
+ end
8054
+
8055
+ # Read a public status page
8056
+ #
8057
+ # **Unauthenticated.** The only endpoint in this API that takes no
8058
+ # credentials — a status page exists for people with no account. The payload
8059
+ # carries labels, states and uptime history only: probe URLs, resource and
8060
+ # account ids, the organization id and error detail are never included. An
8061
+ # unpublished page and an unknown slug both answer 404, so the endpoint
8062
+ # cannot be used to confirm that a slug is real.
8063
+ #
8064
+ # GET /api/status/{slug}
8065
+ #
8066
+ # Raises on 404: Not found
8067
+ #
8068
+ # @param slug [String]
8069
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
8070
+ # @return [Hash] Parsed JSON, shaped as `PublicStatusPage` — see `sig/infrawrench/sdk.rbs`.
8071
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
8072
+ def get(slug:, request_options: nil)
8073
+ @transport.request(
8074
+ http_method: "GET",
8075
+ path: "/api/status/{slug}",
8076
+ path_params: { "slug" => slug },
8077
+ request_options: request_options
8078
+ )
8079
+ end
8080
+ end
8081
+
7897
8082
  # `client.status_incidents`
7898
8083
  class StatusIncidentsNamespace
7899
8084
  # @api private
@@ -7935,6 +8120,152 @@ module Infrawrench
7935
8120
  end
7936
8121
  end
7937
8122
 
8123
+ # `client.status_pages`
8124
+ class StatusPagesNamespace
8125
+ # @api private
8126
+ # @param transport [Transport]
8127
+ def initialize(transport)
8128
+ @transport = transport
8129
+ end
8130
+
8131
+ # Create a status page
8132
+ #
8133
+ # Creates a page with a freshly generated slug. `published` defaults to
8134
+ # false, so creating a page never exposes anything — publish it as a
8135
+ # separate, deliberate step.
8136
+ #
8137
+ # _Requires permission: `resources:write`._
8138
+ #
8139
+ # POST /api/org/{orgId}/status-pages
8140
+ #
8141
+ # Raises on 400: Bad request
8142
+ #
8143
+ # Raises on 404: Not found
8144
+ #
8145
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
8146
+ # constructed with.
8147
+ # @param body [Hash, nil] Request body, shaped as `StatusPageCreate`.
8148
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
8149
+ # @return [Hash] Parsed JSON, shaped as `StatusPage` — see `sig/infrawrench/sdk.rbs`.
8150
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
8151
+ def create(org_id: nil, body: nil, request_options: nil)
8152
+ @transport.request(
8153
+ http_method: "POST",
8154
+ path: "/api/org/{orgId}/status-pages",
8155
+ path_params: { "orgId" => org_id },
8156
+ body: body,
8157
+ request_options: request_options
8158
+ )
8159
+ end
8160
+
8161
+ # Delete a status page
8162
+ #
8163
+ # The page's link stops working. The probes it published are untouched.
8164
+ #
8165
+ # _Requires permission: `resources:write`._
8166
+ #
8167
+ # DELETE /api/org/{orgId}/status-pages/{id}
8168
+ #
8169
+ # Raises on 404: Not found
8170
+ #
8171
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
8172
+ # constructed with.
8173
+ # @param id [String]
8174
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
8175
+ # @return [nil] This endpoint returns no content.
8176
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
8177
+ def delete(id:, org_id: nil, request_options: nil)
8178
+ @transport.request(
8179
+ http_method: "DELETE",
8180
+ path: "/api/org/{orgId}/status-pages/{id}",
8181
+ path_params: { "orgId" => org_id, "id" => id },
8182
+ accept: :empty,
8183
+ request_options: request_options
8184
+ )
8185
+ end
8186
+
8187
+ # List status pages
8188
+ #
8189
+ # Every status page in the organization, with the probes each publishes and
8190
+ # whether it is currently reachable.
8191
+ #
8192
+ # _Requires permission: `resources:read`._
8193
+ #
8194
+ # GET /api/org/{orgId}/status-pages
8195
+ #
8196
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
8197
+ # constructed with.
8198
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
8199
+ # @return [Hash] Parsed JSON, shaped as `StatusPageListResponse` — see
8200
+ # `sig/infrawrench/sdk.rbs`.
8201
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
8202
+ def get(org_id: nil, request_options: nil)
8203
+ @transport.request(
8204
+ http_method: "GET",
8205
+ path: "/api/org/{orgId}/status-pages",
8206
+ path_params: { "orgId" => org_id },
8207
+ request_options: request_options
8208
+ )
8209
+ end
8210
+
8211
+ # Issue a new public link
8212
+ #
8213
+ # Replaces the slug, revoking the current public URL immediately — the
8214
+ # reroll for a link that ended up somewhere unintended. The page stays
8215
+ # published.
8216
+ #
8217
+ # _Requires permission: `resources:write`._
8218
+ #
8219
+ # POST /api/org/{orgId}/status-pages/{id}/rotate-slug
8220
+ #
8221
+ # Raises on 404: Not found
8222
+ #
8223
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
8224
+ # constructed with.
8225
+ # @param id [String]
8226
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
8227
+ # @return [Hash] Parsed JSON, shaped as `StatusPage` — see `sig/infrawrench/sdk.rbs`.
8228
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
8229
+ def rotate_slug(id:, org_id: nil, request_options: nil)
8230
+ @transport.request(
8231
+ http_method: "POST",
8232
+ path: "/api/org/{orgId}/status-pages/{id}/rotate-slug",
8233
+ path_params: { "orgId" => org_id, "id" => id },
8234
+ request_options: request_options
8235
+ )
8236
+ end
8237
+
8238
+ # Update a status page
8239
+ #
8240
+ # Omitted fields keep their value. `components`, when present, replaces the
8241
+ # whole ordered set — which is also how a reorder is expressed.
8242
+ #
8243
+ # _Requires permission: `resources:write`._
8244
+ #
8245
+ # PUT /api/org/{orgId}/status-pages/{id}
8246
+ #
8247
+ # Raises on 400: Bad request
8248
+ #
8249
+ # Raises on 404: Not found
8250
+ #
8251
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
8252
+ # constructed with.
8253
+ # @param id [String]
8254
+ # @param body [Hash, nil] Request body, shaped as `StatusPagePatch`.
8255
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
8256
+ # @return [Hash] Parsed JSON, shaped as `StatusPage` — see `sig/infrawrench/sdk.rbs`.
8257
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
8258
+ def update(id:, org_id: nil, body: nil, request_options: nil)
8259
+ @transport.request(
8260
+ http_method: "PUT",
8261
+ path: "/api/org/{orgId}/status-pages/{id}",
8262
+ path_params: { "orgId" => org_id, "id" => id },
8263
+ body: body,
8264
+ request_options: request_options
8265
+ )
8266
+ end
8267
+ end
8268
+
7938
8269
  # `client.storage`
7939
8270
  class StorageNamespace
7940
8271
  # @api private
@@ -8772,6 +9103,8 @@ module Infrawrench
8772
9103
  attr_reader :orgs
8773
9104
  # @return [OrphansNamespace] `client.orphans`
8774
9105
  attr_reader :orphans
9106
+ # @return [OwnershipNamespace] `client.ownership`
9107
+ attr_reader :ownership
8775
9108
  # @return [PagesNamespace] `client.pages`
8776
9109
  attr_reader :pages
8777
9110
  # @return [PostureNamespace] `client.posture`
@@ -8802,8 +9135,12 @@ module Infrawrench
8802
9135
  attr_reader :ssh_keys
8803
9136
  # @return [SshTunnelsNamespace] `client.ssh_tunnels`
8804
9137
  attr_reader :ssh_tunnels
9138
+ # @return [StatusNamespace] `client.status`
9139
+ attr_reader :status
8805
9140
  # @return [StatusIncidentsNamespace] `client.status_incidents`
8806
9141
  attr_reader :status_incidents
9142
+ # @return [StatusPagesNamespace] `client.status_pages`
9143
+ attr_reader :status_pages
8807
9144
  # @return [StorageNamespace] `client.storage`
8808
9145
  attr_reader :storage
8809
9146
  # @return [TagPolicyNamespace] `client.tag_policy`
@@ -8855,6 +9192,7 @@ module Infrawrench
8855
9192
  @msteams = MsteamsNamespace.new(@transport)
8856
9193
  @orgs = OrgsNamespace.new(@transport)
8857
9194
  @orphans = OrphansNamespace.new(@transport)
9195
+ @ownership = OwnershipNamespace.new(@transport)
8858
9196
  @pages = PagesNamespace.new(@transport)
8859
9197
  @posture = PostureNamespace.new(@transport)
8860
9198
  @probes = ProbesNamespace.new(@transport)
@@ -8870,7 +9208,9 @@ module Infrawrench
8870
9208
  @ssh_fanout = SshFanoutNamespace.new(@transport)
8871
9209
  @ssh_keys = SshKeysNamespace.new(@transport)
8872
9210
  @ssh_tunnels = SshTunnelsNamespace.new(@transport)
9211
+ @status = StatusNamespace.new(@transport)
8873
9212
  @status_incidents = StatusIncidentsNamespace.new(@transport)
9213
+ @status_pages = StatusPagesNamespace.new(@transport)
8874
9214
  @storage = StorageNamespace.new(@transport)
8875
9215
  @tag_policy = TagPolicyNamespace.new(@transport)
8876
9216
  @team = TeamNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.43.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.44.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.43.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.44.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 v0.43.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.44.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.43.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.44.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 v0.43.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.44.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.43.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.44.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.43.0"
18
+ VERSION = "0.44.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.43.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.44.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.43.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.44.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 v0.43.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v0.44.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.43.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.44.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1946,6 +1946,7 @@ module Infrawrench
1946
1946
  type orphan_list_response = {
1947
1947
  "accounts" => Array[orphan_account_group],
1948
1948
  "totalCount" => Integer,
1949
+ "unownedCount" => Integer,
1949
1950
  "costWindowDays" => Integer,
1950
1951
  "generatedAt" => String
1951
1952
  }
@@ -1960,6 +1961,7 @@ module Infrawrench
1960
1961
  "externalId" => String | nil,
1961
1962
  "reason" => String,
1962
1963
  "cost" => orphan_cost_annotation,
1964
+ "owner" => resource_owner_annotation,
1963
1965
  "lastSyncedAt" => String | nil
1964
1966
  }
1965
1967
 
@@ -2003,6 +2005,12 @@ module Infrawrench
2003
2005
  "priceMonthly" => Numeric | nil
2004
2006
  }
2005
2007
 
2008
+ # Spec schema: `OwnerCandidate`.
2009
+ type owner_candidate = { "userId" => String, "name" => String, "email" => String }
2010
+
2011
+ # Spec schema: `OwnerCandidateListResponse`.
2012
+ type owner_candidate_list_response = { "members" => Array[owner_candidate] }
2013
+
2006
2014
  # Spec schema: `OwnershipBlocker`.
2007
2015
  type ownership_blocker = { "id" => String, "name" => String, "memberCount" => Integer }
2008
2016
 
@@ -2414,6 +2422,30 @@ module Infrawrench
2414
2422
  # Spec schema: `ProviderIncidentState`.
2415
2423
  type provider_incident_state = "investigating" | "identified" | "monitoring" | "resolved"
2416
2424
 
2425
+ # Spec schema: `PublicStatusComponent`.
2426
+ type public_status_component = {
2427
+ "id" => String,
2428
+ "name" => String,
2429
+ "groupName" => String | nil,
2430
+ "state" => "operational" | "degraded" | "down" | "unknown",
2431
+ "uptime24h" => Numeric | nil,
2432
+ "history" => Array[status_history_day]
2433
+ }
2434
+
2435
+ # Spec schema: `PublicStatusPage`.
2436
+ type public_status_page = {
2437
+ "title" => String,
2438
+ "description" => String | nil,
2439
+ "state" => "operational" | "degraded" | "major_outage" | "unknown",
2440
+ "summary" => String,
2441
+ "components" => Array[public_status_component],
2442
+ "supportUrl" => String | nil,
2443
+ "showHistory" => bool,
2444
+ "showUptime" => bool,
2445
+ "historyDays" => Integer,
2446
+ "generatedAt" => String
2447
+ }
2448
+
2417
2449
  # Spec schema: `PushedCostRow`.
2418
2450
  type pushed_cost_row = {
2419
2451
  "date" => String,
@@ -2571,6 +2603,53 @@ module Infrawrench
2571
2603
  # Spec schema: `ResourceLeaseUpdate`.
2572
2604
  type resource_lease_update = { ?"expiresAt" => String, ?"autoDelete" => bool, ?"note" => String | nil }
2573
2605
 
2606
+ # Who owns this resource, or null when nobody has claimed it. Present only
2607
+ # when the owner can be named: a resource carrying a purpose but no owner
2608
+ # reads as null, because the question this answers is who to tell.
2609
+ #
2610
+ # Spec schema: `ResourceOwnerAnnotation`.
2611
+ type resource_owner_annotation = {
2612
+ "userId" => String | nil,
2613
+ "displayName" => String,
2614
+ "isLabel" => bool,
2615
+ "ticketUrl" => String | nil,
2616
+ "purpose" => String | nil
2617
+ }
2618
+ | nil
2619
+
2620
+ # Spec schema: `ResourceOwnership`.
2621
+ type resource_ownership = {
2622
+ "id" => String,
2623
+ "resourceId" => String,
2624
+ "accountId" => String,
2625
+ "pluginId" => plugin_id,
2626
+ "resourceTypeId" => String,
2627
+ "resourceName" => String,
2628
+ "ownerUserId" => String | nil,
2629
+ "ownerName" => String | nil,
2630
+ "ownerEmail" => String | nil,
2631
+ "ownerLabel" => String | nil,
2632
+ "purpose" => String | nil,
2633
+ "ticketUrl" => String | nil,
2634
+ "createdAt" => String,
2635
+ "updatedAt" => String
2636
+ }
2637
+
2638
+ # Spec schema: `ResourceOwnershipEnvelope`.
2639
+ type resource_ownership_envelope = { "ownership" => resource_ownership & (Hash[String, untyped] | nil) }
2640
+
2641
+ # Spec schema: `ResourceOwnershipListResponse`.
2642
+ type resource_ownership_list_response = { "ownership" => Array[resource_ownership] }
2643
+
2644
+ # Spec schema: `ResourceOwnershipPatch`.
2645
+ type resource_ownership_patch = {
2646
+ "resourceId" => String,
2647
+ ?"ownerUserId" => String | nil,
2648
+ ?"ownerLabel" => String | nil,
2649
+ ?"purpose" => String | nil,
2650
+ ?"ticketUrl" => String | nil
2651
+ }
2652
+
2574
2653
  # Normalized status reported by a plugin's renderSidebarItem/renderDetail.
2575
2654
  #
2576
2655
  # Spec schema: `ResourceStatus`.
@@ -3455,6 +3534,64 @@ module Infrawrench
3455
3534
  # Spec schema: `StatusDot`.
3456
3535
  type status_dot = { "kind" => "status-dot", "status" => resource_status, ?"label" => String }
3457
3536
 
3537
+ # Spec schema: `StatusHistoryDay`.
3538
+ type status_history_day = { "day" => String, "uptime" => Numeric | nil }
3539
+
3540
+ # Spec schema: `StatusPage`.
3541
+ type status_page = {
3542
+ "id" => String,
3543
+ "slug" => String,
3544
+ "title" => String,
3545
+ "description" => String | nil,
3546
+ "published" => bool,
3547
+ "showHistory" => bool,
3548
+ "showUptime" => bool,
3549
+ "supportUrl" => String | nil,
3550
+ "components" => Array[status_page_component],
3551
+ "createdAt" => String,
3552
+ "updatedAt" => String
3553
+ }
3554
+
3555
+ # Spec schema: `StatusPageComponent`.
3556
+ type status_page_component = {
3557
+ "id" => String,
3558
+ "probeId" => String,
3559
+ "label" => String | nil,
3560
+ "groupName" => String | nil,
3561
+ "position" => Integer,
3562
+ "probeName" => String,
3563
+ "probeStatus" => "up" | "down" | "unknown",
3564
+ "probeEnabled" => bool
3565
+ }
3566
+
3567
+ # Spec schema: `StatusPageComponentInput`.
3568
+ type status_page_component_input = { "probeId" => String, ?"label" => String | nil, ?"groupName" => String | nil }
3569
+
3570
+ # Spec schema: `StatusPageCreate`.
3571
+ type status_page_create = {
3572
+ "title" => String,
3573
+ ?"description" => String | nil,
3574
+ ?"published" => bool,
3575
+ ?"showHistory" => bool,
3576
+ ?"showUptime" => bool,
3577
+ ?"supportUrl" => String | nil,
3578
+ ?"components" => Array[status_page_component_input]
3579
+ }
3580
+
3581
+ # Spec schema: `StatusPageListResponse`.
3582
+ type status_page_list_response = { "pages" => Array[status_page] }
3583
+
3584
+ # Spec schema: `StatusPagePatch`.
3585
+ type status_page_patch = {
3586
+ ?"title" => String,
3587
+ ?"description" => String | nil,
3588
+ ?"published" => bool,
3589
+ ?"showHistory" => bool,
3590
+ ?"showUptime" => bool,
3591
+ ?"supportUrl" => String | nil,
3592
+ ?"components" => Array[status_page_component_input]
3593
+ }
3594
+
3458
3595
  # Spec schema: `StorageListRequest`.
3459
3596
  type storage_list_request = { "accountId" => String, "bucket" => String, "prefix" => String }
3460
3597
 
@@ -4129,6 +4266,15 @@ module Infrawrench
4129
4266
  def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> orphan_list_response
4130
4267
  end
4131
4268
 
4269
+ class OwnershipNamespace
4270
+ def initialize: (Transport) -> void
4271
+ def delete: (resource_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
4272
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> resource_ownership_list_response
4273
+ def members: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> owner_candidate_list_response
4274
+ def resource: (resource_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> resource_ownership_envelope
4275
+ def update: (?org_id: String?, ?body: resource_ownership_patch?, ?request_options: Hash[Symbol, untyped]?) -> (resource_ownership & (Hash[String, untyped] | nil))
4276
+ end
4277
+
4132
4278
  class PagesNamespace
4133
4279
  def initialize: (Transport) -> void
4134
4280
  def create: (body: page_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> page_response
@@ -4341,11 +4487,25 @@ module Infrawrench
4341
4487
  def open: (body: { "accountId" => String }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "tunnelId" => String, "localPort" => Integer }
4342
4488
  end
4343
4489
 
4490
+ class StatusNamespace
4491
+ def initialize: (Transport) -> void
4492
+ def get: (slug: String, ?request_options: Hash[Symbol, untyped]?) -> public_status_page
4493
+ end
4494
+
4344
4495
  class StatusIncidentsNamespace
4345
4496
  def initialize: (Transport) -> void
4346
4497
  def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> org_status_incidents_response
4347
4498
  end
4348
4499
 
4500
+ class StatusPagesNamespace
4501
+ def initialize: (Transport) -> void
4502
+ def create: (?org_id: String?, ?body: status_page_create?, ?request_options: Hash[Symbol, untyped]?) -> status_page
4503
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
4504
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> status_page_list_response
4505
+ def rotate_slug: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> status_page
4506
+ def update: (id: String, ?org_id: String?, ?body: status_page_patch?, ?request_options: Hash[Symbol, untyped]?) -> status_page
4507
+ end
4508
+
4349
4509
  class StorageNamespace
4350
4510
  def initialize: (Transport) -> void
4351
4511
  def delete: (body: storage_path_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
@@ -4449,6 +4609,7 @@ module Infrawrench
4449
4609
  attr_reader msteams: MsteamsNamespace
4450
4610
  attr_reader orgs: OrgsNamespace
4451
4611
  attr_reader orphans: OrphansNamespace
4612
+ attr_reader ownership: OwnershipNamespace
4452
4613
  attr_reader pages: PagesNamespace
4453
4614
  attr_reader posture: PostureNamespace
4454
4615
  attr_reader probes: ProbesNamespace
@@ -4464,7 +4625,9 @@ module Infrawrench
4464
4625
  attr_reader ssh_fanout: SshFanoutNamespace
4465
4626
  attr_reader ssh_keys: SshKeysNamespace
4466
4627
  attr_reader ssh_tunnels: SshTunnelsNamespace
4628
+ attr_reader status: StatusNamespace
4467
4629
  attr_reader status_incidents: StatusIncidentsNamespace
4630
+ attr_reader status_pages: StatusPagesNamespace
4468
4631
  attr_reader storage: StorageNamespace
4469
4632
  attr_reader tag_policy: TagPolicyNamespace
4470
4633
  attr_reader team: TeamNamespace
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.43.0
4
+ version: 0.44.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 (v0.43.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v0.44.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 (v0.43.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v0.44.0).
62
62
  test_files: []