infrawrench-sdk 1.20.0 → 1.22.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: 2aade9009a4966cfaa9e82b4699079a6fd8d6905851025aae181ff1b7fbcbb81
4
- data.tar.gz: 9a5246069b56720d98491a61586fc3e5974a6c9275c773bc5cc03fe155011794
3
+ metadata.gz: fb9eeb64fa09152b2c64e0dd72fbf56160ab1447064a683d6611b4017c380e33
4
+ data.tar.gz: 4dc2e29cc24388f7b1eb588def8ac852cd7438f5cba69fd82ad482ad9f168dc7
5
5
  SHA512:
6
- metadata.gz: 6e70ca3fc61a7f2e1ca9f4a2566bc0c304485d72d0753839c8754688f11cfcd482b260a30374c3b36cdf35d78c48d3b9c731950715ea6809b3d417d846f62456
7
- data.tar.gz: b5837bebf73eda20028285801425c5c89a42271701ed783839a316b3119bba973baf32033db5f0bc945c967f0fbf3feca93aebc4a47af941a744a8862e65dabe
6
+ metadata.gz: 9afc981bac83fc80810c908230b83b0ce35e9f5039cfbcde7ba0e0ccbfcecfd18184f1a52549cd1f3b31fdf2e03909787d7806ce27a719183ba38447f425c155
7
+ data.tar.gz: 721dba6ea2183416418eb7f79ff4fd33419c25e12d1f1278ffcdbe20c8163a603f4f77727f6e34e8ae0bf52cc2a519a317df9ef9cce27589879d8c6f40d910d3
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.20.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.22.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
- 635 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 654 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.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.22.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.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.22.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.20.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.20.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.22.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.22.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.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.22.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.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.22.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -6873,6 +6873,475 @@ module Infrawrench
6873
6873
  end
6874
6874
  end
6875
6875
 
