Struct taskcluster::Object
source · pub struct Object {
pub client: Client,
}
Expand description
Object Service
The object service provides HTTP-accessible storage for large blobs of data.
Objects can be uploaded and downloaded, with the object data flowing directly from the storage “backend” to the caller, and not directly via this service. Once uploaded, objects are immutable until their expiration time.
Fields§
§client: Client
The underlying client used to make API calls for this service.
Implementations§
source§impl Object
impl Object
sourcepub fn new<CB: Into<ClientBuilder>>(client_builder: CB) -> Result<Self, Error>
pub fn new<CB: Into<ClientBuilder>>(client_builder: CB) -> Result<Self, Error>
Create a new Object instance, based on the given client builder
sourcepub async fn ping(&self) -> Result<(), Error>
pub async fn ping(&self) -> Result<(), Error>
Ping Server
Respond without doing anything. This endpoint is used to check that the service is up.
sourcepub fn ping_signed_url(&self, ttl: Duration) -> Result<String, Error>
pub fn ping_signed_url(&self, ttl: Duration) -> Result<String, Error>
Generate a signed URL for the ping endpoint
sourcepub async fn lbheartbeat(&self) -> Result<(), Error>
pub async fn lbheartbeat(&self) -> Result<(), Error>
Load Balancer Heartbeat
Respond without doing anything. This endpoint is used to check that the service is up.
sourcepub fn lbheartbeat_url(&self) -> Result<String, Error>
pub fn lbheartbeat_url(&self) -> Result<String, Error>
Generate an unsigned URL for the lbheartbeat endpoint
sourcepub fn lbheartbeat_signed_url(&self, ttl: Duration) -> Result<String, Error>
pub fn lbheartbeat_signed_url(&self, ttl: Duration) -> Result<String, Error>
Generate a signed URL for the lbheartbeat endpoint
sourcepub async fn version(&self) -> Result<(), Error>
pub async fn version(&self) -> Result<(), Error>
Taskcluster Version
Respond with the JSON version object. https://github.com/mozilla-services/Dockerflow/blob/main/docs/version_object.md
sourcepub fn version_url(&self) -> Result<String, Error>
pub fn version_url(&self) -> Result<String, Error>
Generate an unsigned URL for the version endpoint
sourcepub fn version_signed_url(&self, ttl: Duration) -> Result<String, Error>
pub fn version_signed_url(&self, ttl: Duration) -> Result<String, Error>
Generate a signed URL for the version endpoint
sourcepub async fn createUpload(
&self,
name: &str,
payload: &Value
) -> Result<Value, Error>
pub async fn createUpload( &self, name: &str, payload: &Value ) -> Result<Value, Error>
Begin upload of a new object
Create a new object by initiating upload of its data.
This endpoint implements negotiation of upload methods. It can be called multiple times if necessary, either to propose new upload methods or to renew credentials for an already-agreed upload.
The name
parameter can contain any printable ASCII character (0x20 - 0x7e).
The uploadId
must be supplied by the caller, and any attempts to upload
an object with the same name but a different uploadId
will fail.
Thus the first call to this method establishes the uploadId
for the
object, and as long as that value is kept secret, no other caller can
upload an object of that name, regardless of scopes. Object expiration
cannot be changed after the initial call, either. It is possible to call
this method with no proposed upload methods, which has the effect of “locking
in” the expiration
, projectId
, and uploadId
properties and any
supplied hashes.
Unfinished uploads expire after 1 day.
sourcepub async fn finishUpload(
&self,
name: &str,
payload: &Value
) -> Result<(), Error>
pub async fn finishUpload( &self, name: &str, payload: &Value ) -> Result<(), Error>
Mark an upload as complete.
This endpoint marks an upload as complete. This indicates that all data has been
transmitted to the backend. After this call, no further calls to uploadObject
are
allowed, and downloads of the object may begin. This method is idempotent, but will
fail if given an incorrect uploadId for an unfinished upload.
It is possible to finish an upload with no hashes specified via either
startUpload
or finishUpload
. However, many clients will refuse to
download an object with no hashes. The utility methods included with the
client libraries always include hashes as of version 44.0.0.
Note that, once finishUpload
is complete, the object is considered immutable.
sourcepub async fn startDownload(
&self,
name: &str,
payload: &Value
) -> Result<Value, Error>
pub async fn startDownload( &self, name: &str, payload: &Value ) -> Result<Value, Error>
Download object data
Start the process of downloading an object’s data. Call this endpoint with a list of acceptable download methods, and the server will select a method and return the corresponding payload.
Returns a 406 error if none of the given download methods are available.
See Download Methods for more detail.
sourcepub async fn object(&self, name: &str) -> Result<Value, Error>
pub async fn object(&self, name: &str) -> Result<Value, Error>
Get an object’s metadata
Get the metadata for the named object. This metadata is not sufficient to
get the object’s content; for that use startDownload
.
sourcepub fn object_url(&self, name: &str) -> Result<String, Error>
pub fn object_url(&self, name: &str) -> Result<String, Error>
Generate an unsigned URL for the object endpoint
sourcepub fn object_signed_url(
&self,
name: &str,
ttl: Duration
) -> Result<String, Error>
pub fn object_signed_url( &self, name: &str, ttl: Duration ) -> Result<String, Error>
Generate a signed URL for the object endpoint
sourcepub async fn download(&self, name: &str) -> Result<(), Error>
pub async fn download(&self, name: &str) -> Result<(), Error>
Get an object’s data
Get the data in an object directly. This method does not return a JSON body, but redirects to a location that will serve the object content directly.
URLs for this endpoint, perhaps with attached authentication (?bewit=..
),
are typically used for downloads of objects by simple HTTP clients such as
web browsers, curl, or wget.
This method is limited by the common capabilities of HTTP, so it may not be
the most efficient, resilient, or featureful way to retrieve an artifact.
Situations where such functionality is required should ues the
startDownload
API endpoint.
See Simple Downloads for more detail.
sourcepub fn download_url(&self, name: &str) -> Result<String, Error>
pub fn download_url(&self, name: &str) -> Result<String, Error>
Generate an unsigned URL for the download endpoint
sourcepub fn download_signed_url(
&self,
name: &str,
ttl: Duration
) -> Result<String, Error>
pub fn download_signed_url( &self, name: &str, ttl: Duration ) -> Result<String, Error>
Generate a signed URL for the download endpoint
sourcepub async fn heartbeat(&self) -> Result<(), Error>
pub async fn heartbeat(&self) -> Result<(), Error>
Heartbeat
Respond with a service heartbeat.
This endpoint is used to check on backing services this service depends on.
sourcepub fn heartbeat_url(&self) -> Result<String, Error>
pub fn heartbeat_url(&self) -> Result<String, Error>
Generate an unsigned URL for the heartbeat endpoint