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
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_xen
* ramlimit
* rootdevicecustom
* rootdevicenum
* rootdevicero
* runlevel
linode_config_update
Required Parameters:
* configid
Optional Parameters:
* comments
* devtmpfs_automount
* disklist
* helper_depmod
* helper_disableupdatedb
* 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:
* 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
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, ""
* Stan "The Man" Schwertly ""
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.