Skip to main content

HostedZoneClient

Struct HostedZoneClient 

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

Calls HostedZoneService.

Hosted zones: the domains a project’s records are answered for.

A public zone holds its name only once it proves control of it: until then it is hosted_zone::State::PendingVerification, and any number of zones of any project may be pending for the same name. It proves control in either of two ways: the name’s parent (its registry, for a registered domain) delegates it to the zone’s own name_servers, which no other zone is given; or a TXT record at _origin-challenge.{dns_name} holding the zone’s token answers at the name’s current DNS. The first zone of a name to verify becomes hosted_zone::State::Active, holds the name, and is answered from the platform’s name servers once the name is delegated to them; the others stay pending. A zone that doesn’t verify within its window is deleted with its record sets. The platform checks pending zones on its own, more rarely the longer they stay pending; VerifyHostedZone checks one now.

An active public zone is checked again every day. It keeps its name while the name is delegated to its name servers, or while the token still answers at the name’s other name servers. After several checks in a row find the name delegated elsewhere without the token, or to other platform name servers than the zone’s, it is hosted_zone::State::Suspended: no longer answered, its record sets kept, and its name free for another zone to verify. Verifying it again while its name is free makes it active again.

A private zone is active from the start, and answers in the VPCs it is attached to.

Implementations§

Source§

impl HostedZoneClient

Source

pub fn new(client: &Client) -> Self

Returns a client of HostedZoneService that sends its calls through client.

Source

pub fn service(&self) -> &Service

The endpoint the client sends its calls to, which also serves the operations its methods answer with.

Source

pub fn with_options(&self, options: CallOptions) -> Self

The same client, whose calls are sent as options says instead of as the Client’s settings do, such as a mutation that must not be sent twice: .with_options(CallOptions::new().max_attempts(1)). See CallOptions.

Source

pub async fn get_hosted_zone( &self, request: GetHostedZoneRequest, ) -> Result<HostedZone, Error>

Returns a hosted zone.

Source

pub async fn list_hosted_zones( &self, request: ListHostedZonesRequest, ) -> Result<ListHostedZonesResponse, Error>

Lists a project’s hosted zones, oldest first.

Source

pub fn all_hosted_zones( &self, request: ListHostedZonesRequest, ) -> Pages<HostedZone>

Returns everything list_hosted_zones lists from request’s page on, fetching the next page as the stream reaches it. A page that fails ends the stream with its error.

Source

pub async fn create_hosted_zone( &self, request: CreateHostedZoneRequest, ) -> Result<HostedZone, Error>

Creates a hosted zone, empty. A public zone starts hosted_zone::State::PendingVerification, with the token to publish in challenge; a private zone starts hosted_zone::State::Active. Refused with BAD_REQUEST for a name the platform keeps for itself, or once the project’s or organization’s quota of zones is used up, and with PAYMENT_METHOD_REQUIRED while the project has no valid billing.

Source

pub async fn update_hosted_zone( &self, request: UpdateHostedZoneRequest, ) -> Result<HostedZone, Error>

Changes a hosted zone’s tags.

Source

pub async fn delete_hosted_zone( &self, request: DeleteHostedZoneRequest, ) -> Result<Empty, Error>

Deletes a hosted zone. Refused with CONFLICT while it holds record sets or, for a private zone, VPC attachments: delete them first.

Source

pub async fn verify_hosted_zone( &self, request: VerifyHostedZoneRequest, ) -> Result<HostedZone, Error>

Checks a public zone’s proof of control now, instead of waiting for the platform’s next check, and returns the zone as it is then, with the check’s outcome in challenge.last_check. A pending zone that proves control becomes hosted_zone::State::Active, and so does a suspended one while its name is free; otherwise the zone stays as it was. A call within 30 seconds of the zone’s last check answers with that check’s outcome and asks the name’s DNS nothing. Refused with ownership_challenge::CheckOutcome::NotFound once a pending zone’s window has ended, which deleted it, and with SERVICE_UNAVAILABLE, retryable, when the name’s DNS didn’t answer in time or too many checks are under way. A private zone has no challenge, and is refused with BAD_REQUEST. Checking an active zone changes nothing, so a client may repeat the call; ownership_challenge::CheckOutcome::NotFound for one means its proof is lost, and the daily checks suspend it unless the proof comes back.

Trait Implementations§

Source§

impl Clone for HostedZoneClient

Source§

fn clone(&self) -> Self

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 HostedZoneClient

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> MaybeSend for T
where T: Send + ?Sized,

Source§

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

Source§

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

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 = !

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

fn try_from(value: U) -> Result<T, !>

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