The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

VERSION

Version 0.05

SYNOPSIS

my $api = new WebService::Linode( 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/autodoc.cfm

Methods from the Linode API

avail_kernels

Optional Parameters:

  • kernelid

  • isxen

avail_linodeplans

Optional Parameters:

  • plainid

avail_datacenters

avail_distributions

Optional Parameters:

  • distributionid

domain_create

Required Parameters:

  • domain

  • type

Optional Parameters:

  • description

  • soa_email

  • refresh_sec

  • retry_sec

  • expire_sec

  • ttl_sec

  • status

  • master_ips

domain_delete

Required Parameters:

  • domainid

Optional Parameters:

domain_update

Required Parameters:

  • domainid

Optional Parameters:

  • domain

  • description

  • type

  • soa_email

  • refresh_sec

  • retry_sec

  • expire_sec

  • ttl_sec

  • status

  • master_ips

domain_list

Required Parameters:

Optional Parameters:

  • domainid

domain_resource_create

Required Parameters:

  • domainid

  • type

Optional Parameters:

  • name

  • target

  • priority

  • weight

  • port

  • protocol

  • ttl_sec

domain_resource_delete

Required Parameters:

  • domainid

  • resourceid

Optional Parameters:

domain_resource_update

Required Parameters:

  • domainid

  • resourceid

Optional Parameters:

  • name

  • target

  • priority

  • weight

  • port

  • protocol

  • ttl_sec

domain_resource_list

Required Parameters:

  • domainid

Optional Parameters:

  • resouceid

linode_create

Required Parameters:

  • datacenterid

  • planid

  • paymentterm

Optional Parameters:

linode_reboot

Required Parameters:

  • linodeid

Optional Parameters:

  • configid

linode_boot

Required Parameters:

  • linodeid

Optional Parameters:

  • configid

linode_shutdown

Required Parameters:

  • linodeid

Optional Parameters:

linode_delete

Required Parameters:

  • linodeid

Optional Parameters:

linode_update

Required Parameters:

  • linodeid

Optional Parameters:

  • label

  • lpm_displaygroup

  • alert_cpu_enabled

  • alert_cpu_threshold

  • alert_diskio_enabled

  • alert_diskio_threshold

  • alert_bwin_enabled

  • alert_bwin_threshold

  • alert_bwout_enabled

  • alert_bwout_threshold

  • alert_bwquota_enabled

  • alert_bwquota_threshold

  • backupwindow

  • backupweeklyday

  • watchdog

linode_list

Required Parameters:

Optional Parameters:

  • linodeid

linode_config_create

Required Parameters:

  • linodeid

  • kernelid

  • label

Optional Parameters:

  • comments

  • ramlimit

  • disklist

  • runlevel

  • rootdevicenum

  • rootdevicecustom

  • rootdevicero

  • helper_disableupdatedb

  • helper_xen

  • helper_depmod

linode_config_delete

Required Parameters:

  • linodeid

  • configid

Optional Parameters:

linode_config_update

Required Parameters:

  • linodeid

  • configid

Optional Parameters:

  • kernelid

  • label

  • comments

  • ramlimit

  • disklist

  • runlevel

  • rootdevicenum

  • rootdevicecustom

  • rootdevicero

  • helper_xen

  • helper_disableupdatedb

  • helper_depmod

linode_config_list

Required Parameters:

  • linodeid

Optional Parameters:

  • configid

linode_disk_create

Required Parameters:

  • linodeid

  • label

  • type

  • size

Optional Parameters:

  • isreadonly

linode_disk_resize

Required Parameters:

  • linodeid

  • diskid

  • size

Optional Parameters:

linode_disk_createfromdistribution

Required Parameters:

  • linodeid

  • distributionid

  • label

  • size

  • rootpass

Optional Parameters:

  • rootsshkey

linode_disk_duplicate

Required Parameters:

  • linodeid

  • diskid

Optional Parameters:

linode_disk_delete

Required Parameters:

  • linodeid

  • diskid

Optional Parameters:

linode_disk_update

Required Parameters:

  • linodeid

  • diskid

Optional Parameters:

  • label

  • isreadonly

linode_disk_list

Required Parameters:

  • linodeid

Optional Parameters:

  • diskid

linode_ip_list

Required Parameters:

  • linodeid

Optional Parameters:

  • ipaddressid

linode_job_list

Required Parameters:

  • linodeid

Optional Parameters:

  • jobid

  • pendingonly

user_getapikey

Required Parameters:

  • username

  • password

Additional Helper Methods

getDomainIDbyName( domain => 'example.com' )

Returns the ID for a domain given the name.

getDomainResourceIDbyName( domainid => 242, name => 'www')

Takes a record name and domainid or domain and returns the resourceid.

AUTHORS

Michael Greb, <mgreb@linode.com>, and Stan "The Intern Man" Schwertly

BUGS

This module does not yet support the Linode API batch method, patches welcome.

Please report any bugs or feature requests to bug-webservice-linode at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WebService-Linode. 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 WebService::Linode

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2008-2009 Linode, LLC, all rights reserved.

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