Skip to main content

Client

Struct Client 

Source
pub struct Client { /* private fields */ }
Expand description

Client for Alien Manager API

Control plane for Alien applications. Manages deployments, releases, commands, and telemetry.

Version: 1.0.0

Implementations§

Source§

impl Client

Source

pub fn new(baseurl: &str) -> Self

Create a new client.

baseurl is the base URL provided to the internal reqwest::Client, and should include a scheme and hostname, as well as port and a path stem if applicable.

Source

pub fn new_with_client(baseurl: &str, client: Client) -> Self

Construct a new client with an existing reqwest::Client, allowing more control over its configuration.

baseurl is the base URL provided to the internal reqwest::Client, and should include a scheme and hostname, as well as port and a path stem if applicable.

Source§

impl Client

Source

pub fn health(&self) -> Health<'_>

Sends a GET request to /health

let response = client.health()
    .send()
    .await;
Source

pub fn create_command(&self) -> CreateCommand<'_>

Create a new command

Sends a POST request to /v1/commands

let response = client.create_command()
    .body(body)
    .send()
    .await;
Source

pub fn acquire_leases(&self) -> AcquireLeases<'_>

Acquire leases for polling deployments

Sends a POST request to /v1/commands/leases

let response = client.acquire_leases()
    .body(body)
    .send()
    .await;
Source

pub fn release_lease(&self) -> ReleaseLease<'_>

Release a lease

Sends a POST request to /v1/commands/leases/{lease_id}/release

Arguments:

  • lease_id: Lease identifier
let response = client.release_lease()
    .lease_id(lease_id)
    .send()
    .await;
Source

pub fn get_command_status(&self) -> GetCommandStatus<'_>

Get command status

Sends a GET request to /v1/commands/{command_id}

Arguments:

  • command_id: Command identifier
let response = client.get_command_status()
    .command_id(command_id)
    .send()
    .await;
Source

pub fn get_command_payload(&self) -> GetCommandPayload<'_>

Get command payload (params and response) from KV

Returns the raw params and response data stored in the manager’s KV store. Returns 404 if neither params nor response exist for this command.

Sends a GET request to /v1/commands/{command_id}/payload

Arguments:

  • command_id: Command identifier
let response = client.get_command_payload()
    .command_id(command_id)
    .send()
    .await;
Source

pub fn store_command_payload(&self) -> StoreCommandPayload<'_>

Store command payload data (params and/or response) directly into KV

Bypasses the command registry — useful for populating demo data or migrating payload data. Does not validate command existence or state.

Sends a PUT request to /v1/commands/{command_id}/payload

Arguments:

  • command_id: Command identifier
  • body
let response = client.store_command_payload()
    .command_id(command_id)
    .body(body)
    .send()
    .await;
Source

pub fn submit_response(&self) -> SubmitResponse<'_>

Submit response from deployment

Sends a PUT request to /v1/commands/{command_id}/response

Arguments:

  • command_id: Command identifier
  • body
let response = client.submit_response()
    .command_id(command_id)
    .body(body)
    .send()
    .await;
Source

pub fn upload_complete(&self) -> UploadComplete<'_>

Mark upload as complete

Sends a POST request to /v1/commands/{command_id}/upload-complete

Arguments:

  • command_id: Command identifier
  • body
let response = client.upload_complete()
    .command_id(command_id)
    .body(body)
    .send()
    .await;
Source

pub fn list_deployment_groups(&self) -> ListDeploymentGroups<'_>

Sends a GET request to /v1/deployment-groups

let response = client.list_deployment_groups()
    .send()
    .await;
Source

pub fn create_deployment_group(&self) -> CreateDeploymentGroup<'_>

Sends a POST request to /v1/deployment-groups

let response = client.create_deployment_group()
    .body(body)
    .send()
    .await;
Source

pub fn get_deployment_group(&self) -> GetDeploymentGroup<'_>

Sends a GET request to /v1/deployment-groups/{id}

Arguments:

  • id: Deployment group ID
let response = client.get_deployment_group()
    .id(id)
    .send()
    .await;
Source

pub fn create_deployment_group_token(&self) -> CreateDeploymentGroupToken<'_>

Sends a POST request to /v1/deployment-groups/{id}/tokens

Arguments:

  • id: Deployment group ID
let response = client.create_deployment_group_token()
    .id(id)
    .send()
    .await;
Source

pub fn list_deployments(&self) -> ListDeployments<'_>

Sends a GET request to /v1/deployments

Arguments:

  • deployment_group_id: Filter by deployment group ID
  • include: Include related resources (e.g. deploymentGroup)
