AddUsersResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
AttachVolumeByUUIDRequestBody
readonlybooleanWhether the volume should be mounted read-only.
Example: false
AttachVolumesRequest
attach_toobject · requiredUUID or name of the instance to attach the volume to.
atstring · regex · pattern:^/(?!.*\.\./|.*\.$|.…· requiredPath of the mountpoint.
The path must be absolute, not contain
.and..components, and not contain colons (:). The path must point to an empty directory. If the directory does not exist, it is created.Example: /mnt/my-volume
uuidstring · uuidThe UUID of the volume to attach. Mutually exclusive with name. Exactly one of uuid or name must be provided.
Example: c1d2e3f4-5678-90ab-cdef-1234567890abnamestringThe name of the volume to attach. Mutually exclusive with UUID. Exactly one of uuid or name must be provided.
Example: funky-vol-g7gum5cjreadonlybooleanWhether the volume should be mounted read-only.
Example: false
AttachVolumesRequestInstanceID
namestringThe name of the instance that the volume is attached to.
Example: funky-town-g7gum5cj
AttachVolumesResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
AttachVolumesResponseAttachedVolume
statusstring · enum · enumThe status of the response.
Enum values:successerroruuidstring · uuidThe UUID of the volume that was attached.
Example: c1d2e3f4-5678-90ab-cdef-1234567890abnamestringThe name of the volume that was attached.
Example: funky-vol-g7gum5cjmessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No volume with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
AutoscalePolicy
namestringThe name of the policy.
Example: funky-policyenabledbooleanIf the policy is enabled.
Example: truemetricstring · enum · enumMetric to use for the step policy.
Enum values:cpuadjustment_typestring · enum · enumThe type of adjustment to be made in the step policy.
Enum values:changeexactpercentagestepsobject[]The steps for the step policy. Each step defines an adjustment value and optional bounds.
AutoscalePolicyStep
adjustmentinteger · int64The adjustment value for the step.
Example: 50lower_boundinteger · int64Lower bound for the step.
Example: 10upper_boundinteger · int64Upper bound for the step.
Example: 500
BodyInstanceID
namestringThe name of the instance that the volume is detached from.
Example: funky-town-g7gum5cj
Certificate
uuidstring · uuidThe UUID of the certificate.
This is a unique identifier for the certificate that is generated when the certificate is created. The UUID is used to reference the certificate in API calls and can be used to identify the certificate in all API calls that require an identifier.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the certificate.
This is a human-readable name that can be used to identify the certificate. The name must be unique within the context of your account. The name can also be used to identify the certificate in API calls.
Example: funky-certificatecreated_atstring · date-timeThe time the certificate was created.
Example: 2023-10-01T12:00:00Zcommon_namestringThe common name (CN) field from the certificate's subject.
This is typically the primary domain name that the certificate is issued for. It represents the main identity that the certificate validates.
Example: my-common-namesubjectstringThe complete subject distinguished name (DN) of the certificate.
This contains the full subject information from the certificate, including the common name, organization, organizational unit, locality, state, and country. The subject identifies the entity that the certificate is issued to.
Example: example.comissuerstringThe complete issuer distinguished name (DN) of the certificate.
This identifies the Certificate Authority (CA) that issued the certificate. It contains information about the CA including its common name, organization, and country.
Example: CN=R10,O=Let's Encrypt,C=USserial_numberstringThe unique serial number assigned to the certificate by the issuing CA.
This is a unique identifier within the scope of the issuing CA that can be used to identify and track the certificate. Serial numbers are typically represented as hexadecimal strings.
Example: 123456789ABCDEF123456789ABCDEF123456not_beforestring · date-timeThe date and time when the certificate becomes valid.
The certificate should not be trusted before this date. This timestamp marks the beginning of the certificate's validity period.
Example: 2023-10-01T12:00:00Znot_afterstring · date-timeThe date and time when the certificate expires.
The certificate should not be trusted after this date. This timestamp marks the end of the certificate's validity period. Certificates should be renewed before this date to maintain service availability.
Example: 2023-10-01T12:00:00Zstatestring · enum · enumThe current state of the certificate.
This indicates whether the certificate is pending issuance, valid and ready for use, or in an error state. See CertificateState enum for detailed state descriptions.
Enum values:pendingvaliderrorstatusstring · enum · enumAn optional field representing the status of the request. This field is only set when this message object is used as a response message.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: No certificate with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: 8
ConfigurationInstanceCreateArgs
romsobjectThe ROM to use for the autoscale configuration.
templateobjectThe template to use for the autoscale configuration.
CreateAutoscaleConfigurationByServiceGroupUUIDRequest
uuidstring · uuidThe UUID of the service to create a configuration for. Mutually exclusive with name.
min_sizeinteger · int64The minimum number of instances to keep running.
max_sizeinteger · int64The maximum number of instances to keep running.
warmup_time_msinteger · int64The warmup time in milliseconds for new instances.
cooldown_time_msinteger · int64The cooldown time in milliseconds for the autoscale configuration.
create_argsobjectThe arguments to use when creating the autoscale configuration.
policiesobject[]The policies to apply to the autoscale configuration.
CreateAutoscaleConfigurationByServiceGroupUUIDRequestInstanceCreateArgs
romsobjectThe ROM to use for the autoscale configuration.
templateobjectThe template to use for the autoscale configuration.
CreateAutoscaleConfigurationPolicyRequest
namestring · requiredThe Name of the service to add a policy to.
Example: funky-servicetypeobject · requiredThe policy type to add to the autoscale configuration.
CreateAutoscaleConfigurationPolicyResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
CreateAutoscaleConfigurationPolicyResponseData
policiesobject[]The policies which were added by the request.
CreateAutoscaleConfigurationPolicyResponsePolicy
statusstring · enum · enumThe status of the response.
Enum values:successerroruuidstring · uuidThe UUID of the service of the added policy.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the service of the added policy.
Example: funky-policymessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No service with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
CreateAutoscaleConfigurationsRequestConfiguration
uuidstring · uuidThe UUID of the service to create a configuration for. Mutually exclusive with name.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the service to create a configuration for. Mutually exclusive with UUID.
Example: funky-servicemin_sizeinteger · int64The minimum number of instances to keep running.
Example: 2max_sizeinteger · int64The maximum number of instances to keep running.
Example: 12warmup_time_msinteger · int64The warmup time in milliseconds for new instances.
Example: 100cooldown_time_msinteger · int64The cooldown time in milliseconds for the autoscale configuration.
Example: 100create_argsobjectThe arguments to use when creating the autoscale configuration.
policiesobject[]The policies to apply to the autoscale configuration.
CreateAutoscaleConfigurationsResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
CreateAutoscaleConfigurationsResponseConfigurationsResponse
statusstring · enum · enumThe status of the response.
Enum values:successerroruuidstring · uuidThe UUID of the service where the configuration was created.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the service where the configuration was created.
Example: funky-instance-templatemessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No service with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
CreateAutoscaleConfigurationsResponseData
service_groupsobject[]The configuration(s) which were created by the request.
CreateCertificateRequest
namestringThe name of the certificate.
This is a human-readable name that can be used to identify the certificate. The name must be unique within the context of your account. If no name is specified, a random name is generated for you. The name can also be used to identify the certificate in API calls.
Example: funky-certificate
CreateCertificateResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 32
CreateCertificateResponseData
certificatesobject[]The certificate which was created by this request.
Note: only one certificate can be specified in the request, so this will always contain a single entry.
CreateInstanceRequest
imagestring · requiredThe image to use for the instance.
Example: nginx:latest
namestring(Optional). The name of the instance.
If not provided, a random name will be generated. The name must be unique.
Example: funky-town-g756b5dargsstring[](Optional). The arguments to pass to the instance when it starts.
Example: --port=8080 --debugenvobject(Optional). Environment variables to set for the instance.
Example: {"ENV_VAR1":"value1","ENV_VAR2":"value2"}memory_mbinteger · int64(Optional). Memory in MB to allocate for the instance. Default is 128.
Example: 256service_groupobject(Optional). The service group configuration when creating an instance.
When creating an instance, either a previously created (persistent) service group can be referenced (either through its name or UUID), or a new (ephemeral) service group can be created for the instance by specifying the list of services it should expose and optionally the domains it should use. Not used by template instances.
volumesobject[]Volumes to attach to the instance.
This list can contain both existing and new volumes to create as part of the instance creation. Existing volumes can be referenced by their name or UUID. New volumes can be created by specifying a name, size in MiB, and mount point in the instance. The mount point is the directory in the instance where the volume will be mounted.
autostartbooleanWhether the instance should start automatically on creation.
Example: truereplicasinteger · int64Number of replicas for the instance.
Example: 5restart_policystring · enum · enumRestart policy for the instance. This defines how the instance should behave when it stops or crashes.
Enum values:neveralwayson_failurescale_to_zeroobjectScale-to-zero configuration for the instance.
vcpusinteger · int32Number of vCPUs to allocate for the instance.
Example: 1wait_timeout_msinteger · int64Timeout to wait for all new instances to reach running state in milliseconds. If you autostart your new instance, you can wait for it to finish starting with a blocking API call if you specify a wait timeout greater than zero. No wait performed for a value of 0.
Example: 2000featuresstring[]Features to enable for the instance. Features are specific configurations or capabilities that can be enabled for the instance.
Enum values:delete_on_stop
CreateInstanceRequestDomain
certificateobjectA reference to an existing certificate which can be used for the specified domain. If unspecified, Unikraft Cloud will automatically generate a new certificate for the domain based on Let's Encrypt and seek to accomplish a DNS-01 challenge.
CreateInstanceRequestServiceGroup
uuidstring · uuid(Optional). Reference an existing (persistent) service group by its UUID. Mutually exclusive with name.
Example: 123e4567-e89b-12d3-a456-426614174000namestring(Optional). Reference an existing (persistent) service group by its name. Mutually exclusive with UUID.
Example: funky-service-g756b5ddomainsobject[]If no existing (persistent) service group is specified via its identifier, a new (ephemeral) service group can be created. In addition to the services it must expose, you can specify which domains it should use too.
servicesobject[]If no existing service group identifier is provided, one or more new (ephemeral, non-persistent) service(s) can be created with the following definitions.
soft_limitinteger · uint32 · min: 1 · max: 65535The soft limit for the number of services that can be created in this service group.
Example: 100hard_limitinteger · uint32 · min: 1 · max: 65535The hard limit for the number of services that can be created in this service group.
Example: 200
CreateInstanceRequestVolume
atstring · requiredThe mount point for the volume in the instance.
Example: /mnt/funky-volume
uuidstring · uuidThe UUID of an existing volume.
If this is the only specified field, then it will look up an existing volume by this UUID.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the volume.
If this is the only specified field, then it will look up an existing volume by this name. If the volume does not exist, the request will fail. If a new volume is intended to be created, then this field must be specified along with the size in MiB and the mount point in the instance.
Example: funky-volume-g756b5dsize_mbinteger · int64The size of the volume when creating a new volume.
When creating a new volume as part of the instance create request, specify the size of the volume in MiB.
Example: 32readonlybooleanWhether the volume is read-only.
If this field is set to true, the volume will be mounted as read-only in the instance. This field is optional and defaults to false and is only applicable when using an existing volume.
Example: 256
CreateInstanceResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 875
CreateServiceGroupRequest
namestringName of the service group. This is a human-readable name that can be used to identify the service group. The name must be unique within the context of your account. If no name is specified, a random name is generated for you. The name can also be used to identify the service group in API calls.
Example: funky-service-g7gum5cjservicesobject[]Description of exposed services.
domainsobject[]Description of domains associated with the service group.
soft_limitinteger · uint64The soft limit is used by the Unikraft Cloud load balancer to decide when to wake up another standby instance.
For example, if the soft limit is set to 5 and the service consists of 2 standby instances, one of the instances receives up to 5 concurrent requests. The 6th parallel requests wakes up the second instance. If there are no more standby instances to wake up, the number of requests assigned to each instance will exceed the soft limit. The load balancer makes sure that when the number of in-flight requests goes down again, instances are put into standby as fast as possible.
Example: 1hard_limitinteger · uint64The hard limit defines the maximum number of concurrent requests that an instance assigned to the this service can handle.
The load balancer will never assign more requests to a single instance. In case there are no other instances available, excess requests fail (i.e., they are blocked and not queued).
Example: 100
CreateServiceGroupRequestDomain
namestring · requiredPublicly accessible domain name. If this name ends in a period
.it must be a valid Full Qualified Domain Name (FQDN), otherwise it will become a subdomain of the target metro.Example: example.com.
certificateobjectUse an existing certificate for the domain. If this field is specified, the domain must be associated with a valid certificate.
CreateServiceGroupResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 46
CreateServiceGroupResponseData
service_groupsobject[]The service group which was created by this request.
Note: only one service group can be specified in the request, so this will always contain a single entry.
CreateTemplateInstancesRequest
idsobject[] · requiredThe list of IDs of the instances to convert to templates.
CreateTemplateInstancesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 76
CreateTemplateInstancesResponseData
instancesobject[]List of template instances that were created during the operation.
CreateTemplateInstancesResponseTemplateInstance
statusstringThe status of this particular template instance creation operation.
Example: successuuidstring · uuidThe UUID of the template instance that was created.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the template instance that was created.
Example: funky-town-g756b5dstatestring · enum · enumThe current state of the instance.
Enum values:stoppedstartingrunningdrainingstoppingtemplatestandbymessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
CreateVolumeRequest
namestringThe name of the volume.
This is a human-readable name that can be used to identify the volume. The name must be unique within the context of your account. If no name is specified, a random name of the form
vol-Xis generated for you, whereXis a 5 character long random alphanumeric suffix.. The name can also be used to identify the volume in API calls.Example: funky-vol-t7qumh5j
CreateVolumeResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
CreateVolumeResponseVolume
statusstring · enum · enumThe status of the response.
Enum values:successerroruuidstring · uuidUUID of the newly created volume.
Example: c1d2e3f4-5678-90ab-cdef-1234567890abnamestringThe name of the newly created volume.
Example: funky-vol-g7gum5cjmessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No volume with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
DeleteAutoscaleConfigurationPolicyResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
DeleteAutoscaleConfigurationPolicyResponseData
policiesobject[]The policies which were deleted by the request.
DeleteAutoscaleConfigurationPolicyResponsePoliciesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrornamestringThe name of the service of the deleted policy.
Example: funky-policymessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No service with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
DeleteAutoscaleConfigurationsResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
DeleteAutoscaleConfigurationsResponseData
service_groupsobject[]The configuration(s) which were deleted by the request.
DeleteAutoscaleConfigurationsResponseServiceGroup
statusstring · enum · enumThe status of the response.
Enum values:successerroruuidstring · uuidThe UUID of the service where the configuration was deleted.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the service where the configuration was deleted.
Example: funky-instance-templatemessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No service with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
DeleteCertificatesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 42
DeleteCertificatesResponseData
certificatesobject[]The certificate(s) which were deleted by the request.
DeleteCertificatesResponseDeletedCertificate
statusstring · enum · enumIndicates whether the delete operation was successful or not for this certificate.
Enum values:successerroruuidstring · uuidThe UUID of the certificate which was deleted.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the certificate which was deleted.
Example: funky-certificatemessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No certificate with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
DeleteInstancesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 221
DeleteInstancesResponseInstance
statusstring · enum · enumIndicates whether the start operation was successful or not for this instance.
Enum values:successerroruuidstring · uuidThe UUID of the instance which was deleted.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the instance which was deleted.
Example: funky-town-g756b5dprevious_statestringThe previous state of the instance before it was deleted.
Example: stoppedmessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
DeleteServiceGroupsResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 46
DeleteServiceGroupsResponseData
service_groupsobject[]The service group(s) which were deleted by the request.
DeleteServiceGroupsResponseDeletedServiceGroup
statusstring · enum · enumIndicates whether the delete operation was successful or not for this service group.
Enum values:successerroruuidstring · uuidThe UUID of the service group which was deleted.
Example: 12345678-90ab-cdef-1234-567890abcdefnamestringThe name of the service group which was deleted.
Example: funky-service-g7gum5cjmessagestringAn optional message providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: No service with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: 8
DeleteTemplateInstancesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 76
DeleteTemplateInstancesResponseData
instancesobject[]List of template instances that were processed during the delete operation.
DeleteTemplateInstancesResponseTemplateInstance
uuidstring · uuidThe UUID of the template instance that was deleted.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the template instance that was deleted.
Example: funky-town-g756b5dstatusstringThe status of this particular template instance deletion operation.
Example: successmessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No template instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
DeleteVolumesResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
DeleteVolumesResponseDeletedVolume
statusstring · enum · enumThe status of the response.
Enum values:successerroruuidstring · uuidThe UUID of the volume that was deleted.
Example: c1d2e3f4-5678-90ab-cdef-1234567890abnamestringThe name of the volume that was deleted.
Example: funky-vol-g7gum5cjmessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No volume with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
DetachVolumesRequest
uuidstring · uuidThe UUID of the volume to detach. Mutually exclusive with name. Exactly one of uuid or name must be provided.
Example: c1d2e3f4-5678-90ab-cdef-1234567890abnamestringThe name of the volume to detach. Mutually exclusive with UUID. Exactly one of uuid or name must be provided.
Example: funky-town-g7gum5cjfromobjectUUID or name of the instance to detach the volume from.
DetachVolumesRequestInstanceID
namestringThe name of the instance that the volume is detached from.
Example: funky-town-g7gum5cj
DetachVolumesResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
DetachVolumesResponseDetachedVolume
statusstring · enum · enumThe status of the response.
Enum values:successerroruuidstring · uuidThe UUID of the volume that was detached.
Example: c1d2e3f4-5678-90ab-cdef-1234567890abnamestringThe name of the volume that was detached.
Example: funky-vol-g7gum5cjmessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No volume with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
Domain
certificateobjectUse an existing certificate for the domain. If this field is specified, the domain must be associated with a valid certificate.
GetAutoscaleConfigurationPolicyRequest
namestring · requiredThe Name of the policy to get.
Example: funky-policy
GetAutoscaleConfigurationPolicyResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
GetAutoscaleConfigurationPolicyResponseData
policiesobject[]The policy which was retrieved by the request.
GetAutoscaleConfigurationPolicyResponsePolicyResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrorpolicyobjectThe policy which was retrieved by the request.
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No service with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
GetAutoscaleConfigurationsResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
GetAutoscaleConfigurationsResponseData
service_groupsobject[]The configuration(s) which were retrieved by the request.
GetAutoscaleConfigurationsResponseServiceGroup
statusstring · enum · enumThe status of the response.
Enum values:successerroruuidstring · uuidThe UUID of the service where the configuration was created.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the service where the configuration was created.
Example: funky-instance-templateenabledbooleanIf the autoscale configuration is enabled.
Example: truemin_sizeinteger · int64The minimum number of instances to keep running. Only if enabled is true.
Example: 2max_sizeinteger · int64The maximum number of instances to keep running. Only if enabled is true.
Example: 10warmup_time_msinteger · int64The warmup time in seconds for new instances. Only if enabled is true.
Example: 3000cooldown_time_msinteger · int64The cooldown time in seconds for the autoscale configuration. Only if enabled is true.
Example: 3000templateobjectThe instance template used for the autoscale configuration. Only if enabled is true.
policiesobject[]The policies applied to the autoscale configuration.
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No service with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
GetCertificatesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 55
GetCertificatesResponseData
certificatesobject[]The certificate(s) which were retrieved by the request.
GetImageResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the response.
Example: No image with name 'my-image:latest'dataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 46
GetInstanceLogsByUUIDRequestBody
offsetinteger · uint64The byte offset of the log output to receive. A negative sign makes the offset relative to the end of the log.
Example: 56000limitinteger · int64The amount of bytes to return at most.
Example: 1500
GetInstancesLogsRequestItem
uuidstring · uuidThe UUID of the instance to retrieve logs for. Mutually exclusive with name.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the instance to retrieve logs for. Mutually exclusive with UUID.
Example: funky-town-g756b5doffsetinteger · uint64The byte offset of the log output to receive. A negative sign makes the offset relative to the end of the log.
Example: 450limitinteger · int64The amount of bytes to return at most.
Example: 3000
GetInstancesLogsResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 47
GetInstancesLogsResponseAvailable
startinteger · uint64The first byte offset that can be retrieved.
Example: 250endinteger · uint64The last byte offset that can be retrieved.
Example: 2700
GetInstancesLogsResponseData
instancesobject[]The instance which this requested waited on.
Note: only one instance can be specified in the request, so this will always contain a single entry.
GetInstancesLogsResponseLoggedInstance
uuidstring · uuidThe UUID of the instance.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the instance.
Example: funky-town-g756b5doutputstringBase64 encoded log output of the instance.
Example: d2h5LWFyZS15b3UtZGVjb2RpbmctdGhpcw==availableobjectDescription of the log availability.
rangeobjectDescription of the range that was returned. Useful for requests with offset relative to end.
statestring · enum · enumState of the instance when the logs were retrieved.
Enum values:stoppedstartingrunningdrainingstoppingtemplatestandbymessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
GetInstancesLogsResponseRange
startinteger · uint64The first retrieved byte.
Example: 450endinteger · uint64The last retrieved byte.
Example: funky-town-g756b5d
GetInstancesMetricsResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 76
GetInstancesMetricsResponseData
instancesobject[]The instance which this requested metrics for. Note: only one instance can be specified in the request, so this will always contain a single entry.
GetInstancesMetricsResponseInstanceMetrics
rss_bytesinteger · uint64Resident set size of the VMM in bytes.
The resident set size (RSS) specifies the amount of physical memory that has been touched by the instance and is currently reserved for the instance on the Unikraft Cloud server. The RSS grows until the instance has touched all memory assigned to it via the memory_mb setting and may also exceed this value as supporting services running outside the instance acquire memory. The RSS is different from the current amount of memory allocated by the application, which is likely to fluctuate over the lifetime of the application. The RSS is not a cumulative metric. When the instance is stopped rss goes down to 0.
Example: 5677765543cpu_time_msinteger · uint64Consumed CPU time in milliseconds.
Example: 560007005boot_time_usinteger · uint64The boot time of the instance in microseconds. We take a pragmatic approach is to define the boot time. We calculate this as the difference in time between the moment the virtualization toolstack is invoked to respond to a VM boot request and the moment the OS starts executing user code (i.e., the end of the guest OS boot process). This is essentially the time that a user would experience in a deployment, minus the application initialization time, which we leave out since it is independent from the OS.
Example: 560007005net_time_usinteger · uint64This is the time it took for the user-level application to start listening on a non-localhost port measured in microseconds. This is the time from when the instance started until it reasonably ready to start responding to network requests. This is useful for measuring the time it takes for the instance to become operationally ready.
Example: 560007005rx_bytesinteger · uint64Total amount of bytes received from network.
Example: 12312353rx_packetsinteger · uint64Total count of packets received from network.
Example: 43432tx_bytesinteger · uint64Total amount of bytes transmitted over network.
Example: 6565643tx_packetsinteger · uint64Total count of packets transmitted over network.
Example: 54534nconnsinteger · uint64Number of currently established inbound connections (non-HTTP).
Example: 5nreqsinteger · uint64Number of in-flight HTTP requests.
Example: 12nqueuedinteger · uint64Number of queued inbound connections and HTTP requests.
Example: 5ntotalinteger · uint64Total number of inbound connections and HTTP requests handled.
Example: 21messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
GetInstancesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 432
GetServiceGroupsResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 46
GetServiceGroupsResponseData
service_groupsobject[]The service group(s) which were retrieved by the request.
GetTemplateInstancesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 76
GetTemplateInstancesResponseData
instancesobject[]List of template instances that were retrieved during the operation.
GetVolumesResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
HealthzResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the response.
Example: Invalid name 'non-funky-town'errorsobject[]A list of errors which may have occurred during the request.
dataobjectThe response data for this request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 875
Image
tagstringThe canonical name of the image is known as the "tag".
Example: my-image:latestdigeststringThe digest of the image is a unique identifier of the image manifest which is a string representation including the hashing algorithm and the hash value separated by a colon.
Example: 256descriptionstringA description of the image.
Example: My image descriptioncreated_atstring · date-timeWhen the image was created.
Example: 2023-10-01T12:00:00ZarchstringThe architecture of the image.
Example: x86_64entrypointstring[]The entrypoint of the image is the command that is run when the image is started.
Example: ["/bin/sh","-c"]cmdstring[]The command to run when the image is started.
Example: ["/bin/sh","-c"]envstring[]The environment variables to set when the image is started.
Example: ["ENV_VAR=value"]portsstring[]Documented port mappings for the image.
Example: ["8080:80"]volumesstring[]Documented volumes for the image.
Example: ["/data"]labelsobjectLabels are key-value pairs.
workdirstringThe working directory for the image is the directory that is set as the current working directory when the image is started.
Example: /appkernelobjectThe kernel object is a reference to the kernel that is used by the image.
auxiliary_romsobject[]List of auxiliary ROMs that are used by the image.
Instance
uuidstring · uuidThe UUID of the instance.
This is a unique identifier for the instance that is generated when the instance is created. The UUID is used to reference the instance in API calls and can be used to identify the instance in all API calls that require an instance identifier.
namestringThe name of the instance.
This is a human-readable name that can be used to identify the instance. The name must be unique within the context of your account. The name can also be used to identify the instance in API calls.
Example: funky-town-g756b5dcreated_atstring · date-timeThe time the instance was created.
Example: 2023-10-01T12:00:00Zstatestring · enum · enumThe state of the instance. This indicates the current state of the instance, such as whether it is running, stopped, or in an error state.
Enum values:stoppedstartingrunningdrainingstoppingtemplatestandbyprivate_fqdnstringThe internal hostname of the instance. This address can be used privately within the Unikraft Cloud network to access the instance. It is not accessible from the public Internet.
Example: funky-town-g756b5d.internalimagestringThe image used to create the instance. This is a reference to the Unikraft image that was used to create the instance.
Example: nginx:latestmemory_mbinteger · uint64The amount of memory in megabytes allocated for the instance. This is the total amount of memory that is available to the instance for its operations.
Example: 1024vcpusinteger · uint32The number of vCPUs allocated for the instance. This is the total number of virtual CPUs that are available to the instance for its operations.
Example: 1argsstring[]The arguments passed to the instance when it was started. This is a list of command-line arguments that were provided to the instance at startup. These arguments can be used to configure the behavior of the instance and its applications.
Example: --port=8080 --debugenvobjectEnvironment variables set for the instance.
Example: {"ENV_VAR":"value"}start_countinteger · uint64The total number of times the instance has been started. This is a counter that increments each time the instance is started, regardless of whether it was manually stopped or restarted. This can be useful for tracking the usage of the instance over time and/or for debugging purposes.
Not used for template instances.
Example: 6restart_countinteger · uint64The total number of times the instance has been restarted. This is a counter that increments each time the instance has been restarted. This can be useful for tracking the usage of the instance over time and/or for debugging purposes. Not used for template instances.
Example: 1started_atstring · date-timeThe time the instance was started. This is the timestamp when the instance was last started. Not used for template instances.
Example: 2023-10-01T12:00:00Zstopped_atstring · date-timeThe time the instance was stopped. This is the timestamp when the instance was last stopped. If the instance is currently running, this field will be empty. Not used for template instances.
Example: 2023-10-01T12:00:00Zuptime_msinteger · uint64The total amount of time the instance has been running in milliseconds. Not used for template instances.
Example: 8954050300vmm_start_time_usinteger · uint64(Developer-only). The time taken between the main controller and the beginning of execution of the VMM (Virtual Machine Monitor) measured in microseconds. This field is primarily used for debugging and performance analysis purposes. Not used for template instances.
Example: 70040vmm_load_time_usinteger · uint64(Developer-only). The time it took the VMM (Virtual Machine Monitor) to load the instance's kernel and initramfs into VM memory measured in microseconds. This field is primarily used for debugging and performance analysis purposes. Not used for template instances.
Example: 4050vmm_ready_time_usinteger · uint64(Developer-only). The time taken for the VMM (Virtual Machine Monitor) to become ready to execute the instance measured in microseconds. This is the time from when the VMM started until it was ready to execute the instance's code. This field is primarily used for debugging and performance analysis purposes. Not used for template instances.
Example: 400boot_time_usinteger · uint64The boot time of the instance in microseconds. We take a pragmatic approach is to define the boot time. We calculate this as the difference in time between the moment the virtualization toolstack is invoked to respond to a VM boot request and the moment the OS starts executing user code (i.e., the end of the guest OS boot process). This is essentially the time that a user would experience in a deployment, minus the application initialization time, which we leave out since it is independent from the OS. Not used for template instances.
Example: 9000net_time_usinteger · uint64This is the time it took for the user-level application to start listening on a non-localhost port measured in microseconds. This is the time from when the instance started until it reasonably ready to start responding to network requests. This is useful for measuring the time it takes for the instance to become operationally ready. Not used for template instances.
Example: 11000stop_reasoninteger · uint32The instance stop reason.
Provides reason as to why an instance is stopped or in the process of shutting down. The stop reason is a bitmask that tells you the origin of the shutdown:
Bit 4 3 2 1 0 (LSB) Purpose [F]orced [U]ser [P]latform [A]pp [K]ernel - Forced: This was a force stop. A forced stop does not give the
instance a chance to perform a clean shutdown. Bits 0
(Kernel) and 1 (App) can thus never be set for forced
shutdowns. Consequently, there won't be an
exit_codeorstop_code. - User: Stop initiated by user, e.g. via an API call.
- Platform: Stop initiated by platform, e.g. an autoscale policy.
- App: The Application exited. The
exit_codefield will be set. - Kernel: The kernel exited. The
stop_codefield will be set.
For example, the stop reason will contain the following values in the given scenarios:
Value Bitmask Aliases Scenario 28 11100FUP--Forced user-initiated shutdown. 15 01111-UPAKRegular user-initiated shutdown. The application and kernel have exited. The exit_code and stop_code indicate if the application and kernel shut down cleanly. 13 01101-UP-KThe user initiated a shutdown but the application was forcefully killed by the kernel during shutdown. This can be the case if the image does not support a clean application exit or the application crashed after receiving a termination signal. The exit_code won’t be present in this scenario. 7 00111--PAKUnikraft Cloud initiated the shutdown, for example, due to scale-to-zero. The application and kernel have exited. The exit_code and stop_code indicate if the application and kernel shut down cleanly. 3 00011---AKThe application exited. The exit_code and stop_code indicate if the application and kernel shut down cleanly. 1 00001----KThe instance likely expierenced a fatal crash and the stop_code contains more information about the cause of the crash. 0 00000-----The stop reason is unknown. Not used for template instances. Example: 15- Forced: This was a force stop. A forced stop does not give the
instance a chance to perform a clean shutdown. Bits 0
(Kernel) and 1 (App) can thus never be set for forced
shutdowns. Consequently, there won't be an
exit_codeinteger · uint32The application exit code.
This is the code which the application returns upon leaving its main entry point. The encoding of the exit code is application specific. See the documentation of the application for more details. Usually, an exit code of
0indicates success / no failure. Not used for template instances.Example: 137stop_codeinteger · uint32The kernel stop code.
This value encodes multiple details about the stop irrespective of the application.
Code- errno: The application errno, using Linux's errno.h values. (Optional, can be 0.)
- shutdown: Whether the shutdown originated from the inittable (0) or from the termtable (1).
- initlevel: The initlevel at the time of the stop.
- reason: The reason for the stop. See
StopCodeReason.
Example: 33024restart_policystring · enum · enumThe restart configuration for the instance.
When an instance stops either because the application exits or the instance crashes, Unikraft Cloud can auto-restart your instance. Auto-restarts are performed according to the restart policy configured for a particular instance.
The policy can have the following values:
Policy Description neverNever restart the instance (default). alwaysAlways restart the instance when the stop is initiated from within the instance (i.e., the application exits or the instance crashes). on-failureOnly restart the instance if it crashes. When an instance stops, the stop reason and the configured restart policy are evaluated to decide if a restart should be performed. Unikraft Cloud uses an exponential back-off delay (immediate, 5s, 10s, 20s, 40s, ..., 5m) to slow down restarts in tight crash loops. If an instance runs without problems for 10s the back-off delay is reset and the restart sequence ends.
The
restart.attemptattribute reported in counts the number of restarts performed in the current sequence. Therestart.next_atfield indicates when the next restart will take place if a back-off delay is in effect.A manual start or stop of the instance aborts the restart sequence and resets the back-off delay.
Enum values:neveralwayson_failurescale_to_zeroobjectThe scale-to-zero configuration for the instance.
With conventional cloud platforms you need to keep at least one instance running at all times to be able to respond to incoming requests. Performing a just-in-time cold boot is simply too time-consuming and would create a response latency of multiple seconds. This is not the case with Unikraft Cloud. Instances on Unikraft Cloud are able to cold boot within milliseconds, which allows us to perform low-latency scale-to-zero.
To enable scale-to-zero for an instance it is sufficient to add a
scale_to_zeroconfiguration block. Unikraft Cloud will then put the instance into standby if there is no traffic to your service within the window of a cooldown period. When there is new traffic coming in, it is automatically started again.If you have a heavyweight application that takes long to cold boot or has bad first request latency (e.g., with JIT compilation) consider to enable stateful scale-to-zero.
volumesobject[]The list of volumes attached to the instance.
service_groupobjectThe service group configuration for the instance.
network_interfacesobject[]The network interfaces of the instance. Not used for template instances.
tagsstring[]The tags associated with the instance.
statusstring · enum · enumAn optional field representing the status of the request. This field is only set when this message object is used as a response message.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: No instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: 8snapshotobjectThe snapshot of the instance, if exists.
delete_lockbooleanIf set to true, the instance cannot be deleted until the lock is removed.
restartobjectThe current restart attempt for the instance. Not used for template instances.
InstanceCreateArgsInstanceCreateRequestRoms
imagestring · requiredThe image of the ROM to use for the autoscale configuration.
namestringThe name of the ROM to use for the autoscale configuration.
InstanceNetworkInterface
uuidstring · uuidThe UUID of the network interface. This is a unique identifier for the network interface that is generated when the instance is created.
Example: c1d2e3f4-5678-90ab-cdef-1234567890abprivate_ipstringThe private IP address of the network interface. This is the internal IP address that is used for communication between instances within the same network.
Example: 10.0.0.61macstringThe MAC address of the network interface.
Example: 12:b0:a0:00:00:3drx_bytesinteger · uint64Amount of bytes received from interface.
Example: 5345rx_packetsinteger · uint64Count of packets received from interface
Example: 110tx_bytesinteger · uint64Amount of bytes sent to interface.
Example: 1500tx_packetsinteger · uint64Count of packets sent to interface
Example: 12
InstanceRestartAttempt
next_atstring · date-timeTimestamp of the next scheduled restart attempt.
Example: 2023-10-05T14:48:00Z
InstanceScaleToZero
enabledbooleanIndicates whether scale-to-zero is enabled for the instance.
Example: truepolicystring · enum · enumThe specific policy to use for scaling the instance to zero.
Enum values:onoffidlestatefulbooleanWhether the instance should be stateful when scaled to zero. If set to true, the instance will retain its state (e.g., RAM contents) when scaled to zero. This is useful for instances that need to maintain their state across scale-to-zero operations. If set to false, the instance will lose its state when scaled to zero, and it will be restarted from scratch when scaled back up.
Example: truecooldown_time_msinteger · int32The cooldown time in milliseconds before the instance can be scaled to zero again. This is useful to prevent rapid scaling to zero and back up, which can lead to performance issues or resource exhaustion.
Example: 3000
InstanceServiceGroup
uuidstring · uuidThe UUID of the service group.
This is a unique identifier for the service group that is generated when the service is created. The UUID is used to reference the service group in API calls and can be used to identify the service in all API calls that require an service identifier.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the service group.
This is a human-readable name that can be used to identify the service group. The name is unique within the context of your account. The name can also be used to identify the service group in API calls.
Example: funky-service-g756b5ddomainsobject[]The domain configuration for the service group.
InstanceVolume
uuidstring · uuidThe UUID of the volume.
This is a unique identifier for the volume that is generated when the volume is created. The UUID is used to reference the volume in API calls and can be used to identify the volume in all API calls that require a volume identifier.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the volume.
This is a human-readable name that can be used to identify the volume. The name must be unique within the context of your account. The name can also be used to identify the volume in API calls.
Example: funky-volume-g756b5datstringThe mount point of the volume in the instance. This is the directory in the instance where the volume will be mounted.
Example: /mnt/funky-volumereadonlybooleanWhether the volume is read-only or not.
Example: true
NameOrUUID
uuidstring · uuid · requiredMutually exclusive with name.
Example: 123e4567-e89b-12d3-a456-426614174000
namestring · requiredMutually exclusive with UUID.
Example: funky-town-g756b5d
Object
digeststringThe digest is a string representation including the hashing algorithm and the hash value separated by a colon.
Example: sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdefmedia_typestringThe media type of the layer is a string that identifies the type of content that the layer contains.
Example: application/vnd.oci.image.layer.v1.tarsizeinteger · int64The size of the layer in bytes.
Example: 655
Quotas
uuidstring · uuidThe UUID of the quota.
Example: c1d2e3f4-5678-90ab-cdef-1234567890abusedobjectUsed quota
hardobjectConfigured quota limits
limitsobjectAdditional limits
statusstring · enum · enumAn optional field representing the status of the request. This field is only set when this message object is used as a response message.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: No user with name 'funky-user'errorinteger · int32An optional error code providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: 8
QuotasLimits
min_memory_mbinteger · int64Minimum amount of memory assigned to live instances in megabytes
Example: 16max_memory_mbinteger · int64Maximum amount of memory assigned to live instances in megabytes
Example: 2048min_volume_mbinteger · int64Minimum size of a volume in megabytes
Example: 1max_volume_mbinteger · int64Maximum size of a volume in megabytes
Example: 1024min_autoscale_sizeinteger · int64Minimum size of an autoscale group
Example: 1max_autoscale_sizeinteger · int64Maximum size of an autoscale group
Example: 16min_vcpusinteger · int64Minimum number of vCPUs
Example: 2max_vcpusinteger · int64Maximum number of vCPUs
Example: 4
QuotasResponse
messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operations
QuotasStats
instancesinteger · int64Number of instances
Example: 16live_instancesinteger · int64Number of instances that are not in the
stoppedstateExample: 4live_vcpusinteger · int64Number of vCPUs
Example: 4live_memory_mbinteger · int64Amount of memory assigned to instances that are not in the
stoppedstate in megabytesExample: 2048service_groupsinteger · int64Number of services
Example: 15servicesinteger · int64Number of published network ports over all existing services
Example: 30volumesinteger · int64Number of volumes
Example: 2total_volume_mbinteger · int64Total size of all volumes in megabytes
Example: 1024
Service
portinteger · uint32 · requiredThis is the public-facing port that the service will be accessible from on the Internet.
Example: 443
destination_portinteger · uint32The port number that the instance is listening on. This is the internal port which Unikraft Cloud will forward traffic to.
Example: 8080handlersstring[]Connection handlers to use for the service. Handlers define how the service will handle incoming connections and forward traffic from the Internet to your application. For example, a service can be configured to terminate TLS connections, redirect HTTP traffic, or enable HTTP mode for load balancing. You configure the handlers for every published service port individually.
Enum values:tlshttpredirect
ServiceGroup
uuidstring · uuidThe UUID of the service group.
This is a unique identifier for the service group that is generated when the service group is created. The UUID is used to reference the service in API calls and can be used to identify the service group in all API calls that require an identifier.
Example: c1d2e3f4-5678-90ab-cdef-1234567890abnamestringThe name of the service group.
This is a human-readable name that can be used to identify the service group. The name must be unique within the context of your account. The name can also be used to identify the service in API calls.
Example: funky-service-g7gum5cjcreated_atstring · date-timeThe time the service was created.
Example: 2023-10-01T12:00:00ZpersistentbooleanIndicates if the service will stay remain even after the last instance detached. If this is set to false, the service will be deleted when the last instance detached from it. If this is set to true, the service will remain and can be reused by other instances. This is useful if you want to keep the service configuration, e.g., the published ports, handlers, and domains, even if there are no instances assigned to it.
Example: trueautoscalebooleanIndicates if the service has autoscale enabled. See the associated autoscale documentation for more information about how to set this up. Autoscale policies can be set up after the service has been created.
Example: truesoft_limitinteger · uint64The soft limit is used by the Unikraft Cloud load balancer to decide when to wake up another standby instance. For example, if the soft limit is set to 5 and the service consists of 2 standby instances, one of the instances receives up to 5 concurrent requests. The 6th parallel requests wakes up the second instance. If there are no more standby instances to wake up, the number of requests assigned to each instance will exceed the soft limit. The load balancer makes sure that when the number of in-flight requests goes down again, instances are put into standby as fast as possible.
Example: 1hard_limitinteger · uint64The hard limit defines the maximum number of concurrent requests that an instance assigned to the this service can handle. The load balancer will never assign more requests to a single instance. In case there are no other instances available, excess requests fail (i.e., they are blocked and not queued).
Example: 100servicesobject[]List of published network ports for this service and the destination port to which Unikraft Cloud will forward traffic to. Additional handlers can be defined for each published port in order to define how the service will handle incoming connections and forward traffic from the Internet to your application. For example, a service can be configured to terminate TLS connections, redirect HTTP traffic, or enable HTTP mode for load balancing.
domainsobject[]List of domains associated with the service. Domains are used to access the service over the Internet.
instancesobject[]List of instances assigned to the service.
statusstring · enum · enumAn optional field representing the status of the request. This field is only set when this message object is used as a response message.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: No service with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: 8
ServiceGroupInstance
uuidstring · uuidThe UUID of the instance. This is a unique identifier for the instance that is generated when the instance is created. The UUID is used to reference the instance in API calls and can be used to identify the instance in all API calls that require an instance identifier.
Example: 12345678-90ab-cdef-1234-567890abcdefnamestringThe name of the instance. This is a human-readable name that can be used to identify the instance. The name must be unique within the context of your account. If no name is specified, a random name is generated for you. The name can also be used to identify the instance in API calls.
Example: funky-vol-g7gum5cj
ServiceGroupInstanceDomain
certificateobjectThe certificate associated with the domain.
The certificate is used to secure the domain with TLS/SSL. If no certificate is specified, Unikraft Cloud will automatically generate a new certificate for the domain based on Let's Encrypt and seek to accomplish a DNS-01 challenge.
ServiceGroupTemplate
namestringThe name of the template used for the autoscale configuration.
Example: funky-instance-templateuuidstring · uuidThe UUID of the template used for the autoscale configuration.
Example: 123e4567-e89b-12d3-a456-426614174000
StartInstancesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 256
StartInstancesResponseStartedInstance
statusstring · enum · enumIndicates whether the start operation was successful or not for this instance.
Enum values:successerroruuidstring · uuidThe UUID of the instance which was deleted.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the instance which was deleted.
Example: funky-town-g756b5dstatestringThe current state of the instance after this request.
Example: runningprevious_statestringThe previous state of the instance before it was deleted.
Example: stoppedmessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
StopInstancesRequestItem
uuidstring · uuidThe UUID of the instance to stop. Mutually exclusive with name.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the instance to stop. Mutually exclusive with UUID.
Example: funky-town-g756b5dforcebooleanWhether to immediately force stop the instance.
Example: falsedrain_timeout_msinteger · uint64Timeout for draining connections in milliseconds. The instance does not receive new connections in the draining phase. The instance is stopped when the last connection has been closed or the timeout expired. The maximum timeout may vary. Use -1 for the largest possible value.
Note: This endpoint does not block. Use the wait endpoint for the instance to reach the stopped state.
Example: 250
StopInstancesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 23
StopInstancesResponseStoppedInstance
uuidstring · uuidThe UUID of the instance.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the instance.
Example: funky-town-g756b5dstatestring · enum · enumThe current state of the instance.
Enum values:stoppedstartingrunningdrainingstoppingtemplatestandbyprevious_statestring · enum · enumThe previous state of the instance before the stop operation was invoked.
Enum values:stoppedstartingrunningdrainingstoppingtemplatestandbymessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
UpdateInstanceByUUIDRequestBody
propstring · enum · enum · requiredThe property to modify.
Enum values:imageargsenvmemory_mbvcpusscale_to_zerotagsdelete_lockExample: memory_mbopstring · enum · enum · requiredThe operation to perform on the property.
Enum values:setadddelExample: set
idstring(Optional). A client-provided identifier for tracking this operation in the response.
Example: op-1valueThe value for the update operation. The type depends on the property and operation:
- For "image": string
- For "args": string or array of strings
- For "env": object (for SET/ADD) or string/array of strings (for DEL)
- For "memory_mb": integer
- For "vcpus": integer
- For "scale_to_zero": object with cooldown_time_ms, policy, and stateful fields
- For "tags": array of strings
- For "delete_lock": boolean
UpdateInstancesRequestItem
propstring · enum · enum · requiredThe property to modify.
Enum values:imageargsenvmemory_mbvcpusscale_to_zerotagsdelete_lockExample: memory_mbopstring · enum · enum · requiredThe operation to perform on the property.
Enum values:setadddelExample: set
idstring(Optional). A client-provided identifier for tracking this operation in the response.
Example: op-1uuidstring · uuidThe UUID of the instance to update. Mutually exclusive with name.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the instance to update. Mutually exclusive with UUID.
Example: funky-town-g756b5dvalueThe value for the update operation. The type depends on the property and operation:
- For "image": string
- For "args": string or array of strings
- For "env": object (for SET/ADD) or string/array of strings (for DEL)
- For "memory_mb": integer
- For "vcpus": integer
- For "scale_to_zero": object with cooldown_time_ms, policy, and stateful fields
- For "tags": array of strings
- For "delete_lock": boolean
UpdateInstancesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 76
UpdateInstancesResponseData
instancesobject[]List of instances that were processed during the update operation.
UpdateInstancesResponseUpdatedInstance
uuidstring · uuidThe UUID of the instance that was updated.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the instance that was updated.
Example: funky-town-g756b5dstatusstringThe status of this particular instance update operation.
Example: successidstring(Optional). The client-provided ID from the request.
Example: op-1messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
UpdateServiceGroupByUUIDRequestBody
propstring · enum · enum · requiredThe property to modify.
Enum values:servicesdomainssoft_limithard_limitExample: servicesopstring · enum · enum · requiredThe operation to perform.
Enum values:setadddelExample: set
idstring(Optional). A client-provided identifier for tracking this operation in the response.
Example: op-1valueThe value for the update operation:
- For "services": array of Service objects
- For "domains": array of Domain objects
- For "soft_limit": integer (1–65535), must be <= "hard_limit"
- For "hard_limit": integer (1–65535), must be >= "soft_limit"
UpdateServiceGroupsRequestItem
propstring · enum · enum · requiredThe property to modify.
Enum values:servicesdomainssoft_limithard_limitExample: servicesopstring · enum · enum · requiredThe operation to perform.
Enum values:setadddelExample: set
idstring(Optional). A client-provided identifier for tracking this operation in the response.
Example: op-1uuidstring · uuidThe UUID of the service group to update. Mutually exclusive with name.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the service group to update. Mutually exclusive with UUID.
Example: funky-town-g756b5dvalueThe value for the update operation:
- For "services": array of Service objects
- For "domains": array of Domain objects
- For "soft_limit": integer (1–65535), must be <= "hard_limit"
- For "hard_limit": integer (1–65535), must be >= "soft_limit"
UpdateServiceGroupsResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 76
UpdateServiceGroupsResponseData
service_groupsobject[]List of service groups that were processed during the update operation.
UpdateServiceGroupsResponseUpdatedServiceGroup
uuidstring · uuidThe UUID of the service group that was updated.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the service group that was updated.
Example: funky-town-g756b5dstatusstringThe status of this particular service group update operation.
Example: successidstring(Optional). The client-provided ID from the request.
Example: op-1messagestringAn optional message providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: No service with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: 8
UpdateTemplateInstanceByUUIDRequestBody
propstring · enum · enum · requiredThe property to modify.
Enum values:tagsdelete_lockExample: tagsopstring · enum · enum · requiredThe operation to perform on the property.
Enum values:setadddelExample: add
idstring(Optional). A client-provided identifier for tracking this operation in the response.
Example: op-1valueThe value for the update operation. The type depends on the property and operation:
- For "tags": array of strings
- For "delete_lock": boolean
UpdateTemplateInstancesRequestItem
propstring · enum · enum · requiredThe property to modify.
Enum values:tagsdelete_lockExample: tagsopstring · enum · enum · requiredThe operation to perform on the property.
Enum values:setadddelExample: add
idstring(Optional). A client-provided identifier for tracking this operation in the response.
Example: op-1uuidstring · uuidThe UUID of the template instance to update. Mutually exclusive with name.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the template instance to update. Mutually exclusive with UUID.
Example: funky-town-g756b5dvalueThe value for the update operation. The type depends on the property and operation:
- For "tags": array of strings
- For "delete_lock": boolean
UpdateTemplateInstancesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 76
UpdateTemplateInstancesResponseData
instancesobject[]List of template instances that were processed during the update operation.
UpdateTemplateInstancesResponseTemplateInstance
uuidstring · uuidThe UUID of the template instance that was updated.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the template instance that was updated.
Example: funky-town-g756b5dstatusstringThe status of this particular template instance update operation.
Example: successidstring(Optional). The client-provided ID from the request.
Example: op-1messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No template instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
UpdateVolumeByUUIDRequestBody
propstring · enum · enum · requiredThe property to modify.
Enum values:size_mbtagsquota_policydelete_lockExample: size_mbopstring · enum · enum · requiredThe operation to perform.
Enum values:setadddelExample: set
idstring(Optional). A client-provided identifier for tracking this operation in the response.
Example: op-1valueThe value for the update operation. The type depends on the property and operation:
- For "size_mb": unsigned integer
- For "quota_policy": "static" or "dynamic"
- For "tags": array of Strings
- For "delete_lock": boolean
UpdateVolumesRequestItem
propstring · enum · enum · requiredThe property to modify.
Enum values:size_mbtagsquota_policydelete_lockExample: size_mbopstring · enum · enum · requiredThe operation to perform.
Enum values:setadddelExample: set
idstring(Optional). A client-provided identifier for tracking this operation in the response.
Example: op-1uuidstring · uuidThe UUID of the volume to update. Mutually exclusive with name.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the volume to update. Mutually exclusive with UUID.
Example: funky-town-g756b5dvalueThe value for the update operation. The type depends on the property and operation:
- For "size_mb": unsigned integer
- For "quota_policy": 1 - static reservation, 2 - dynamic reservation
- For "tags": array of Strings
- For "delete_lock": boolean
UpdateVolumesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 76
UpdateVolumesResponseData
volumesobject[]List of volumes that were processed during the update operation.
UpdateVolumesResponseUpdatedVolume
uuidstring · uuidThe UUID of the volume that was updated.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the service group that was updated.
Example: funky-town-g756b5dstatusstringThe status of this particular volume update operation.
Example: successidstring(Optional). The client-provided ID from the request.
Example: op-1messagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No volume with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8
Volume
uuidstring · uuidThe UUID of the volume.
This is a unique identifier for the volume that is generated when the volume is created. The UUID is used to reference the volume in API calls and can be used to identify the volume in all API calls that require an identifier.
Example: c1d2e3f4-5678-90ab-cdef-1234567890abnamestringThe name of the volume.
This is a human-readable name that can be used to identify the volume. The name must be unique within the context of your account. The name can also be used to identify the volume in API calls.
Example: funky-town-g7gum5cjcreated_atstring · date-timeThe time the volume was created.
Example: 2021-01-01T00:00:00Zstatestring · enum · enumCurrent state of the volume.
Enum values:uninitializedinitializingavailableidlemountedbusyerrorsize_mbinteger · uint64The size of the volume in megabytes.
Example: 64persistentbooleanIndicates if the volume will stay alive when the last instance is deleted that this volume is attached to.
Example: trueattached_toobject[]List of instances that this volume is attached to.
mounted_byobject[]List of instances that have this volume mounted.
tagsstring[]The tags associated with the volume.
statusstring · enum · enumAn optional field representing the status of the request. This field is only set when this message object is used as a response message.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: No volume with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is only set when this message object is used as a response message, and is useful when the status is not
success.Example: 8
VolumeInstanceID
namestringThe name of the instance that the volume is attached to.
Example: funky-town-g7gum5cj
VolumeVolumeInstanceMount
namestringThe name of the instance that the volume is mounted in.
Example: funky-town-g7gum5cj
WaitInstanceByUUIDRequestBody
timeout_msinteger · int64Timeout in milliseconds to wait for the instance to reach the desired state. If the timeout is reached, the request will fail with an error. A value of -1 means to wait indefinitely until the instance reaches the desired state.
Example: 450
WaitInstancesRequestItem
uuidstring · uuidThe UUID of the instance to wait for. Mutually exclusive with name.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the instance to wait for. Mutually exclusive with UUID.
Example: funky-town-g756b5dstatestring · enum · enumThe desired state to wait for. Default is
running.Enum values:stoppedstartingrunningdrainingstoppingtemplatestandbytimeout_msinteger · int64Timeout in milliseconds to wait for the instance to reach the desired state. If the timeout is reached, the request will fail with an error. A value of -1 means to wait indefinitely until the instance reaches the desired state.
Example: 450
WaitInstancesResponse
statusstring · enum · enumThe status of the response.
Enum values:successerrormessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: Failed to perform all operationsdataobjectThe response data for this request.
errorsobject[]A list of errors which may have occurred during the request.
op_time_usinteger · uint64The operation time in microseconds. This is the time it took to process the request and generate the response.
Example: 450
WaitInstancesResponseWaitedInstance
uuidstring · uuidThe UUID of the instance.
Example: 123e4567-e89b-12d3-a456-426614174000namestringThe name of the instance.
Example: funky-town-g756b5dstatestring · enum · enumThe current state of the instance.
Enum values:stoppedstartingrunningdrainingstoppingtemplatestandbymessagestringAn optional message providing additional information about the status. This field is useful when the status is not
success.Example: No instance with name 'funky-town-g756b5d'errorinteger · int32An optional error code providing additional information about the status. This field is useful when the status is not
success.Example: 8