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

NAME

WebService::Linode - Perl Interface to the Linode.com API.

SYNOPSIS

    my $api = WebService::Linode->new( apikey => 'your api key here');
    print Dumper($api->linode_list);
    $api->linode_reboot(linodeid=>242);

This module implements the Linode.com api methods. Linode methods have had dots replaced with underscores to generate the perl method name. All keys and parameters have been lower cased but returned data remains otherwise the same. For additional information see http://www.linode.com/api/

Constructor

For documentation of possible arguments to the constructor, see WebService::Linode::Base.

Batch requests

Each of the Linode API methods below may optionally be prefixed with QUEUE_ to add that request to a queue to be processed later in one or more batch requests which can be processed by calling send_queued_requests. For example:

    my @linode_ids = () # Get your linode ids through normal methods
    my @responses = map { $api->linode_ip_list( linodeid=>$_ ) } @linode_ids;

Can be reduced to a single request:

    my @linode_ids = () # Get your linode ids through normal methods
    $api->QUEUE_linode_ip_list( linodeid=>$_ ) for @linode_ids;
    my @responses = $api->send_queued_requests; # One api request

See WebService::Linode::Base for additional queue management methods.

send_queued_requests

Send queued batch requests, returns list of responses.

Methods from the Linode API

avail_datacenters

avail_nodebalancers

avail_distributions

Optional Parameters:

  • distributionid

avail_kernels

Optional Parameters:

  • isxen

  • kernelid

avail_linodeplans

Optional Parameters:

  • planid

avail_stackscripts

Optional Parameters:

  • distributionid

  • distributionvendor

  • keywords

domain_list

Optional Parameters:

  • domainid

domain_update

Required Parameters:

  • domainid

Optional Parameters:

  • axfr_ips

  • description

  • domain

  • expire_sec

  • lpm_displaygroup

  • master_ips

  • refresh_sec

  • retry_sec

  • soa_email

  • status

  • ttl_sec

  • type

domain_create

Required Parameters:

  • domain

  • type

Optional Parameters:

  • axfr_ips

  • description

  • expire_sec

  • lpm_displaygroup

  • master_ips

  • refresh_sec

  • retry_sec

  • soa_email

  • status

  • ttl_sec

domain_delete

Required Parameters:

  • domainid

domain_resource_update

Required Parameters:

  • resourceid

Optional Parameters:

  • domainid

  • name

  • port

  • priority

  • protocol

  • target

  • ttl_sec

  • weight

domain_resource_list

Required Parameters:

  • domainid

Optional Parameters:

  • resourceid

domain_resource_delete

Required Parameters:

  • domainid

  • resourceid

domain_resource_create

Required Parameters:

  • domainid

  • type

Optional Parameters:

  • name

  • port

  • priority

  • protocol

  • target

  • ttl_sec

  • weight

linode_resize

Required Parameters:

  • linodeid

  • planid

linode_list

Optional Parameters:

  • linodeid

linode_mutate

Required Parameters:

  • linodeid

linode_boot

Required Parameters:

  • linodeid

Optional Parameters:

  • configid

linode_create

Required Parameters:

  • datacenterid

  • planid

Optional Parameters:

  • paymentterm

linode_clone

Required Parameters:

  • datacenterid

  • linodeid

  • planid

Optional Parameters:

  • paymentterm

linode_update

Required Parameters:

  • linodeid

Optional Parameters:

  • alert_bwin_enabled

  • alert_bwin_threshold

  • alert_bwout_enabled

  • alert_bwout_threshold

  • alert_bwquota_enabled

  • alert_bwquota_threshold

  • alert_cpu_enabled

  • alert_cpu_threshold

  • alert_diskio_enabled

  • alert_diskio_threshold

  • backupweeklyday

  • backupwindow

  • label

  • lpm_displaygroup

  • ms_ssh_disabled

  • ms_ssh_ip

  • ms_ssh_port

  • ms_ssh_user

  • watchdog

linode_webconsoletoken

Required Parameters:

  • linodeid

linode_reboot

Required Parameters:

  • linodeid

Optional Parameters:

  • configid

linode_shutdown

Required Parameters:

  • linodeid

linode_delete

Required Parameters:

  • linodeid

Optional Parameters:

  • skipchecks

linode_config_delete

Required Parameters:

  • configid

  • linodeid

linode_config_create

Required Parameters:

  • kernelid

  • label

  • linodeid

Optional Parameters:

  • comments

  • devtmpfs_automount

  • disklist

  • helper_depmod

  • helper_disableupdatedb

  • helper_network

  • helper_xen

  • ramlimit

  • rootdevicecustom

  • rootdevicenum

  • rootdevicero

  • runlevel

