Skip to main content

CloudflareClient

Struct CloudflareClient 

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

Cloudflare API client for DNS record management.

This client provides methods to list, create, update, and delete DNS records in a Cloudflare zone. It’s designed to be cheaply cloneable (via Arc) for use across async tasks.

§Example

let client = CloudflareClient::new(api_token, zone_id);
let records = client.list_dns_records().await?;

Implementations§

Source§

impl CloudflareClient

Source

pub fn new(api_token: String, zone_id: String) -> Self

Create a new Cloudflare API client.

§Arguments
  • api_token - Cloudflare API token with DNS edit permissions
  • zone_id - The Cloudflare zone ID for the domain to manage
Source

pub fn with_base_url( api_token: String, zone_id: String, base_url: String, ) -> Self

Create a client with a custom base URL (useful for testing with mock servers).

Source

pub async fn get_zone_name(&self) -> Result<String, CloudflareError>

Fetch the zone name for the configured zone ID.

Returns the zone name if successful, or falls back to the zone ID if the API request fails.

Source

pub async fn list_dns_records(&self) -> CloudflareResult<Vec<DnsRecord>>

List all DNS records in the configured zone.

Automatically handles pagination by fetching all pages of records.

Source

pub async fn create_dns_record( &self, record: &DnsRecord, ) -> CloudflareResult<DnsRecord>

Create a new DNS record in the configured zone.

Source

pub async fn update_dns_record( &self, record: &DnsRecord, ) -> CloudflareResult<DnsRecord>

Update an existing DNS record.

The record must have an id field set, otherwise returns MissingRecordId.

Source

pub async fn delete_dns_record(&self, record_id: &str) -> CloudflareResult<()>

Delete a DNS record by its ID.

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> 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: 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: 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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