def update(
project,
environment,
patch = nil,
product: nil,
timeout: nil,
**fields
)def update: (
String project,
String environment,
?(environment_patch | Hash[Symbol | String, untyped])? patch,
?product: (String | Symbol)?,
?timeout: seconds?,
**untyped
) -> environment_resourcePartially updates the name, the slug or both, addressed by the environment current slug. Unlike create, the new slug is validated as-is rather than slugified, so an uppercase or spaced value returns 400 instead of being cleaned up for you.
This route returns the updated environment with the same fields get returns, exposed and updatedAt included. exposed is read-only here: putting it in the patch is silently ignored, so use expose and unexpose for that. Changing the slug changes the address every later call has to use.
Example
require "envless/sdk"
environment = Envless.environments.update(
"api",
"production",
name: "Production EU"
)
puts "#{environment[:exposed]} #{environment[:updatedAt]}"Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project | String | Yes | Project slug or uniqueId that owns the environment. |
environment | String | Yes | Current environment slug; ids are not accepted. |
patch | environment_patch | No | The fields below as one Hash, with Symbol or String keys, in place of the keywords. |
name: | String | No | New display name, 2 to 50 characters. |
slug: | String | No | New lowercase hyphenated slug, validated as-is and unique within the project. |
product: | String | Symbol | No | Product slug that disambiguates an ambiguous project slug. |
timeout: | Integer | Float | Rational | No | Seconds each attempt of this call may take, redirects and the response body included, before it raises Envless::NetworkError with timeout? set. Overrides the client's timeout for this call, and 0 turns the limit off. |
Returns
environment_resource reflecting the stored values, including exposed and updatedAt.
Worth knowing
- A slug another environment in the project already owns fails with
environment.slug_conflict.
Required scopes
environments:write
Underlying endpoint
PATCH /projects/{slug}/environments/{environmentSlug}
Request and response schema, every error code, and a live playground.
In TypeScript
envless.environments.update()
The same method in @goenvless/sdk, with the same request, retries and errors.