Overview

Namespaces

  • OpenCloud
    • Autoscale
      • Resource
    • CDN
      • Resource
    • CloudMonitoring
      • Collection
      • Exception
      • Resource
    • Common
      • Collection
      • Constants
      • Exceptions
      • Http
        • Message
      • Log
      • Resource
      • Service
    • Compute
      • Constants
      • Exception
      • Resource
    • Database
      • Resource
    • DNS
      • Collection
      • Resource
    • Identity
      • Constants
      • Resource
    • Image
      • Enum
      • Resource
        • JsonPatch
        • Schema
    • LoadBalancer
      • Collection
      • Enum
      • Resource
    • Networking
      • Resource
    • ObjectStore
      • Constants
      • Enum
      • Exception
      • Resource
      • Upload
    • Orchestration
      • Resource
    • Queues
      • Collection
      • Exception
      • Resource
    • Volume
      • Resource
  • PHP

Classes

  • Network
  • Port
  • SecurityGroup
  • SecurityGroupRule
  • Subnet

Interfaces

  • NetworkInterface
  • Overview
  • Namespace
  • Class
  • Tree
 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\Networking\Resource;
19: 
20: use OpenCloud\Common\Resource\PersistentResource;
21: 
22: /**
23:  * A subnet represents an IP address block that can be used to assign IP
24:  * addresses to virtual instances (such as servers created using the {@see
25:  * \OpenCloud\Compute\Service}. Each subnet must have a CIDR and must be
26:  * associated with a network.
27:  *
28:  * @see http://docs.openstack.org/api/openstack-network/2.0/content/Overview-d1e71.html#Subnet
29:  *
30:  * @package OpenCloud\Networking\Resource
31:  */
32: class Subnet extends PersistentResource
33: {
34:     protected static $url_resource = 'subnets';
35:     protected static $json_name = 'subnet';
36: 
37:     protected $id;
38:     protected $name;
39:     protected $enableDhcp;
40:     protected $networkId;
41:     protected $dnsNameservers;
42:     protected $allocationPools;
43:     protected $hostRoutes;
44:     protected $ipVersion;
45:     protected $gatewayIp;
46:     protected $cidr;
47:     protected $tenantId;
48:     protected $links;
49: 
50:     protected $aliases = array(
51:         'enable_dhcp'      => 'enableDhcp',
52:         'network_id'       => 'networkId',
53:         'dns_nameservers'  => 'dnsNameservers',
54:         'allocation_pools' => 'allocationPools',
55:         'host_routes'      => 'hostRoutes',
56:         'ip_version'       => 'ipVersion',
57:         'gateway_ip'       => 'gatewayIp',
58:         'tenant_id'        => 'tenantId'
59:     );
60: 
61:     protected $createKeys = array(
62:         'name',
63:         'enableDhcp',
64:         'networkId',
65:         'allocationPools',
66:         'hostRoutes',
67:         'ipVersion',
68:         'gatewayIp',
69:         'cidr',
70:         'tenantId'
71:     );
72: 
73:     protected $updateKeys = array(
74:         'name',
75:         'enableDhcp',
76:         'hostRoutes',
77:         'gatewayIp'
78:     );
79: 
80:     /**
81:      * This method is inherited. The inherited method has protected scope
82:      * but we are widening the scope to public so this method may be called
83:      * from other classes such as {@see OpenCloud\Networking\Service}.
84:      */
85:     public function createJson()
86:     {
87:         return parent::createJson();
88:     }
89: }
90: 
API documentation generated by ApiGen 2.8.0