Access.php
1.88 KB
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
<?php
/**
* PHP OpenCloud library.
*
* @copyright Copyright 2014 Rackspace US, Inc. See COPYING for licensing information.
* @license https://www.apache.org/licenses/LICENSE-2.0 Apache 2.0
* @version 1.6.0
* @author Glen Campbell <glen.campbell@rackspace.com>
* @author Jamie Hannaford <jamie.hannaford@rackspace.com>
*/
namespace OpenCloud\LoadBalancer\Resource;
/**
* The access list management feature allows fine-grained network access
* controls to be applied to the load balancer's virtual IP address. A single IP
* address, multiple IP addresses, or entire network subnets can be added as a
* networkItem. Items that are configured with the ALLOW type will always take
* precedence over items with the DENY type. To reject traffic from all items
* except for those with the ALLOW type, add a networkItem with an address of
* "0.0.0.0/0" and a DENY type.
*/
class Access extends SubResource
{
public $id;
/**
* Type of item to add:
* ALLOW - Specifies items that will always take precedence over items with
* the DENY type.
* DENY - Specifies items to which traffic can be denied.
*
* @var string
*/
public $type;
/**
* IP address for item to add to access list.
*
* @var string
*/
public $address;
protected static $json_name = "accessList";
protected static $url_resource = "accesslist";
protected $createKeys = array(
'type',
'address'
);
public function update($params = array())
{
return $this->noUpdate();
}
protected function createJson()
{
$object = new \stdClass;
foreach ($this->createKeys as $item) {
$object->$item = $this->$item;
}
if ($top = $this->jsonName()) {
$object = array($top => array($object));
}
return $object;
}
}