let response = client.list_deployments()
    .deployment_group_id(deployment_group_id)
    .include(include)
    .send()
    .await;
Source

pub fn create_deployment(&self) -> CreateDeployment<'_>

Sends a POST request to /v1/deployments

let response = client.create_deployment()
    .body(body)
    .send()
    .await;
Source

pub fn get_deployment(&self) -> GetDeployment<'_>

Sends a GET request to /v1/deployments/{id}

Arguments:

  • id: Deployment ID
let response = client.get_deployment()
    .id(id)
    .send()
    .await;
Source

pub fn delete_deployment(&self) -> DeleteDeployment<'_>

Sends a DELETE request to /v1/deployments/{id}

Arguments:

  • id: Deployment ID
  • force: Force delete without running cleanup (immediately removes record)
let response = client.delete_deployment()
    .id(id)
    .force(force)
    .send()
    .await;
Source

pub fn get_deployment_info(&self) -> GetDeploymentInfo<'_>

Sends a GET request to /v1/deployments/{id}/info

Arguments:

  • id: Deployment ID
let response = client.get_deployment_info()
    .id(id)
    .send()
    .await;
Source

pub fn redeploy(&self) -> Redeploy<'_>

Sends a POST request to /v1/deployments/{id}/redeploy

Arguments:

  • id: Deployment ID
let response = client.redeploy()
    .id(id)
    .send()
    .await;
Source

pub fn retry_deployment(&self) -> RetryDeployment<'_>

Sends a POST request to /v1/deployments/{id}/retry

Arguments:

  • id: Deployment ID
let response = client.retry_deployment()
    .id(id)
    .send()
    .await;
Source

pub fn initialize(&self) -> Initialize<'_>

Sends a POST request to /v1/initialize

let response = client.initialize()
    .body(body)
    .send()
    .await;
Source

pub fn create_release(&self) -> CreateRelease<'_>

Sends a POST request to /v1/releases

let response = client.create_release()
    .body(body)
    .send()
    .await;
Source

pub fn get_latest_release(&self) -> GetLatestRelease<'_>

Sends a GET request to /v1/releases/latest

let response = client.get_latest_release()
    .send()
    .await;
Source

pub fn get_release(&self) -> GetRelease<'_>

Sends a GET request to /v1/releases/{id}

Arguments:

  • id: Release ID
let response = client.get_release()
    .id(id)
    .send()
    .await;
Source

pub fn resolve_credentials(&self) -> ResolveCredentials<'_>

Sends a POST request to /v1/resolve-credentials

let response = client.resolve_credentials()
    .body(body)
    .send()
    .await;
Source

pub fn agent_sync(&self) -> AgentSync<'_>

Sends a POST request to /v1/sync

let response = client.agent_sync()
    .body(body)
    .send()
    .await;
Source

pub fn acquire(&self) -> Acquire<'_>

Sends a POST request to /v1/sync/acquire

let response = client.acquire()
    .body(body)
    .send()
    .await;
Source

pub fn reconcile(&self) -> Reconcile<'_>

Sends a POST request to /v1/sync/reconcile

let response = client.reconcile()
    .body(body)
    .send()
    .await;
Source

pub fn release(&self) -> Release<'_>

Sends a POST request to /v1/sync/release

let response = client.release()
    .body(body)
    .send()
    .await;
Source

pub fn whoami(&self) -> Whoami<'_>

Sends a GET request to /v1/whoami

let response = client.whoami()
    .send()
    .await;

Trait Implementations§

Source§

impl ClientHooks for &Client

Source§

async fn pre<E>( &self, request: &mut Request, info: &OperationInfo, ) -> Result<(), Error<E>>

Runs prior to the execution of the request. This may be used to modify the request before it is transmitted.
Source§

async fn post<E>( &self, result: &Result<Response, Error>, info: &OperationInfo, ) -> Result<(), Error<E>>

Runs after completion of the request.
Source§

async fn exec( &self, request: Request, info: &OperationInfo, ) -> Result<Response, Error>

Execute the request. Note that for almost any reasonable implementation this will include code equivalent to this: Read more
Source§

impl ClientInfo<()> for Client

Source§

fn api_version() -> &'static str

Get the version of this API. Read more
Source§

fn baseurl(&self) -> &str

Get the base URL to which requests are made.
Source§

fn client(&self) -> &Client

Get the internal reqwest::Client used to make requests.
Source§

fn inner(&self) -> &()

Get the inner value of type T if one is specified.
Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Client

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more