forked from virtuozzo/OnApp-PHP-Wrapper-External
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIPAddressPool.php
115 lines (109 loc) · 3.35 KB
/
IPAddressPool.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
/**
* Managing IP Address Pools
*
* @category API wrapper
* @package OnApp
* @author Ivan Gavryliuk
* @copyright © 2016 OnApp
* @link https://docs.onapp.com/display/42API/Get+List+of+IP+Address+Pools
* @see OnApp
*/
/**
* IP Address Pools
*
* The OnApp_IPAddressPool class uses the following basic methods:
* {@link load}, {@link save}, {@link delete}, and {@link getList}.
*
* For full fields reference and curl request details visit: ( http://help.onapp.com/manual.php?m=2 )
*/
class OnApp_IPAddressPool extends OnApp {
/**
* root tag used in the API request
*
* @var string
*/
var $_tagRoot = 'ip_address_pool';
/**
* alias processing the object data
*
* @var string
*/
var $_resource = 'settings/ip_address_pools';
/**
* API Fields description
*
* @param string|float $version OnApp API version
* @param string $className current class' name
*
* @return array
*/
public function initFields( $version = null, $className = '' ) {
switch ( $version ) {
case '2.0':
case '2.1':
case 2.2:
case 2.3:
case 3.0:
case 3.1:
case 3.2:
case 3.3:
case 3.4:
case 3.5:
case 4.0:
case 4.1:
case 4.2:
$this->fields = array(
'id' => array(
ONAPP_FIELD_MAP => '_id',
ONAPP_FIELD_TYPE => 'integer',
),
'cidr' => array(
ONAPP_FIELD_MAP => '_cidr',
ONAPP_FIELD_TYPE => 'integer',
),
'created_at' => array(
ONAPP_FIELD_MAP => '_created_at',
ONAPP_FIELD_TYPE => 'datetime',
),
'updated_at' => array(
ONAPP_FIELD_MAP => '_updated_at',
ONAPP_FIELD_TYPE => 'datetime',
),
'ipv4' => array(
ONAPP_FIELD_MAP => '_ipv4',
ONAPP_FIELD_TYPE => 'boolean',
),
'network_address' => array(
ONAPP_FIELD_MAP => '_network_address',
ONAPP_FIELD_TYPE => 'string',
),
);
break;
case 4.3:
case 5.0:
$this->fields = $this->initFields( 4.2 );
break;
case 5.1:
$this->fields = $this->initFields( 5.0 );
break;
case 5.2:
$this->fields = $this->initFields( 5.1 );
break;
case 5.3:
$this->fields = $this->initFields( 5.2 );
break;
case 5.4:
$this->fields = $this->initFields( 5.3 );
break;
case 5.5:
$this->fields = $this->initFields( 5.4 );
break;
case 6.0:
$this->fields = $this->initFields( 5.5 );
break;
}
parent::initFields( $version, __CLASS__ );
return $this->fields;
}
}