Environments

Envless.environments.update

Rename an environment or change its slug

def update(
  project,
  environment,
  patch = nil,
  product: nil,
  timeout: nil,
  **fields
)

Partially 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

ruby
require "envless/sdk"

environment = Envless.environments.update(
  "api",
  "production",
  name: "Production EU"
)

puts "#{environment[:exposed]} #{environment[:updatedAt]}"

Parameters

ParameterTypeRequiredDescription
projectStringYesProject slug or uniqueId that owns the environment.
environmentStringYesCurrent environment slug; ids are not accepted.
patchenvironment_patchNoThe fields below as one Hash, with Symbol or String keys, in place of the keywords.
name:StringNoNew display name, 2 to 50 characters.
slug:StringNoNew lowercase hyphenated slug, validated as-is and unique within the project.
product:String | SymbolNoProduct slug that disambiguates an ambiguous project slug.
timeout:Integer | Float | RationalNoSeconds 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.