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
impl HostedZoneClient
Sourcepub fn new(client: &Client) -> Self
pub fn new(client: &Client) -> Self
Returns a client of HostedZoneService that sends its calls through client.
Sourcepub fn service(&self) -> &Service
pub fn service(&self) -> &Service
The endpoint the client sends its calls to, which also serves the operations its methods answer with.
Sourcepub fn with_options(&self, options: CallOptions) -> Self
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.
Sourcepub async fn get_hosted_zone(
&self,
request: GetHostedZoneRequest,
) -> Result<HostedZone, Error>
pub async fn get_hosted_zone( &self, request: GetHostedZoneRequest, ) -> Result<HostedZone, Error>
Returns a hosted zone.
Sourcepub async fn list_hosted_zones(
&self,
request: ListHostedZonesRequest,
) -> Result<ListHostedZonesResponse, Error>
pub async fn list_hosted_zones( &self, request: ListHostedZonesRequest, ) -> Result<ListHostedZonesResponse, Error>
Lists a project’s hosted zones, oldest first.
Sourcepub fn all_hosted_zones(
&self,
request: ListHostedZonesRequest,
) -> Pages<HostedZone>
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.
Sourcepub async fn create_hosted_zone(
&self,
request: CreateHostedZoneRequest,
) -> Result<HostedZone, Error>
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.
Sourcepub async fn update_hosted_zone(
&self,
request: UpdateHostedZoneRequest,
) -> Result<HostedZone, Error>
pub async fn update_hosted_zone( &self, request: UpdateHostedZoneRequest, ) -> Result<HostedZone, Error>
Changes a hosted zone’s tags.
Sourcepub async fn delete_hosted_zone(
&self,
request: DeleteHostedZoneRequest,
) -> Result<Empty, Error>
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.
Sourcepub async fn verify_hosted_zone(
&self,
request: VerifyHostedZoneRequest,
) -> Result<HostedZone, Error>
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.