Order

Struct Order 

Source
pub struct Order {
    pub status: OrderStatus,
    pub expires: Option<String>,
    pub identifiers: Vec<Identifier>,
    pub not_before: Option<String>,
    pub not_after: Option<String>,
    pub error: Option<ServerError>,
    /* private fields */
}
Expand description

An order represents a subscribers’s request for a certificate from the ACME server, and is used to track the progress of that order through to issuance.

This must be created through an OrderBuilder.

Fields§

§status: OrderStatus

The status of this order.

§expires: Option<String>

The timestamp after which the server will consider this order invalid.

§identifiers: Vec<Identifier>

An array of identifier objects that the order pertains to.

§not_before: Option<String>

The requested value of the notBefore field in the certificate.

§not_after: Option<String>

The requested value of the notAfter field in the certificate.

§error: Option<ServerError>

The error that occurred while processing the order, if any.

Implementations§

Source§

impl Order

Source

pub async fn authorizations(&self) -> Result<Vec<Authorization>, Error>

Retrieve all of the Authorizations needed for this order.

The authorization may already be in a Valid state, if an authorization for this identifier was already completed through a seperate order.

Source§

impl Order

Source

pub async fn finalize(&self, csr: Csr) -> Result<Order, Error>

Finalize an order (request the final certificate).

For finalization to complete, the state of the order must be in the OrderStatus::Ready state. You can use Order::wait_ready to wait until this is the case.

In most cases this will not complete immediately. You should always call Order::wait_done after this operation to wait until the ACME server has finished finalization, and the certificate is ready for download.

Source

pub async fn certificate(&self) -> Result<Option<Vec<X509>>, Error>

Download the certificate. The order must be in the OrderStatus::Valid state for this to complete.

Source

pub async fn poll(&self) -> Result<Order, Error>

Update the order to match the current server state.

Most users should use Order::wait_ready or Order::wait_done.

Source

pub async fn wait_ready( self, poll_interval: Duration, attempts: usize, ) -> Result<Order, Error>

Wait for this order to go into a state other than OrderStatus::Pending.

This happens when all crate::Authorizations in this order have been completed (have the crate::AuthorizationStatus::Valid state).

Will complete immediately if the order is already in one of these states.

Specify the interval at which to poll the acme server, and how often to attempt polling before timing out. Polling should not happen faster than about every 5 seconds to avoid rate limits in the acme server.

Source

pub async fn wait_done( self, poll_interval: Duration, attempts: usize, ) -> Result<Order, Error>

Wait for the order to go into the OrderStatus::Valid or OrderStatus::Invalid state.

This will happen after the order has gone into the OrderStatus::Ready state, and the order has been requested to be finalized.

Will complete immediately if the order is already in one of these states.

Specify the interval at which to poll the acme server, and how often to attempt polling before timing out. Polling should not happen faster than about every 5 seconds to avoid rate limits in the acme server.

Trait Implementations§

Source§

impl Debug for Order

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Order

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

§

impl Freeze for Order

§

impl !RefUnwindSafe for Order

§

impl Send for Order

§

impl Sync for Order

§

impl Unpin for Order

§

impl !UnwindSafe for Order

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

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
§

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

§

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
§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,