NAME

Net::DynDNS::GoDaddy - Provides Dynamic DNS functionality for your GoDaddy domains

Coverage Status

SYNOPSIS

    use Net::DynDNS::GoDaddy;
    use Addr::MyIP;

    my $hostname = 'home';
    my $domain   = 'example.com';

    my $current_host_ip = host_ip_get($host, $domain);
    my $my_ip = myip();

    if ($current_host_ip ne $my_ip) {
        host_ip_set($host, $domain, $my_ip);
    }

DESCRIPTION

For end-users, see the documentation for the update-ip binary.

Provides an interface to allow dynamically updating your GoDaddy domain's DNS name to IP mapping.

You must have a ~/godaddy_api.json file containing your GoDaddy API key and secret, in the following format:

    {
        "api_key": "KEY DATA",
        "api_secret": "API SECRET"
    }

The update-ip binary binary will do this for you automatically on first run.

FUNCTIONS

host_ip_get($host, $domain)

Returns the currently set IP address of the DNS A record for the host/domain pair.

Parameters:

    $host

Mandatory, String: The name of the host, eg. www.

    $domain

Mandatory, String: The name of the domain, eg. example.com.

Returns: String, the IP address that's currently set for the record.

host_ip_set($host, $domain, $ip)

Updates the DNS A record for the host/domain pair.

Parameters:

    $host

Mandatory, String: The name of the host, eg. www.

    $domain

Mandatory, String: The name of the domain, eg. example.com.

    $ip

Mandatory, String: The IP address to set the record to eg. 192.168.10.10.

Returns: Bool, 1 on success, 0 on failure.

api_key_get

Fetch your GoDaddy API key and secret from the previously created godaddy_api.json in your home directory.

Not exported by default, use the qw(:all) tag to access it.

Croaks if the file can't be read.

Returns: A list of two scalars, the API key and the API secret.

api_key_set($key, $secret)

Creates the godaddy_api.json file in your home directory that contains your GoDaddy API key and secret.

Not exported by default, use the qw(:all) tag to access it.

Parameters:

    $key

Mandatory, String: Your GoDaddy API key

    $secret

Mandatory, String: Your GoDaddy API secret

Returns: 1 upon success.

AUTHOR

Steve Bertrand, <steveb at cpan.org>

LICENSE AND COPYRIGHT

Copyright 2022 Steve Bertrand.

This program is free software; you can redistribute it and/or modify it under the terms of the the Artistic License (2.0). You may obtain a copy of the full license at:

http://www.perlfoundation.org/artistic_license_2_0