Skip to main content

dns_update/providers/
mod.rs

1/*
2 * Copyright Stalwart Labs LLC See the COPYING
3 * file at the top-level directory of this distribution.
4 *
5 * Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 * https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 * <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
8 * option. This file may not be copied, modified, or distributed
9 * except according to those terms.
10 */
11
12use crate::DnsRecord;
13
14pub mod alidns;
15pub mod baiducloud;
16pub mod bluecatv2;
17pub mod azuredns;
18pub mod arvancloud;
19pub mod autodns;
20pub mod bunny;
21pub mod cloudflare;
22pub mod cloudns;
23pub mod constellix;
24pub mod ddnss;
25pub mod cpanel;
26pub mod desec;
27pub mod digitalocean;
28pub mod dnsimple;
29pub mod dnsmadeeasy;
30pub mod dreamhost;
31pub mod duckdns;
32pub mod dynu;
33pub mod easydns;
34pub mod exoscale;
35pub mod freemyip;
36pub mod gandiv5;
37pub mod gcore;
38pub mod glesys;
39pub mod godaddy;
40pub mod domeneshop;
41pub mod edgedns;
42pub mod google_cloud_dns;
43pub mod hetzner;
44pub mod hostingde;
45pub mod huaweicloud;
46pub mod ibmcloud;
47pub mod hostinger;
48pub mod hurricane;
49#[cfg(feature = "test_provider")]
50pub mod in_memory;
51pub mod infomaniak;
52pub mod ionos;
53pub mod ipv64;
54pub mod joker;
55pub mod linode;
56pub mod luadns;
57pub mod mythicbeasts;
58pub mod namecheap;
59pub mod namedotcom;
60pub mod namesilo;
61pub mod netcup;
62pub mod netlify;
63pub mod nifcloud;
64pub mod ns1;
65#[cfg(any(feature = "ring", feature = "aws-lc-rs"))]
66pub mod oraclecloud;
67pub mod lightsail;
68pub mod infoblox;
69pub mod inwx;
70pub mod ovh;
71#[cfg(feature = "test_provider")]
72pub mod pebble;
73pub mod plesk;
74pub mod porkbun;
75pub mod rfc2136;
76pub mod route53;
77pub mod scaleway;
78pub mod safedns;
79pub mod spaceship;
80pub mod tencentcloud;
81#[cfg(any(feature = "ring", feature = "aws-lc-rs"))]
82pub mod transip;
83pub mod vercel;
84pub mod vultr;
85pub mod websupport;
86#[cfg(any(feature = "ring", feature = "aws-lc-rs"))]
87pub mod volcengine;
88#[cfg(any(feature = "ring", feature = "aws-lc-rs"))]
89pub mod yandexcloud;
90pub mod ultradns;
91
92impl DnsRecord {
93    pub fn priority(&self) -> Option<u16> {
94        match self {
95            DnsRecord::MX(record) => Some(record.priority),
96            DnsRecord::SRV(record) => Some(record.priority),
97            _ => None,
98        }
99    }
100}