public function listPorts($portId = null, ListPortsFilter $filter = null)
{
$result = null;
$detailed = $portId !== null ? sprintf("/%s", $this->escape($portId)) : '';
$response = $this->getClient()->call($this->service, '/ports' . $detailed . ($filter !== null ? '?' . $filter->getQueryString() : ''));
if ($response->hasError() === false) {
$result = json_decode($response->getContent());
if (empty($detailed)) {
$result = new DefaultPaginationList($this->service, 'ports', $result->ports, isset($result->ports_links) ? $result->ports_links : null);
} else {
$result = $result->port;
}
}
return $result;
}