6876
+ # `client.environments.instances`
6877
+ class EnvironmentsInstancesNamespace
6878
+ # @api private
6879
+ # @param transport [Transport]
6880
+ def initialize(transport)
6881
+ @transport = transport
6882
+ end
6883
+
6884
+ # Forget a torn-down environment
6885
+ #
6886
+ # Removes the record. Refuses while the instance still owns resources — the
6887
+ # row is the only thing that knows they exist. Audit-logged.
6888
+ #
6889
+ # _Requires permission: `resources:write`._
6890
+ #
6891
+ # DELETE /api/org/{orgId}/environments/instances/{instanceId}
6892
+ #
6893
+ # Raises on 404: Not found
6894
+ #
6895
+ # Raises on 409: The environment is still live — tear it down first
6896
+ #
6897
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6898
+ # constructed with.
6899
+ # @param instance_id [String]
6900
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6901
+ # @return [nil] This endpoint returns no content.
6902
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6903
+ def delete(instance_id:, org_id: nil, request_options: nil)
6904
+ @transport.request(
6905
+ http_method: "DELETE",
6906
+ path: "/api/org/{orgId}/environments/instances/{instanceId}",
6907
+ path_params: { "orgId" => org_id, "instanceId" => instance_id },
6908
+ accept: :empty,
6909
+ request_options: request_options
6910
+ )
6911
+ end
6912
+
6913
+ # List environment instances
6914
+ #
6915
+ # Newest first. Reading this also reconciles instances past their deadline
6916
+ # against what the lease pass already deleted, so an environment whose
6917
+ # resources are all gone stops reporting itself as running.
6918
+ #
6919
+ # _Requires permission: `resources:read`._
6920
+ #
6921
+ # GET /api/org/{orgId}/environments/instances
6922
+ #
6923
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6924
+ # constructed with.
6925
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6926
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentInstanceList` — see
6927
+ # `sig/infrawrench/sdk.rbs`.
6928
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6929
+ def get(org_id: nil, request_options: nil)
6930
+ @transport.request(
6931
+ http_method: "GET",
6932
+ path: "/api/org/{orgId}/environments/instances",
6933
+ path_params: { "orgId" => org_id },
6934
+ request_options: request_options
6935
+ )
6936
+ end
6937
+
6938
+ # Get an environment instance
6939
+ #
6940
+ # _Requires permission: `resources:read`._
6941
+ #
6942
+ # GET /api/org/{orgId}/environments/instances/{instanceId}
6943
+ #
6944
+ # Raises on 404: Not found
6945
+ #
6946
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6947
+ # constructed with.
6948
+ # @param instance_id [String]
6949
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6950
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentInstance` — see
6951
+ # `sig/infrawrench/sdk.rbs`.
6952
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6953
+ def get_org_org_id_environments_instances_instance_id(
6954
+ instance_id:,
6955
+ org_id: nil,
6956
+ request_options: nil
6957
+ )
6958
+ @transport.request(
6959
+ http_method: "GET",
6960
+ path: "/api/org/{orgId}/environments/instances/{instanceId}",
6961
+ path_params: { "orgId" => org_id, "instanceId" => instance_id },
6962
+ request_options: request_options
6963
+ )
6964
+ end
6965
+
6966
+ # Tear an environment down now
6967
+ #
6968
+ # Deletes every created member through the ordinary `deleteResource` path,
6969
+ # in reverse creation order. Idempotent: a member already gone, a resource
6970
+ # the provider answers 404 for, and an instance already torn down all
6971
+ # succeed quietly, so this is safe to retry. Blocked by an active change
6972
+ # freeze. Audit-logged.
6973
+ #
6974
+ # _Requires permission: `resources:delete`._
6975
+ #
6976
+ # POST /api/org/{orgId}/environments/instances/{instanceId}/teardown
6977
+ #
6978
+ # Raises on 404: Not found
6979
+ #
6980
+ # Raises on 423: Blocked by an active change freeze. Retry with the
6981
+ # `x-change-freeze-override: true` header if you hold `freezes:override`;
6982
+ # both blocks and overrides are audit-logged.
6983
+ #
6984
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6985
+ # constructed with.
6986
+ # @param instance_id [String]
6987
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
6988
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentInstance` — see
6989
+ # `sig/infrawrench/sdk.rbs`.
6990
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
6991
+ def teardown(instance_id:, org_id: nil, request_options: nil)
6992
+ @transport.request(
6993
+ http_method: "POST",
6994
+ path: "/api/org/{orgId}/environments/instances/{instanceId}/teardown",
6995
+ path_params: { "orgId" => org_id, "instanceId" => instance_id },
6996
+ request_options: request_options
6997
+ )
6998
+ end
6999
+ end
7000
+
7001
+ # `client.environments.settings`
7002
+ class EnvironmentsSettingsNamespace
7003
+ # @api private
7004
+ # @param transport [Transport]
7005
+ def initialize(transport)
7006
+ @transport = transport
7007
+ end
7008
+
7009
+ # Get the organization's environment TTL rails
7010
+ #
7011
+ # The longest TTL an instantiation may ask for and the TTL the form
7012
+ # pre-fills. Absent settings normalize into the shipped defaults (168h /
7013
+ # 24h).
7014
+ #
7015
+ # _Requires permission: `resources:read`._
7016
+ #
7017
+ # GET /api/org/{orgId}/environments/settings
7018
+ #
7019
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7020
+ # constructed with.
7021
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7022
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentSettings` — see
7023
+ # `sig/infrawrench/sdk.rbs`.
7024
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
7025
+ def get(org_id: nil, request_options: nil)
7026
+ @transport.request(
7027
+ http_method: "GET",
7028
+ path: "/api/org/{orgId}/environments/settings",
7029
+ path_params: { "orgId" => org_id },
7030
+ request_options: request_options
7031
+ )
7032
+ end
7033
+
7034
+ # Set the organization's environment TTL rails
7035
+ #
7036
+ # `org:settings:write`, not `resources:write` — this is a governance
7037
+ # decision about how long the organization is willing to pay for a throwaway
7038
+ # environment. Clamped to a 720-hour ceiling; the default is clamped to the
7039
+ # maximum. Audit-logged.
7040
+ #
7041
+ # _Requires permission: `org:settings:write`._
7042
+ #
7043
+ # PUT /api/org/{orgId}/environments/settings
7044
+ #
7045
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7046
+ # constructed with.
7047
+ # @param body [Hash, nil] Request body, shaped as `EnvironmentSettings`.
7048
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7049
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentSettings` — see
7050
+ # `sig/infrawrench/sdk.rbs`.
7051
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
7052
+ def update(org_id: nil, body: nil, request_options: nil)
7053
+ @transport.request(
7054
+ http_method: "PUT",
7055
+ path: "/api/org/{orgId}/environments/settings",
7056
+ path_params: { "orgId" => org_id },
7057
+ body: body,
7058
+ request_options: request_options
7059
+ )
7060
+ end
7061
+ end
7062
+
7063
+ # `client.environments.templates`
7064
+ class EnvironmentsTemplatesNamespace
7065
+ # @api private
7066
+ # @param transport [Transport]
7067
+ def initialize(transport)
7068
+ @transport = transport
7069
+ end
7070
+
7071
+ # Create an environment template
7072
+ #
7073
+ # Save a capture draft as a template. Member keys must be unique, every
7074
+ # parameter and member reference must resolve, and the members must be
7075
+ # orderable — a dependency cycle is rejected here rather than half-way
7076
+ # through an apply. Audit-logged.
7077
+ #
7078
+ # _Requires permission: `resources:write`._
7079
+ #
7080
+ # POST /api/org/{orgId}/environments/templates
7081
+ #
7082
+ # Raises on 400: Bad request
7083
+ #
7084
+ # Raises on 409: A template with that name already exists
7085
+ #
7086
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7087
+ # constructed with.
7088
+ # @param body [Hash, nil] Request body, shaped as `EnvironmentTemplateInput`.
7089
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7090
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentTemplate` — see
7091
+ # `sig/infrawrench/sdk.rbs`.
7092
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
7093
+ def create(org_id: nil, body: nil, request_options: nil)
7094
+ @transport.request(
7095
+ http_method: "POST",
7096
+ path: "/api/org/{orgId}/environments/templates",
7097
+ path_params: { "orgId" => org_id },
7098
+ body: body,
7099
+ request_options: request_options
7100
+ )
7101
+ end
7102
+
7103
+ # Delete an environment template
7104
+ #
7105
+ # Live instances keep running and keep their TTL — they own real resources,
7106
+ # and the template is only where they came from. Their `templateId` becomes
7107
+ # null; the denormalized `templateName` is what the surface reads.
7108
+ # Audit-logged.
7109
+ #
7110
+ # _Requires permission: `resources:write`._
7111
+ #
7112
+ # DELETE /api/org/{orgId}/environments/templates/{templateId}
7113
+ #
7114
+ # Raises on 404: Not found
7115
+ #
7116
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7117
+ # constructed with.
7118
+ # @param template_id [String]
7119
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7120
+ # @return [nil] This endpoint returns no content.
7121
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
7122
+ def delete(template_id:, org_id: nil, request_options: nil)
7123
+ @transport.request(
7124
+ http_method: "DELETE",
7125
+ path: "/api/org/{orgId}/environments/templates/{templateId}",
7126
+ path_params: { "orgId" => org_id, "templateId" => template_id },
7127
+ accept: :empty,
7128
+ request_options: request_options
7129
+ )
7130
+ end
7131
+
7132
+ # Price an instantiation before it runs
7133
+ #
7134
+ # Runs each member's create fields through the plugin's own `estimateCost`.
7135
+ # A member the plugin cannot price is counted in `unpricedCount` and makes
7136
+ # the total `partial` — `null` is never rounded to zero.
7137
+ #
7138
+ # _Requires permission: `resources:read`._
7139
+ #
7140
+ # POST /api/org/{orgId}/environments/templates/{templateId}/estimate
7141
+ #
7142
+ # Raises on 400: Bad request
7143
+ #
7144
+ # Raises on 404: Not found
7145
+ #
7146
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7147
+ # constructed with.
7148
+ # @param template_id [String]
7149
+ # @param body [Hash, nil] Request body, shaped as `EnvironmentEstimateRequest`.
7150
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7151
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentCostEstimate` — see
7152
+ # `sig/infrawrench/sdk.rbs`.
7153
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
7154
+ def estimate(template_id:, org_id: nil, body: nil, request_options: nil)
7155
+ @transport.request(
7156
+ http_method: "POST",
7157
+ path: "/api/org/{orgId}/environments/templates/{templateId}/estimate",
7158
+ path_params: { "orgId" => org_id, "templateId" => template_id },
7159
+ body: body,
7160
+ request_options: request_options
7161
+ )
7162
+ end
7163
+
7164
+ # List environment templates
7165
+ #
7166
+ # _Requires permission: `resources:read`._
7167
+ #
7168
+ # GET /api/org/{orgId}/environments/templates
7169
+ #
7170
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7171
+ # constructed with.
7172
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7173
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentTemplateList` — see
7174
+ # `sig/infrawrench/sdk.rbs`.
7175
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
7176
+ def get(org_id: nil, request_options: nil)
7177
+ @transport.request(
7178
+ http_method: "GET",
7179
+ path: "/api/org/{orgId}/environments/templates",
7180
+ path_params: { "orgId" => org_id },
7181
+ request_options: request_options
7182
+ )
7183
+ end
7184
+
7185
+ # Get an environment template
7186
+ #
7187
+ # _Requires permission: `resources:read`._
7188
+ #
7189
+ # GET /api/org/{orgId}/environments/templates/{templateId}
7190
+ #
7191
+ # Raises on 404: Not found
7192
+ #
7193
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7194
+ # constructed with.
7195
+ # @param template_id [String]
7196
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7197
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentTemplate` — see
7198
+ # `sig/infrawrench/sdk.rbs`.
7199
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
7200
+ def get_org_org_id_environments_templates_template_id(
7201
+ template_id:,
7202
+ org_id: nil,
7203
+ request_options: nil
7204
+ )
7205
+ @transport.request(
7206
+ http_method: "GET",
7207
+ path: "/api/org/{orgId}/environments/templates/{templateId}",
7208
+ path_params: { "orgId" => org_id, "templateId" => template_id },
7209
+ request_options: request_options
7210
+ )
7211
+ end
7212
+
7213
+ # Stamp out an environment
7214
+ #
7215
+ # Creates the template's resources in dependency order through the ordinary
7216
+ # `createResource` path, name-prefixed per instance, and attaches an
7217
+ # auto-delete lease to each so expiry runs through the existing lease pass.
7218
+ # `ttlHours` is **required**. Requires `resources:write` **and**
7219
+ # `resources:delete` (the lease is a standing deletion, the same rule `POST
7220
+ # /leases` applies), and is blocked by an active change freeze. A create
7221
+ # that fails part-way returns a `partial` instance whose created members are
7222
+ # recorded and tearable-down, never an error with orphaned resources behind
7223
+ # it. Audit-logged.
7224
+ #
7225
+ # _Requires permission: `resources:write`._
7226
+ #
7227
+ # POST /api/org/{orgId}/environments/templates/{templateId}/instantiate
7228
+ #
7229
+ # Raises on 400: Bad request
7230
+ #
7231
+ # Raises on 404: Not found
7232
+ #
7233
+ # Raises on 409: The organization is at its live-environment limit
7234
+ #
7235
+ # Raises on 423: Blocked by an active change freeze. Retry with the
7236
+ # `x-change-freeze-override: true` header if you hold `freezes:override`;
7237
+ # both blocks and overrides are audit-logged.
7238
+ #
7239
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7240
+ # constructed with.
7241
+ # @param template_id [String]
7242
+ # @param body [Hash, nil] Request body, shaped as `EnvironmentInstantiateRequest`.
7243
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7244
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentInstance` — see
7245
+ # `sig/infrawrench/sdk.rbs`.
7246
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
7247
+ def instantiate(template_id:, org_id: nil, body: nil, request_options: nil)
7248
+ @transport.request(
7249
+ http_method: "POST",
7250
+ path: "/api/org/{orgId}/environments/templates/{templateId}/instantiate",
7251
+ path_params: { "orgId" => org_id, "templateId" => template_id },
7252
+ body: body,
7253
+ request_options: request_options
7254
+ )
7255
+ end
7256
+
7257
+ # Replace an environment template
7258
+ #
7259
+ # The whole document is replaced. Live instances are unaffected.
7260
+ # Audit-logged.
7261
+ #
7262
+ # _Requires permission: `resources:write`._
7263
+ #
7264
+ # PUT /api/org/{orgId}/environments/templates/{templateId}
7265
+ #
7266
+ # Raises on 400: Bad request
7267
+ #
7268
+ # Raises on 404: Not found
7269
+ #
7270
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7271
+ # constructed with.
7272
+ # @param template_id [String]
7273
+ # @param body [Hash, nil] Request body, shaped as `EnvironmentTemplateInput`.
7274
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7275
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentTemplate` — see
7276
+ # `sig/infrawrench/sdk.rbs`.
7277
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
7278
+ def update(template_id:, org_id: nil, body: nil, request_options: nil)
7279
+ @transport.request(
7280
+ http_method: "PUT",
7281
+ path: "/api/org/{orgId}/environments/templates/{templateId}",
7282
+ path_params: { "orgId" => org_id, "templateId" => template_id },
7283
+ body: body,
7284
+ request_options: request_options
7285
+ )
7286
+ end
7287
+ end
7288
+
7289
+ # `client.environments`
7290
+ class EnvironmentsNamespace
7291
+ # @return [EnvironmentsInstancesNamespace] `client.environments.instances`
7292
+ attr_reader :instances
7293
+ # @return [EnvironmentsSettingsNamespace] `client.environments.settings`
7294
+ attr_reader :settings
7295
+ # @return [EnvironmentsTemplatesNamespace] `client.environments.templates`
7296
+ attr_reader :templates
7297
+
7298
+ # @api private
7299
+ # @param transport [Transport]
7300
+ def initialize(transport)
7301
+ @transport = transport
7302
+ @instances = EnvironmentsInstancesNamespace.new(@transport)
7303
+ @settings = EnvironmentsSettingsNamespace.new(@transport)
7304
+ @templates = EnvironmentsTemplatesNamespace.new(@transport)
7305
+ end
7306
+
7307
+ # Preview a template capture
7308
+ #
7309
+ # Turn a selection of live resources into a draft template. **Persists
7310
+ # nothing** — the editor shows the draft so the user can choose which fields
7311
+ # to vary before saving. The shape of every member comes from the plugin's
7312
+ # own `getCreateConfig`: a captured value with no matching create field is
7313
+ # dropped, and a resource type the plugin cannot create is reported in
7314
+ # `skipped` with a reason rather than silently omitted. Recorded output
7315
+ # references whose target is also in the selection are preserved as `output`
7316
+ # field values; a value that is exactly another selected resource's external
7317
+ # id becomes a `member-id`.
7318
+ #
7319
+ # _Requires permission: `resources:read`._
7320
+ #
7321
+ # POST /api/org/{orgId}/environments/capture
7322
+ #
7323
+ # Raises on 400: Bad request
7324
+ #
7325
+ # Raises on 404: Not found
7326
+ #
7327
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7328
+ # constructed with.
7329
+ # @param body [Hash, nil] Request body, shaped as `EnvironmentCaptureRequest`.
7330
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
7331
+ # @return [Hash] Parsed JSON, shaped as `EnvironmentCaptureDraft` — see
7332
+ # `sig/infrawrench/sdk.rbs`.
7333
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
7334
+ def capture(org_id: nil, body: nil, request_options: nil)
7335
+ @transport.request(
7336
+ http_method: "POST",
7337
+ path: "/api/org/{orgId}/environments/capture",
7338
+ path_params: { "orgId" => org_id },
7339
+ body: body,
7340
+ request_options: request_options
7341
+ )
7342
+ end
7343
+ end
7344
+
6876
7345
  # `client.expiring.settings`
