#[non_exhaustive]pub enum DnsUpdater {
Rfc2136(Rfc2136Provider),
Cloudflare(CloudflareProvider),
DigitalOcean(DigitalOceanProvider),
Desec(DesecProvider),
Ovh(OvhProvider),
Bunny(BunnyProvider),
Porkbun(PorkBunProvider),
Spaceship(SpaceshipProvider),
DNSimple(DNSimpleProvider),
GoogleCloudDns(GoogleCloudDnsProvider),
Route53(Route53Provider),
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Rfc2136(Rfc2136Provider)
Cloudflare(CloudflareProvider)
DigitalOcean(DigitalOceanProvider)
Desec(DesecProvider)
Ovh(OvhProvider)
Bunny(BunnyProvider)
Porkbun(PorkBunProvider)
Spaceship(SpaceshipProvider)
DNSimple(DNSimpleProvider)
GoogleCloudDns(GoogleCloudDnsProvider)
Route53(Route53Provider)
Implementations§
Source§impl DnsUpdater
impl DnsUpdater
Sourcepub fn new_rfc2136_tsig(
addr: impl TryInto<DnsAddress>,
key_name: impl AsRef<str>,
key: impl Into<Vec<u8>>,
algorithm: TsigAlgorithm,
) -> Result<Self>
pub fn new_rfc2136_tsig( addr: impl TryInto<DnsAddress>, key_name: impl AsRef<str>, key: impl Into<Vec<u8>>, algorithm: TsigAlgorithm, ) -> Result<Self>
Create a new DNS updater using the RFC 2136 protocol and TSIG authentication.
Sourcepub fn new_rfc2136_sig0(
addr: impl TryInto<DnsAddress>,
signer_name: impl AsRef<str>,
key: Box<dyn SigningKey>,
public_key: impl Into<Vec<u8>>,
algorithm: Algorithm,
) -> Result<Self>
pub fn new_rfc2136_sig0( addr: impl TryInto<DnsAddress>, signer_name: impl AsRef<str>, key: Box<dyn SigningKey>, public_key: impl Into<Vec<u8>>, algorithm: Algorithm, ) -> Result<Self>
Create a new DNS updater using the RFC 2136 protocol and SIG(0) authentication.
Sourcepub fn new_cloudflare(
secret: impl AsRef<str>,
email: Option<impl AsRef<str>>,
timeout: Option<Duration>,
) -> Result<Self>
pub fn new_cloudflare( secret: impl AsRef<str>, email: Option<impl AsRef<str>>, timeout: Option<Duration>, ) -> Result<Self>
Create a new DNS updater using the Cloudflare API.
Sourcepub fn new_digitalocean(
auth_token: impl AsRef<str>,
timeout: Option<Duration>,
) -> Result<Self>
pub fn new_digitalocean( auth_token: impl AsRef<str>, timeout: Option<Duration>, ) -> Result<Self>
Create a new DNS updater using the Cloudflare API.
Sourcepub fn new_desec(
auth_token: impl AsRef<str>,
timeout: Option<Duration>,
) -> Result<Self>
pub fn new_desec( auth_token: impl AsRef<str>, timeout: Option<Duration>, ) -> Result<Self>
Create a new DNS updater using the Desec.io API.
Sourcepub fn new_ovh(
application_key: impl AsRef<str>,
application_secret: impl AsRef<str>,
consumer_key: impl AsRef<str>,
endpoint: OvhEndpoint,
timeout: Option<Duration>,
) -> Result<Self>
pub fn new_ovh( application_key: impl AsRef<str>, application_secret: impl AsRef<str>, consumer_key: impl AsRef<str>, endpoint: OvhEndpoint, timeout: Option<Duration>, ) -> Result<Self>
Create a new DNS updater using the OVH API.
Sourcepub fn new_bunny(
api_key: impl AsRef<str>,
timeout: Option<Duration>,
) -> Result<Self>
pub fn new_bunny( api_key: impl AsRef<str>, timeout: Option<Duration>, ) -> Result<Self>
Create a new DNS updater using the Bunny API.
Sourcepub fn new_porkbun(
api_key: impl AsRef<str>,
secret_api_key: impl AsRef<str>,
timeout: Option<Duration>,
) -> Result<Self>
pub fn new_porkbun( api_key: impl AsRef<str>, secret_api_key: impl AsRef<str>, timeout: Option<Duration>, ) -> Result<Self>
Create a new DNS updater using the Porkbun API.
Sourcepub fn new_spaceship(
api_key: impl AsRef<str>,
api_secret: impl AsRef<str>,
timeout: Option<Duration>,
) -> Result<Self>
pub fn new_spaceship( api_key: impl AsRef<str>, api_secret: impl AsRef<str>, timeout: Option<Duration>, ) -> Result<Self>
Create a new DNS updater using the Spaceship API.
Sourcepub fn new_dnsimple(
auth_token: impl AsRef<str>,
account_id: impl AsRef<str>,
timeout: Option<Duration>,
) -> Result<Self>
pub fn new_dnsimple( auth_token: impl AsRef<str>, account_id: impl AsRef<str>, timeout: Option<Duration>, ) -> Result<Self>
Create a new DNS updater using the DNSimple API.
Sourcepub fn new_google_cloud_dns(config: GoogleCloudDnsConfig) -> Result<Self>
pub fn new_google_cloud_dns(config: GoogleCloudDnsConfig) -> Result<Self>
Create a new DNS updater using the Google Cloud DNS API.
Sourcepub fn new_route53(config: Route53Config) -> Result<Self>
pub fn new_route53(config: Route53Config) -> Result<Self>
Create a new DNS updater using the Route53 API.
Sourcepub async fn create(
&self,
name: impl IntoFqdn<'_>,
record: DnsRecord,
ttl: u32,
origin: impl IntoFqdn<'_>,
) -> Result<()>
pub async fn create( &self, name: impl IntoFqdn<'_>, record: DnsRecord, ttl: u32, origin: impl IntoFqdn<'_>, ) -> Result<()>
Create a new DNS record.
Trait Implementations§
Source§impl Clone for DnsUpdater
impl Clone for DnsUpdater
Source§fn clone(&self) -> DnsUpdater
fn clone(&self) -> DnsUpdater
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DnsUpdater
impl !RefUnwindSafe for DnsUpdater
impl Send for DnsUpdater
impl Sync for DnsUpdater
impl Unpin for DnsUpdater
impl UnsafeUnpin for DnsUpdater
impl !UnwindSafe for DnsUpdater
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more