#[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
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>
👎Deprecated since 0.2.1: SIG(0) will be removed in v0.3.0, upstream hickory-client v0.26 drops SIG(0) message authentication; use new_rfc2136_tsig instead
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>
SIG(0) will be removed in v0.3.0, upstream hickory-client v0.26 drops SIG(0) message authentication; use new_rfc2136_tsig instead
Create a new DNS updater using the RFC 2136 protocol and SIG(0) authentication.
Deprecated: SIG(0) support will be removed in v0.3.0. Upstream
hickory-client has dropped SIG(0) message authentication in v0.26
(see hickory-dns/hickory-dns#3437) due to negligible real-world use, and
every production RFC 2136 endpoint and ACME client uses TSIG. Migrate to
DnsUpdater::new_rfc2136_tsig.
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
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more