6877
7346
  class ExpiringSettingsNamespace
6878
7347
  # @api private
@@ -14403,6 +14872,8 @@ module Infrawrench
14403
14872
  attr_reader :docker
14404
14873
  # @return [EnvironmentDiffNamespace] `client.environment_diff`
14405
14874
  attr_reader :environment_diff
14875
+ # @return [EnvironmentsNamespace] `client.environments`
14876
+ attr_reader :environments
14406
14877
  # @return [ExpiringNamespace] `client.expiring`
14407
14878
  attr_reader :expiring
14408
14879
  # @return [IacNamespace] `client.iac`
@@ -14539,6 +15010,7 @@ module Infrawrench
14539
15010
  @dns = DnsNamespace.new(@transport)
14540
15011
  @docker = DockerNamespace.new(@transport)
14541
15012
  @environment_diff = EnvironmentDiffNamespace.new(@transport)
15013
+ @environments = EnvironmentsNamespace.new(@transport)
14542
15014
  @expiring = ExpiringNamespace.new(@transport)
14543
15015
  @iac = IacNamespace.new(@transport)
14544
15016
  @incidents = IncidentsNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.22.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.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.22.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.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.22.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.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.22.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.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.22.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.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.22.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.20.0"
18
+ VERSION = "1.22.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.22.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.20.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.22.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.20.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.22.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.20.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.22.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -2711,6 +2711,47 @@ module Infrawrench
2711
2711
  "notifiedAt" => String | nil
