Outgoing API

API: Stable

Table of Contents

1. Remote Procedure Calls
Name Description
browse No description
retrieve No description
browseSshKeys No description
chargeCredits No description
checkCredits No description
register No description
update No description
2. Data Models
Name Description
JobsControlBrowseSshKeys The base type for requesting paginated content.
SSHKey A public key belonging to a UCloud user intended for SSH purposes
SSHKey.Spec No description

Remote Procedure Calls

browse

API: Stable Auth: Provider

Request Response Error
ResourceBrowseRequest<JobIncludeFlags> PageV2<Job> CommonErrorMessage

retrieve

API: Stable Auth: Provider

Request Response Error
ResourceRetrieveRequest<JobIncludeFlags> Job CommonErrorMessage

browseSshKeys

API: Experimental/Beta Auth: Provider

Request Response Error
JobsControlBrowseSshKeys PageV2<SSHKey> CommonErrorMessage

chargeCredits

API: Stable Auth: Provider Deprecated: Yes

Request Response Error
BulkRequest<ResourceChargeCredits> ResourceChargeCreditsResponse CommonErrorMessage

checkCredits

API: Stable Auth: Provider Deprecated: Yes

Request Response Error
BulkRequest<ResourceChargeCredits> ResourceChargeCreditsResponse CommonErrorMessage

register

API: Stable Auth: Provider

Request Response Error
BulkRequest<JobSpecification> BulkResponse<FindByStringId> CommonErrorMessage

update

API: Stable Auth: Provider

Request Response Error
BulkRequest<ResourceUpdateAndId<JobUpdate>> Unit CommonErrorMessage

Data Models

JobsControlBrowseSshKeys

API: Experimental/Beta

The base type for requesting paginated content.

data class JobsControlBrowseSshKeys(
    val jobId: String,
    val itemsPerPage: Int?,
    val next: String?,
    val consistency: PaginationRequestV2Consistency?,
    val itemsToSkip: Long?,
)

Paginated content can be requested with one of the following consistency guarantees, this greatly changes the semantics of the call:

Consistency Description
PREFER Consistency is preferred but not required. An inconsistent snapshot might be returned.
REQUIRE Consistency is required. A request will fail if consistency is no longer guaranteed.

The consistency refers to if collecting all the results via the pagination API are consistent. We consider the results to be consistent if it contains a complete view at some point in time. In practice this means that the results must contain all the items, in the correct order and without duplicates.

If you use the PREFER consistency then you may receive in-complete results that might appear out-of-order and can contain duplicate items. UCloud will still attempt to serve a snapshot which appears mostly consistent. This is helpful for user-interfaces which do not strictly depend on consistency but would still prefer something which is mostly consistent.

The results might become inconsistent if the client either takes too long, or a service instance goes down while fetching the results. UCloud attempts to keep each next token alive for at least one minute before invalidating it. This does not mean that a client must collect all results within a minute but rather that they must fetch the next page within a minute of the last page. If this is not feasible and consistency is not required then PREFER should be used.


📝 NOTE: Services are allowed to ignore extra criteria of the request if the next token is supplied. This is needed in order to provide a consistent view of the results. Clients should provide the same criterion as they paginate through the results.


Properties
jobId: String
itemsPerPage: Int? Requested number of items per page. Supported values: 10, 25, 50, 100, 250.
next: String? A token requesting the next page of items
consistency: PaginationRequestV2Consistency? Controls the consistency guarantees provided by the backend
itemsToSkip: Long? Items to skip ahead

SSHKey

API: Experimental/Alpha

A public key belonging to a UCloud user intended for SSH purposes

data class SSHKey(
    val id: String,
    val owner: String,
    val createdAt: Long,
    val fingerprint: String,
    val specification: SSHKey.Spec,
)
Properties
id: String An opaque and unique identifier representing this SSH key
owner: String The UCloud username of the user who owns this key
createdAt: Long Timestamp for when this key was created in UCloud
fingerprint: String A fingerprint of the key

This is used to aid end-users identify the key more easily. The fingerprint will, in most cases, contain a cryptographic hash along with any additional comments the key might have associated with it. The format of this property is not stable.

specification: SSHKey.Spec Contains the user-specified part of the key

SSHKey.Spec

API: Internal/Beta

data class Spec(
    val title: String,
    val key: String,
)
Properties
title: String Single line human-readable description, not unique
key: String The public part of an SSH key