The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CloudFlare::Client - Object Orientated Interface to CloudFlare client API

VERSION

version 0.03_7

SYNOPSIS

Provides an object orientated interface to the CloudFlare client API

    use CloudFlare::Client;

    my $api = CloudFlare::Client::->new(
        user   => $CF_USER,
        apikey => $CF_KEY);
    $api->stats;
    ...

Please see the documentation at https://www.cloudflare.com/docs/client-api.html for information the CloudFlare client API and its arguments. Optional arguments are passed in as a hash with keys as given in the docs

Successful API calls return the response section from the upstream JSON API. Failures for whatever reason throw exceptions under the CloudFlare::Client::Exception:: namespace

ATTRIBUTES

_user

CF user name (email) used to access the API. Set using the user argument to the constructor. Readonly.

_key

CF API key, set using the apikey argument to the constructor. Readonly

_ua

UserAgent object used to make API calls, set internally. Readonly

METHODS

new

Construct a new CloudFlare::Client API object

    my $api = CloudFlare::Client::->new(
        user   => $CF_USER,
        apikey => $CF_KEY)

stats

    $api->stats($zone, $interval)

zoneLoadMulti

    $api->zoneLoadMulti

recLoadAll

    $api->recLoadAll($zone);

zoneCheck

    $api->zoneCheck(@zones);

zoneIps

    $api->zoneIps($zone, %optionalArgs);

ipLkup

    $api->ipLkup($ip)

zoneSettings

    $api->zoneSettings($zone)

secLvl

    $api->secLvl($zone, $securityLvl)

cacheLvl

    $api->cacheLvl($zone, $cacheLevel)

devMode

    $api->devMode($zone, $value)

fpurgeTs

    $api->fpurgeTs($zone, $value)

zoneFilePurge

    $api->zoneFilePurge($zone, $url)

zoneGrab

    $api->zoneGrab($zoneId)

wl

    $api->wl($ip)

ban

    $api->ban($ip)

nul

    $api->nul($ip)

ipv46

    $api->ipv46($zone, $value)

async

    $api->async($zone, $value)

minify

    $api->minify($zone, $value)

mirage2

    $api->mirage2($zone, $value)

recNew

    $api->recNew($zone, $type, $name
                 $content, $ttl, %optionalArgs)

recEdit

    $api->recEdit($zone, $type, $recordId, $name
                  $content, $ttl, %optionalArgs)

recDelete

    $api->recDelete($zone, $recordId)

_apiCall

Makes a call through to the CF API, via HTTPS POST

    $api->_makeCall($action, %args)

If the HTTPS connection fails this can throw a CloudFlare::Client::Exception::Connection. If the CF API itself gives an error then it can throw a CloudFlare::Client::Exception::Upstream

_wlBanNul

Used to aggregrate a number of CF calls with a single signature into one function

BUGS

Please report any bugs or feature requests to bug-cloudflare-client at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CloudFlare-Client. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc CloudFlare::Client

You can also look for information at:

ACKNOWLEDGEMENTS

Thanks to CloudFlare providing an awesome free service with an API.

AUTHOR

Peter Roberts <me+dev@peter-r.co.uk>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2014 by Peter Roberts.

This is free software, licensed under:

  The MIT (X11) License