2712
2712
  }
2713
2713
 
2714
+ # Spec schema: `EnvironmentCaptureDraft`.
2715
+ type environment_capture_draft = {
2716
+ "members" => Array[environment_capture_draft_member],
2717
+ "suggestedParameters" => Array[environment_parameter],
2718
+ "skipped" => Array[{ "resourceId" => String, "displayName" => String, "reason" => String }]
2719
+ }
2720
+
2721
+ # Spec schema: `EnvironmentCaptureDraftMember`.
2722
+ type environment_capture_draft_member = environment_template_member
2723
+ & {
2724
+ "fieldMeta" => Hash[String, {
2725
+ "label" => String,
2726
+ "kind" => String,
2727
+ "required" => bool,
2728
+ ?"options" => Array[{ "id" => String, "label" => String }],
2729
+ "parameterisable" => bool
2730
+ }]
2731
+ }
2732
+
2733
+ # Spec schema: `EnvironmentCaptureRequest`.
2734
+ type environment_capture_request = {
2735
+ ?"resourceIds" => Array[String],
2736
+ ?"accountId" => String,
2737
+ ?"tagKey" => String,
2738
+ ?"tagValue" => String
2739
+ }
2740
+
2741
+ # Spec schema: `EnvironmentCostEstimate`.
2742
+ type environment_cost_estimate = {
2743
+ "monthlyAmount" => Numeric | nil,
2744
+ "currency" => String | nil,
2745
+ "partial" => bool,
2746
+ "unpricedCount" => Integer,
2747
+ "members" => Array[{
2748
+ "memberKey" => String,
2749
+ "displayName" => String,
2750
+ "monthlyAmount" => Numeric | nil,
2751
+ "currency" => String | nil
2752
+ }]
2753
+ }
2754
+
2714
2755
  # Spec schema: `EnvironmentDiffEntry`.
