File Coverage

blib/lib/WebService/ProfitBricks/Server.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1             #
2             # (c) Jan Gehring
3             #
4             # vim: set ts=3 sw=3 tw=0:
5             # vim: set expandtab:
6              
7             =head1 NAME
8              
9             WebService::ProfitBricks::Server - Manage servers.
10              
11             =head1 DESCRIPTION
12              
13             Class to manage your servers.
14              
15             =head1 SYNOPSIS
16              
17             my $srv = $dc->server->find_by_name("server01");
18             my $srv = $dc->server->new(cores => 2, ram => 512, lanId => 1, internetAccess => 'true', bootFromStorageId => $store->storageId);
19              
20             =cut
21             package WebService::ProfitBricks::Server;
22              
23 1     1   1522 use strict;
  1         2  
  1         30  
24 1     1   4 use warnings;
  1         1  
  1         20  
25              
26 1     1   4 use WebService::ProfitBricks::Class;
  1         2  
  1         65  
27 1     1   4 use base qw(WebService::ProfitBricks);
  1         1  
  1         76  
28              
29             attrs qw/serverId
30             cores
31             ram
32             ips
33             lanId
34             osType
35             internetAccess
36             dataCenterId
37             dataCenterVersion
38             bootFromImageId
39             bootFromStorageId
40             nics
41             provisioningState/;
42              
43              
44             attr serverName => { searchable => 1, find_by => "name", through => "datacenter" };
45              
46             serializer xml => { container => "arg0" };
47              
48             has_many eth => "WebService::ProfitBricks::Nic" => { through => "nics" };
49             belongs_to datacenter => "WebService::ProfitBricks::DataCenter" => { through => "dataCenterId" };
50              
51              
52             "Guns don't kill people.";