1: <?php
2: /**
3: * Copyright 2012-2014 Rackspace US, Inc.
4: *
5: * Licensed under the Apache License, Version 2.0 (the "License");
6: * you may not use this file except in compliance with the License.
7: * You may obtain a copy of the License at
8: *
9: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: namespace OpenCloud\LoadBalancer\Resource;
19:
20: /**
21: * The access list management feature allows fine-grained network access
22: * controls to be applied to the load balancer's virtual IP address. A single IP
23: * address, multiple IP addresses, or entire network subnets can be added as a
24: * networkItem. Items that are configured with the ALLOW type will always take
25: * precedence over items with the DENY type. To reject traffic from all items
26: * except for those with the ALLOW type, add a networkItem with an address of
27: * "0.0.0.0/0" and a DENY type.
28: */
29: class Access extends NonIdUriResource
30: {
31: public $id;
32:
33: /**
34: * Type of item to add:
35: * ALLOW - Specifies items that will always take precedence over items with
36: * the DENY type.
37: * DENY - Specifies items to which traffic can be denied.
38: *
39: * @var string
40: */
41: public $type;
42:
43: /**
44: * IP address for item to add to access list.
45: *
46: * @var string
47: */
48: public $address;
49:
50: protected static $json_name = "accessList";
51: protected static $json_collection_name = "accessList";
52: protected static $url_resource = "accesslist";
53:
54: protected $createKeys = array(
55: 'type',
56: 'address'
57: );
58:
59: public function update($params = array())
60: {
61: return $this->noUpdate();
62: }
63: }
64: