Ports

Create a port

This operation takes one parameter, an associative array, with the following keys:

Name Description Data type Required? Default value Example value
networkId Network this port is associated with String Yes
eb60583c-57ea-41b9-8d5c-8fab2d22224c
name A human-readable name for the port. This name might not be unique. String No null My port
adminStateUp The administrative state of port. If false (down), the port does not forward packets. Boolean No true true
macAddress MAC address to use on this port String (MAC address in 6-octet form separated by colons) No Generated 0F:5A:6F:70:E9:5C
fixedIps IP addresses for this port Indexed array of associative arrays No Automatically allocated from the pool array(array('subnetId' => '75906d20-6625-11e4-9803-0800200c9a66', 'ipAddress' => '192.168.199.17'))
deviceId Identifies the device (for example, virtual server) using this port String No null 5e3898d7-11be-483e-9732-b2f5eccd2b2e
deviceOwner Identifies the entity (for example, DHCP agent) using this port String No null network:router_interface
securityGroups Specifies the IDs of any security groups associated with this port Indexed array of strings No Empty array array('f0ac4394-7e4a-4409-9701-ba8be283dbc3')
tenantId Owner of the port. Only admin users can specify a tenant ID other than their own. String No Same as the tenant creating the port 123456

You can create a port as shown in the following example:

/** @var $port OpenCloud\Networking\Resource\Port **/
$port = $networkingService->createPort(array(
    'name' => 'My port',
    'networkId' => 'eb60583c-57ea-41b9-8d5c-8fab2d22224c'
));

Get the executable PHP script for this example

Create multiple ports

This operation takes one parameter, an indexed array. Each element of this array must be an associative array with the keys shown in the preceding table.

You can create multiple ports as shown in the following example:

$ports = $networkingService->createPorts(array(
    array(
        'name' => 'My port #1',
        'networkId' => 'eb60583c-57ea-41b9-8d5c-8fab2d22224c'
    ),
    array(
        'name' => 'My port #2',
        'networkId' => 'eb60583c-57ea-41b9-8d5c-8fab2d22224c'
    )
));

foreach ($ports as $port) {
    /** @var $port OpenCloud\Networking\Resource\Port **/
}

Get the executable PHP script for this example

List ports

You can list all the ports to which you have access as shown in the following example:

$ports = $networkingService->listPorts();

foreach ($ports as $port) {
    /** @var $port OpenCloud\Networking\Resource\Port **/
}

Get the executable PHP script for this example

Get a port

You can retrieve a specific port by using that port’s ID, as shown in the following example:

/** @var $port OpenCloud\Networking\Resource\Port **/
$port = $networkingService->getPort('{portId}');

Get the executable PHP script for this example

Update a port

This operation takes one parameter, an associative array, with the following keys:

Name Description Data type Required? Default value Example value
name A human-readable name for the port. This name might not be unique. String No null My port
adminStateUp The administrative state of port. If false (down), the port does not forward packets. Boolean No true true
fixedIps IP addresses for this port Indexed array of associative arrays No Automatically allocated from the pool array(array('subnetId' => '75906d20-6625-11e4-9803-0800200c9a66', 'ipAddress' => '192.168.199.59'))
deviceId Identifies the device (for example, virtual server) using this port String No null 5e3898d7-11be-483e-9732-b2f5eccd2b2e
deviceOwner Identifies the entity (for example, DHCP agent) using this port String No null network:router_interface
securityGroups Specifies the IDs of any security groups associated with this port Indexed array of strings No Empty array array('f0ac4394-7e4a-4409-9701-ba8be283dbc3')

You can update a port as shown in the following example:

$port->update(array(
    'fixedIps' => array(
        array(
            'subnetId'  => '75906d20-6625-11e4-9803-0800200c9a66',
            'ipAddress' => '192.168.199.59'
        )
    )
));

Get the executable PHP script for this example

Delete a port

You can delete a port as shown in the following example:

$port->delete();

Get the executable PHP script for this example