Struct taskcluster::Index
source · pub struct Index {
pub client: Client,
}
Expand description
Index Service
The index service is responsible for indexing tasks. The service ensures that tasks can be located by user-defined names.
As described in the service documentation, tasks are typically indexed via Pulse messages, so the most common use of API methods is to read from the index.
Slashes (/
) aren’t allowed in index paths.
Fields§
§client: Client
The underlying client used to make API calls for this service.
Implementations§
source§impl Index
impl Index
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 Index 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 findTask(&self, indexPath: &str) -> Result<Value, Error>
pub async fn findTask(&self, indexPath: &str) -> Result<Value, Error>
Find Indexed Task
Find a task by index path, returning the highest-rank task with that path. If no task exists for the given path, this API end-point will respond with a 404 status.
sourcepub fn findTask_url(&self, indexPath: &str) -> Result<String, Error>
pub fn findTask_url(&self, indexPath: &str) -> Result<String, Error>
Generate an unsigned URL for the findTask endpoint
sourcepub fn findTask_signed_url(
&self,
indexPath: &str,
ttl: Duration
) -> Result<String, Error>
pub fn findTask_signed_url( &self, indexPath: &str, ttl: Duration ) -> Result<String, Error>
Generate a signed URL for the findTask endpoint
sourcepub async fn listNamespaces(
&self,
namespace: &str,
continuationToken: Option<&str>,
limit: Option<&str>
) -> Result<Value, Error>
pub async fn listNamespaces( &self, namespace: &str, continuationToken: Option<&str>, limit: Option<&str> ) -> Result<Value, Error>
List Namespaces
List the namespaces immediately under a given namespace.
This endpoint
lists up to 1000 namespaces. If more namespaces are present, a
continuationToken
will be returned, which can be given in the next
request. For the initial request, the payload should be an empty JSON
object.
sourcepub fn listNamespaces_url(
&self,
namespace: &str,
continuationToken: Option<&str>,
limit: Option<&str>
) -> Result<String, Error>
pub fn listNamespaces_url( &self, namespace: &str, continuationToken: Option<&str>, limit: Option<&str> ) -> Result<String, Error>
Generate an unsigned URL for the listNamespaces endpoint
sourcepub fn listNamespaces_signed_url(
&self,
namespace: &str,
continuationToken: Option<&str>,
limit: Option<&str>,
ttl: Duration
) -> Result<String, Error>
pub fn listNamespaces_signed_url( &self, namespace: &str, continuationToken: Option<&str>, limit: Option<&str>, ttl: Duration ) -> Result<String, Error>
Generate a signed URL for the listNamespaces endpoint
sourcepub async fn listTasks(
&self,
namespace: &str,
continuationToken: Option<&str>,
limit: Option<&str>
) -> Result<Value, Error>
pub async fn listTasks( &self, namespace: &str, continuationToken: Option<&str>, limit: Option<&str> ) -> Result<Value, Error>
List Tasks
List the tasks immediately under a given namespace.
This endpoint
lists up to 1000 tasks. If more tasks are present, a
continuationToken
will be returned, which can be given in the next
request. For the initial request, the payload should be an empty JSON
object.
Remark, this end-point is designed for humans browsing for tasks, not services, as that makes little sense.
sourcepub fn listTasks_url(
&self,
namespace: &str,
continuationToken: Option<&str>,
limit: Option<&str>
) -> Result<String, Error>
pub fn listTasks_url( &self, namespace: &str, continuationToken: Option<&str>, limit: Option<&str> ) -> Result<String, Error>
Generate an unsigned URL for the listTasks endpoint
sourcepub fn listTasks_signed_url(
&self,
namespace: &str,
continuationToken: Option<&str>,
limit: Option<&str>,
ttl: Duration
) -> Result<String, Error>
pub fn listTasks_signed_url( &self, namespace: &str, continuationToken: Option<&str>, limit: Option<&str>, ttl: Duration ) -> Result<String, Error>
Generate a signed URL for the listTasks endpoint
sourcepub async fn insertTask(
&self,
namespace: &str,
payload: &Value
) -> Result<Value, Error>
pub async fn insertTask( &self, namespace: &str, payload: &Value ) -> Result<Value, Error>
Insert Task into Index
Insert a task into the index. If the new rank is less than the existing rank at the given index path, the task is not indexed but the response is still 200 OK.
Please see the introduction above for information about indexing successfully completed tasks automatically using custom routes.
sourcepub async fn deleteTask(&self, namespace: &str) -> Result<(), Error>
pub async fn deleteTask(&self, namespace: &str) -> Result<(), Error>
Remove Task from Index
Remove a task from the index. This is intended for administrative use, where an index entry is no longer appropriate. The parent namespace is not automatically deleted. Index entries with lower rank that were previously inserted will not re-appear, as they were never stored.
sourcepub async fn findArtifactFromTask(
&self,
indexPath: &str,
name: &str
) -> Result<(), Error>
pub async fn findArtifactFromTask( &self, indexPath: &str, name: &str ) -> Result<(), Error>
Get Artifact From Indexed Task
Find a task by index path and redirect to the artifact on the most recent
run with the given name
.
Note that multiple calls to this endpoint may return artifacts from differen tasks if a new task is inserted into the index between calls. Avoid using this method as a stable link to multiple, connected files if the index path does not contain a unique identifier. For example, the following two links may return unrelated files:
- https://tc.example.com/api/index/v1/task/some-app.win64.latest.installer/artifacts/public/installer.exe`
- https://tc.example.com/api/index/v1/task/some-app.win64.latest.installer/artifacts/public/debug-symbols.zip`
This problem be remedied by including the revision in the index path or by bundling both installer and debug symbols into a single artifact.
If no task exists for the given index path, this API end-point responds with 404.
sourcepub fn findArtifactFromTask_url(
&self,
indexPath: &str,
name: &str
) -> Result<String, Error>
pub fn findArtifactFromTask_url( &self, indexPath: &str, name: &str ) -> Result<String, Error>
Generate an unsigned URL for the findArtifactFromTask endpoint
sourcepub fn findArtifactFromTask_signed_url(
&self,
indexPath: &str,
name: &str,
ttl: Duration
) -> Result<String, Error>
pub fn findArtifactFromTask_signed_url( &self, indexPath: &str, name: &str, ttl: Duration ) -> Result<String, Error>
Generate a signed URL for the findArtifactFromTask 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