[][src]Crate migamake_api_cloudflare

This library is a wrapper for 3 cloudflare api calls.

The 3 api calls are

  • list zones
  • create a dns record for a domain
  • delete a dns record for a domain

Authentication

All endpoints need authentication. This library supports authentication using Authorization: Bearer header.

You need to export this key - CLOUDFLARE_API_KEY.

Usage

    use migamake_api_cloudflare::{Cloudflare, dns};

    let domain = "example.com".into();
    let zoneid = "some id";
    // Initialize using an environment variable CLOUDFLARE_API_KEY
    let cloudflare = Cloudflare::default(None);

    // or the api key could be passed explicitly to the default method
    // let cloudflare = Cloudflare::default(Some("api-key").into());

    let mut txt_dns_record = dns::TXTRecord::new();
    txt_dns_record.name = domain;
    txt_dns_record.content = "create a txt record".into();
    let response = cloudflare.create_dns_record(txt_dns_record, &zoneid);
    let res = response.unwrap();
    if res.success {
       println!("{}", "Record created");
    }
    else{
       println!("{:?}", res.errors);
}

Modules

dns

Defines various type of DNS record structs to be used with Create DNS record

parameters

Declares enums used with Zone and various dns record

response

Various response objects for cloudflare API

zone

Defines parameters which can be used for filtering with the list API

Structs

Cloudflare

This represents object to talk to cloudflare api

Constants

API_PREFIX

Base url of Cloudflare API