linode_config_update

Required Parameters:

  • configid

Optional Parameters:

  • comments

  • devtmpfs_automount

  • disklist

  • helper_depmod

  • helper_disableupdatedb

  • helper_network

  • helper_xen

  • kernelid

  • label

  • linodeid

  • ramlimit

  • rootdevicecustom

  • rootdevicenum

  • rootdevicero

  • runlevel

linode_config_list

Required Parameters:

  • linodeid

Optional Parameters:

  • configid

linode_disk_createfromimage

Required Parameters:

  • imageid

  • linodeid

Optional Parameters:

  • label

  • rootpass

  • rootsshkey

  • size

linode_disk_duplicate

Required Parameters:

  • diskid

  • linodeid

linode_disk_update

Required Parameters:

  • diskid

Optional Parameters:

  • isreadonly

  • label

  • linodeid

linode_disk_createfromstackscript

Required Parameters:

  • distributionid

  • label

  • linodeid

  • rootpass

  • size

  • stackscriptid

  • stackscriptudfresponses

Optional Parameters:

  • rootsshkey

linode_disk_imagize

Required Parameters:

  • diskid

  • linodeid

Optional Parameters:

  • description

  • label

linode_disk_delete

Required Parameters:

  • diskid

  • linodeid

linode_disk_resize

Required Parameters:

  • diskid

  • linodeid

  • size

linode_disk_list

Required Parameters:

  • linodeid

Optional Parameters:

  • diskid

linode_disk_createfromdistribution

Required Parameters:

  • distributionid

  • label

  • linodeid

  • rootpass

  • size

Optional Parameters:

  • rootsshkey

linode_disk_create

Required Parameters:

  • label

  • linodeid

  • size

  • type

Optional Parameters:

  • fromdistributionid

  • isreadonly

  • rootpass

  • rootsshkey

linode_ip_setrdns

Required Parameters:

  • hostname

  • ipaddressid

linode_ip_swap

Required Parameters:

  • ipaddressid

Optional Parameters:

  • tolinodeid

  • withipaddressid

linode_ip_addprivate

Required Parameters:

  • linodeid

linode_ip_list

Required Parameters:

  • linodeid

Optional Parameters:

  • ipaddressid

linode_ip_addpublic

Required Parameters:

  • linodeid

linode_job_list

Required Parameters:

  • linodeid

Optional Parameters:

  • jobid

  • pendingonly

image_delete

Required Parameters:

  • imageid

image_list

Optional Parameters:

  • imageid

  • pending

image_update

Required Parameters:

  • imageid

Optional Parameters:

  • label

  • description

stackscript_list

Optional Parameters:

  • stackscriptid

stackscript_update

Required Parameters:

  • stackscriptid

Optional Parameters:

  • description

  • distributionidlist

  • ispublic

  • label

  • rev_note

  • script

stackscript_create

Required Parameters:

  • distributionidlist

  • label

  • script

Optional Parameters:

  • description

  • ispublic

  • rev_note

stackscript_delete

Required Parameters:

  • stackscriptid

nodebalancer_config_delete

Required Parameters:

  • configid

  • nodebalancerid

nodebalancer_config_create

Required Parameters:

  • nodebalancerid

Optional Parameters:

  • algorithm

  • check

  • check_attempts

  • check_body

  • check_interval

  • check_path

  • check_timeout

  • port

  • protocol

  • ssl_cert

  • ssl_key

  • stickiness

nodebalancer_config_update

Required Parameters:

  • configid

Optional Parameters:

  • algorithm

  • check

  • check_attempts

  • check_body

  • check_interval

  • check_path

  • check_timeout

  • port

  • protocol

  • ssl_cert

  • ssl_key

  • stickiness

nodebalancer_config_list

Required Parameters:

  • nodebalancerid

Optional Parameters:

  • configid

nodebalancer_node_create

Required Parameters:

  • address

  • configid

  • label

Optional Parameters:

  • mode

  • weight

nodebalancer_node_delete

Required Parameters:

  • nodeid

nodebalancer_node_list

Required Parameters:

  • configid

Optional Parameters:

  • nodeid

nodebalancer_node_update

Required Parameters:

  • nodeid

Optional Parameters:

  • address

  • label

  • mode

  • weight

user_getapikey

Required Parameters:

  • password

  • username

Optional Parameters:

  • expires

  • label

  • token

AUTHORS

  • Michael Greb, <michael@thegrebs.com>

  • Stan "The Man" Schwertly <stan@schwertly.com>

COPYRIGHT & LICENSE

Copyright 2008-2014 Michael Greb, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.