at.happyproto.server.upgradeInstance

Upgrade one of the caller's instances to the newer HappyView release its availableVersion offers, and start a job that follows the upgrade. The instance is offline for about 30 seconds; its database is snapshotted first, and a release that does not come up healthy is rolled back. Customers only.

Repository @happyproto.at did:plc:mo7vq4jbioxwafy5zkcc3eux namespace authority
Details · procedure
Kindprocedure
Authorityserver.happyproto.at
Indexed

Procedure

procedure · POST

Input

application/json

id

requiredstring

The instance's UUID.

idempotencyKey

requiredstring

A UUID the client generates once per intended change and resends on every retry of it, so a retry gets the original reply instead of acting twice.

version

requiredstring

The release to upgrade to: the instance's availableVersion.version, as the caller was shown it.

Output

application/json

jobId

requiredstring

The background job following the change. Poll it with at.happyproto.server.getJob.

Errors

AuthRequired

This endpoint requires an authenticated caller.

Forbidden

The caller is not a HappyProto customer, or the provisioner refused them.

InvalidRequest

id or idempotencyKey is missing or not a UUID, version is missing, or the release is not newer than the one the instance runs.

NotFound

No such instance, or it is not the caller's. The two are indistinguishable.

InvalidSlug

Passed through from the provisioner: it reserves slugs by configuration as well.

SlugTaken

Passed through from the provisioner.

NotEntitled

Passed through from the provisioner.

InstanceLimit

Passed through from the provisioner.

NoCapacity

Passed through from the provisioner.

OperationInProgress

Passed through from the provisioner: the instance is already changing, or a request with this idempotencyKey is still running.

UpgradeUnavailable

The release is not the one on offer for this instance: there is none, a newer one replaced it, or the instance already runs it.

Upstream

The provisioner is unreachable, not configured, or answered with an error it does not explain to callers, or the job could not be started.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.