Skip to main content

updateCvmResources

PATCH /cvms/{cvmId}/resources Updates CVM compute resources (vCPU, memory, disk). Parameters:
FieldTypeRequiredDescription
idstringYesCVM identifier
vcpunumberNoNumber of vCPUs
memorynumberNoMemory in MB
disk_sizenumberNoDisk size in GB
Returns: Updated CVM details. Example:
await client.updateCvmResources({
  id: "my-app",
  vcpu: 4,
  memory: 8192,
  disk_size: 100,
});

updateCvmVisibility

PATCH /cvms/{cvmId}/visibility Updates CVM visibility settings (public listing, public TCB info). Parameters:
FieldTypeRequiredDescription
idstringYesCVM identifier
listedbooleanNoList in public directory
Returns: Updated CVM details.

updatePreLaunchScript

PATCH /cvms/{cvmId}/pre-launch-script Updates the pre-launch script for a CVM. Parameters:
FieldTypeRequiredDescription
idstringYesCVM identifier
pre_launch_scriptstringYesScript content
compose_hashstringNoFor on-chain KMS (Phase 2)
transaction_hashstringNoFor on-chain KMS (Phase 2)
Returns: Union type:
  • { status: "in_progress", message, correlation_id } — update accepted
  • { status: "precondition_required", message, compose_hash, app_id, device_id, kms_info } — on-chain KMS requires compose hash registration first
For CVMs using on-chain KMS, this function may return precondition_required. You must register the compose_hash on-chain using addComposeHash before retrying with the compose_hash and transaction_hash parameters.

updateOsImage

PATCH /cvms/{cvmId}/os-image Updates the OS image for a CVM. The CVM will restart with the new image. Parameters:
FieldTypeRequiredDescription
idstringYesCVM identifier
imagestringYesOS image name
Returns: Updated CVM details.

getAvailableOsImages

GET /os-images Returns the list of available OS images. Parameters: None (optional filters). Returns: GetAvailableOSImagesResponse — array of OS image variants with version info. Example:
const images = await client.getAvailableOsImages();
images.forEach(img => console.log(img.name, img.version));

refreshCvmInstanceId is unreleased — added after @phala/cloud v0.2.4. It will be available in a future release.

refreshCvmInstanceId

POST /cvms/{cvmId}/refresh-instance-id Generates a new instance ID for a CVM. This invalidates the old instance ID. Parameters:
FieldTypeRequiredDescription
idstringYesCVM identifier
Returns: InstanceIdRefreshResult with the new instance_id.
refreshCvmInstanceIds is unreleased — added after @phala/cloud v0.2.4. It will be available in a future release.

refreshCvmInstanceIds

POST /cvms/refresh-instance-ids Generates new instance IDs for multiple CVMs in a single request. Parameters:
FieldTypeRequiredDescription
idsstring[]YesArray of CVM identifiers
Returns: RefreshCvmInstanceIdsResponse — batch results.

provisionCvmComposeFileUpdate

POST /cvms/{cvmId}/compose_file/provision Provisions a compose file update — the first phase of a two-phase compose file change. Returns a compose_hash needed for the commit step. Parameters:
FieldTypeRequiredDescription
idstringYesCVM identifier (also accepts uuid)
app_composeobjectYesUpdated compose file object
Returns: ProvisionCvmComposeFileUpdateResult with compose_hash. Example:
const compose = await client.getCvmComposeFile({ id: "my-app" });
compose.docker_compose_file = newYaml;

const provision = await client.provisionCvmComposeFileUpdate({
  uuid: "my-app",
  app_compose: compose,
});
console.log(provision.compose_hash);

commitCvmComposeFileUpdate

POST /cvms/{cvmId}/compose_file/commit Commits a compose file update — the second phase. For on-chain KMS, the compose_hash must be registered on-chain before calling this. Parameters:
FieldTypeRequiredDescription
idstringYesCVM identifier
compose_hashstringYesFrom provisionCvmComposeFileUpdate
encrypted_envstringNoHex-encoded encrypted env vars
env_keysstring[]NoAllowed env variable keys
transaction_hashstringNoOn-chain transaction hash
Returns: CommitCvmComposeFileUpdate — update details.