Skip to main content

Client

Struct Client 

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

A configured connection to one Core endpoint; the entry point of the SDK.

Built with Client::builder. Cheap to clone and safe to share between tasks: clones share one connection pool. Resource groups are reached through methods such as zones and records.

§Errors

Every call can fail with:

The method docs list only the errors specific to that call.

§Examples

let client = dinio_sdk::Client::builder()
    .base_url("https://api-dinio.bitelex.com")
    .api_key("du_...")
    .build()?;
for zone in client.zones().list_all().await? {
    println!("{}", zone.name);
}

Implementations§

Source§

impl Client

Source

pub fn builder() -> ClientBuilder

Starts configuring a client; only the base URL is required.

Source

pub fn zones(&self) -> Zones<'_>

Zones: list, get, create, delete, issue and revoke the zone key.

Source

pub fn zone_members(&self) -> ZoneMembers<'_>

Who has access to a zone (Owner, Administrators).

Source

pub fn users(&self) -> Users<'_>

The caller’s own user account: read it, issue or revoke the personal key.

Source

pub fn redirects(&self) -> Redirects<'_>

HTTP(S) redirects by host name, inside the caller’s zones.

Source

pub fn certificates(&self) -> Certificates<'_>

TLS certificates of zones: upload, renew, delete; read the ones Core issues for redirects.

Source

pub fn records(&self) -> Records<'_>

Records: groups (RRsets) and their values. See also the name-based ops functions.

Source

pub fn geo_bans(&self) -> GeoBans<'_>

Geo bans of record values, by uuid. See also ops::add_geo_bans.

Source

pub fn audit_logs(&self) -> AuditLogs<'_>

Who did what, on the caller’s account and zones.

Source

pub fn stats(&self) -> Stats<'_>

Query statistics of the caller’s zones and client identities (Relay telemetry).

Source

pub fn free_domains(&self) -> FreeDomains<'_>

Free domains to lease a subdomain of; works without an API key.

Source

pub fn geo(&self) -> Geo<'_>

The regions, sub-regions and countries geo bans can name.

Source

pub fn health_checks(&self) -> HealthChecks<'_>

Health checks, one per record value.

Source

pub fn client_identities(&self) -> ClientIdentities<'_>

Client identities: clients Relay recognises (by IP, DoT hostname or DoH path), so that sinkhole lists can apply to them.

Source

pub fn sinkhole_lists(&self) -> SinkholeLists<'_>

Sinkhole lists: blacklists and whitelists of names.

Source

pub fn sinkhole_roles(&self) -> SinkholeRoles<'_>

Rules of sinkhole lists. See also ops::select_sinkhole_roles.

Links between client identities and sinkhole lists.

Source

pub async fn health(&self) -> Result<Health>

GET /api/health: unauthenticated liveness of the Core instance that answered. Not enveloped, and works without credentials.

§Examples
let health = client.health().await?;
println!("Core {} is {}", health.version.as_deref().unwrap_or("?"), health.status);

Trait Implementations§

Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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.

§

impl<T> Instrument for T

§

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

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

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.

§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + 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
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + 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.
§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

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