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 port represents a virtual switch port on a logical network switch, represented
24:  * by {@see \OpenCloud\Networking\Resource\Network}. Virtual instances (such as
25:  * servers created using the {@see \OpenCloud\Compute\Service}) attach their
26:  * interfaces into ports. The port also defines the MAC address and the IP
27:  * address(es) to be assigned to the interfaces plugged into them. When IP addresses
28:  * are associated to a port, this also implies the port is associated with a {@see
29:  * \OpenCloud\Networking\Resource\Subnet}, as the IP address is taken from the
30:  * allocation pool for a specific subnet.
31:  *
32:  * @see http://docs.openstack.org/api/openstack-network/2.0/content/Overview-d1e71.html#Port
33:  *
34:  * @package OpenCloud\Networking\Resource
35:  */
36: class Port extends PersistentResource
37: {
38:     protected static $url_resource = 'ports';
39:     protected static $json_name = 'port';
40: 
41:     protected $id;
42:     protected $name;
43:     protected $adminStateUp;
44:     protected $networkId;
45:     protected $deviceId;
46:     protected $deviceOwner;
47:     protected $fixedIps;
48:     protected $macAddress;
49:     protected $securityGroups;
50:     protected $status;
51:     protected $tenantId;
52:     protected $links;
53: 
54:     protected $aliases = array(
55:         'admin_state_up'   => 'adminStateUp',
56:         'network_id'       => 'networkId',
57:         'device_id'        => 'deviceId',
58:         'device_owner'     => 'deviceOwner',
59:         'fixed_ips'        => 'fixedIps',
60:         'mac_address'      => 'macAddress',
61:         'security_groups'  => 'securityGroups',
62:         'tenant_id'        => 'tenantId',
63:         'subnet_id'        => 'subnetId',
64:         'ip_address'       => 'ipAddress'
65:     );
66: 
67:     protected $createKeys = array(
68:         'name',
69:         'adminStateUp',
70:         'networkId',
71:         'deviceId',
72:         'deviceOwner',
73:         'fixedIps',
74:         'macAddress',
75:         'securityGroups',
76:         'tenantId'
77:     );
78: 
79:     protected $updateKeys = array(
80:         'name',
81:         'deviceId'
82:     );
83: 
84:     /**
85:      * This method is inherited. The inherited method has protected scope
86:      * but we are widening the scope to public so this method may be called
87:      * from other classes such as {@see OpenCloud\Networking\Service}.
88:      */
89:     public function createJson()
90:     {
91:         return parent::createJson();
92:     }
93: }
94: 
API documentation generated by ApiGen 2.8.0