2715
2756
  type environment_diff_entry = {
2716
2757
  "key" => String,
@@ -2782,6 +2823,125 @@ module Infrawrench
2782
2823
  # Spec schema: `EnvironmentDiffUnavailableType`.
2783
2824
  type environment_diff_unavailable_type = { "resourceTypeId" => String, "resourceTypeName" => String, "message" => String }
2784
2825
 
2826
+ # Spec schema: `EnvironmentEstimateRequest`.
2827
+ type environment_estimate_request = { ?"parameters" => Hash[String, String], ?"accountOverrides" => Hash[String, String] }
2828
+
2829
+ # Spec schema: `EnvironmentInstance`.
2830
+ type environment_instance = {
2831
+ "id" => String,
2832
+ "templateId" => String | nil,
2833
+ "templateName" => String,
2834
+ "name" => String,
2835
+ "namePrefix" => String,
2836
+ "parameters" => Hash[String, String],
2837
+ "status" => "creating" | "active" | "partial" | "tearing-down" | "deleted" | "failed",
2838
+ "expiresAt" => String,
2839
+ "error" => String | nil,
2840
+ "members" => Array[environment_instance_member],
2841
+ "createdAt" => String,
2842
+ "updatedAt" => String,
2843
+ "completedAt" => String | nil
2844
+ }
2845
+
2846
+ # Spec schema: `EnvironmentInstanceConflict`.
2847
+ type environment_instance_conflict = { "error" => String }
2848
+
2849
+ # Spec schema: `EnvironmentInstanceList`.
2850
+ type environment_instance_list = { "instances" => Array[environment_instance] }
2851
+
2852
+ # Spec schema: `EnvironmentInstanceMember`.
2853
+ type environment_instance_member = {
2854
+ "id" => String,
2855
+ "memberKey" => String,
2856
+ "pluginId" => plugin_id,
2857
+ "resourceTypeId" => String,
2858
+ "accountId" => String,
2859
+ "resourceId" => String | nil,
2860
+ "externalId" => String | nil,
2861
+ "displayName" => String,
2862
+ "status" => "pending" | "created" | "failed" | "deleted",
2863
+ "error" => String | nil,
2864
+ "leaseId" => String | nil,
2865
+ "position" => Integer
2866
+ }
2867
+
2868
+ # Spec schema: `EnvironmentInstantiateRequest`.
2869
+ type environment_instantiate_request = {
2870
+ "name" => String,
2871
+ ?"parameters" => Hash[String, String],
2872
+ "ttlHours" => Numeric,
2873
+ ?"accountOverrides" => Hash[String, String],
2874
+ ?"note" => String
2875
+ }
2876
+
2877
+ # Spec schema: `EnvironmentParameter`.
2878
+ type environment_parameter = {
2879
+ "key" => String,
2880
+ "label" => String,
2881
+ "type" => "string" | "number" | "select",
2882
+ "required" => bool,
2883
+ ?"defaultValue" => String,
2884
+ ?"options" => Array[{ "id" => String, "label" => String }],
2885
+ ?"description" => String
2886
+ }
2887
+
2888
+ # Spec schema: `EnvironmentSettings`.
2889
+ type environment_settings = { "maxTtlHours" => Integer, "defaultTtlHours" => Integer }
2890
+
2891
+ # Spec schema: `EnvironmentStillLive`.
2892
+ type environment_still_live = { "error" => String }
2893
+
2894
+ # Spec schema: `EnvironmentTemplate`.
2895
+ type environment_template = {
2896
+ "id" => String,
2897
+ "name" => String,
2898
+ "description" => String | nil,
2899
+ "parameters" => Array[environment_parameter],
2900
+ "members" => Array[environment_template_member],
2901
+ "createdAt" => String,
2902
+ "updatedAt" => String,
2903
+ ?"activeInstanceCount" => Integer
2904
+ }
2905
+
2906
+ # Spec schema: `EnvironmentTemplateConflict`.
2907
+ type environment_template_conflict = { "error" => String }
2908
+
2909
+ # What a captured create-form field is filled with at instantiation. `literal`
2910
+ # is the captured value; `parameter` is a field the user chose to vary;
2911
+ # `output` is another member's resolved output (a connection string, an IP —
2912
+ # the captured half of an output reference); `member-id` is another member's
2913
+ # provider-side id.
2914
+ #
2915
+ # Spec schema: `EnvironmentTemplateFieldValue`.
2916
+ type environment_template_field_value = { "kind" => "literal", "value" => String }
2917
+ | { "kind" => "parameter", "parameter" => String }
2918
+ | { "kind" => "output", "member" => String, "outputKey" => String }
2919
+ | { "kind" => "member-id", "member" => String }
2920
+
2921
+ # Spec schema: `EnvironmentTemplateInput`.
2922
+ type environment_template_input = {
2923
+ "name" => String,
2924
+ ?"description" => String | nil,
2925
+ "parameters" => Array[environment_parameter],
2926
+ "members" => Array[environment_template_member]
2927
+ }
2928
+
2929
+ # Spec schema: `EnvironmentTemplateList`.
2930
+ type environment_template_list = { "templates" => Array[environment_template] }
2931
+
2932
+ # Spec schema: `EnvironmentTemplateMember`.
2933
+ type environment_template_member = {
2934
+ "key" => String,
2935
+ "pluginId" => plugin_id,
2936
+ "resourceTypeId" => String,
2937
+ "accountId" => String,
2938
+ "sourceName" => String,
2939
+ ?"sourceResourceId" => String,
2940
+ ?"nameFieldKey" => String,
2941
+ ?"parentMember" => String,
2942
+ "fields" => Hash[String, environment_template_field_value]
2943
+ }
2944
+
2785
2945
  # Spec schema: `Error`.
2786
2946
  type error = { "error" => String }
2787
2947
 
@@ -6311,9 +6471,11 @@ module Infrawrench
6311
6471
  | "dns"
6312
6472
  | "iac"
6313
6473
  | "environment-diff"
6474
+ | "environments"
6314
6475
  | "ssh-fanout"
6315
6476
  | "metric-alerts"
6316
6477
  | "probes"
6478
+ | "status-pages"
6317
6479
  | "quotas"
6318
6480
  | "incidents"
6319
6481
  | "workflows"
@@ -7070,6 +7232,39 @@ module Infrawrench
7070
7232
  def get: (a: String, b: String, ?org_id: String?, ?resource_type_id: String?, ?include_identity_fields: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> environment_diff_response
7071
7233
  end
7072
7234
 
7235
+ class EnvironmentsInstancesNamespace
7236
+ def initialize: (Transport) -> void
7237
+ def delete: (instance_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
7238
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> environment_instance_list
7239
+ def get_org_org_id_environments_instances_instance_id: (instance_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> environment_instance
7240
+ def teardown: (instance_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> environment_instance
7241
+ end
7242
+
7243
+ class EnvironmentsSettingsNamespace
7244
+ def initialize: (Transport) -> void
7245
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> environment_settings
7246
+ def update: (?org_id: String?, ?body: environment_settings?, ?request_options: Hash[Symbol, untyped]?) -> environment_settings
7247
+ end
7248
+
7249
+ class EnvironmentsTemplatesNamespace
7250
+ def initialize: (Transport) -> void
7251
+ def create: (?org_id: String?, ?body: environment_template_input?, ?request_options: Hash[Symbol, untyped]?) -> environment_template
7252
+ def delete: (template_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> nil
7253
+ def estimate: (template_id: String, ?org_id: String?, ?body: environment_estimate_request?, ?request_options: Hash[Symbol, untyped]?) -> environment_cost_estimate
7254
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> environment_template_list
7255
+ def get_org_org_id_environments_templates_template_id: (template_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> environment_template
7256
+ def instantiate: (template_id: String, ?org_id: String?, ?body: environment_instantiate_request?, ?request_options: Hash[Symbol, untyped]?) -> environment_instance
7257
+ def update: (template_id: String, ?org_id: String?, ?body: environment_template_input?, ?request_options: Hash[Symbol, untyped]?) -> environment_template
7258
+ end
7259
+
7260
+ class EnvironmentsNamespace
7261
+ attr_reader instances: EnvironmentsInstancesNamespace
7262
+ attr_reader settings: EnvironmentsSettingsNamespace
7263
+ attr_reader templates: EnvironmentsTemplatesNamespace
7264
+ def initialize: (Transport) -> void
7265
+ def capture: (?org_id: String?, ?body: environment_capture_request?, ?request_options: Hash[Symbol, untyped]?) -> environment_capture_draft
7266
+ end
7267
+
7073
7268
  class ExpiringSettingsNamespace
7074
7269
  def initialize: (Transport) -> void
7075
7270
  def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> expiry_alert_settings
@@ -7659,6 +7854,7 @@ module Infrawrench
7659
7854
  attr_reader dns: DnsNamespace
7660
7855
  attr_reader docker: DockerNamespace
7661
7856
  attr_reader environment_diff: EnvironmentDiffNamespace
7857
+ attr_reader environments: EnvironmentsNamespace
7662
7858
  attr_reader expiring: ExpiringNamespace
7663
7859
  attr_reader iac: IacNamespace
7664
7860
  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.20.0
4
+ version: 1.22.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-12 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.20.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.22.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.20.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.22.0).
62
62
  test_files: []