Scalr\Service\CloudStack\CloudStack::listPublicIpAddresses PHP Method

listPublicIpAddresses() public method

Lists all public ip addresses
public listPublicIpAddresses ( Scalr\Service\CloudStack\DataType\ListIpAddressesData | array $requestData = null, Scalr\Service\CloudStack\DataType\PaginationType $pagination = null ) : Scalr\Service\CloudStack\DataType\IpAddressResponseList | null
$requestData Scalr\Service\CloudStack\DataType\ListIpAddressesData | array Request data object
$pagination Scalr\Service\CloudStack\DataType\PaginationType Pagination
return Scalr\Service\CloudStack\DataType\IpAddressResponseList | null
    public function listPublicIpAddresses($requestData = null, PaginationType $pagination = null)
    {
        $result = null;
        $args = array();
        if ($requestData !== null) {
            if (!$requestData instanceof ListIpAddressesData) {
                $requestData = ListIpAddressesData::initArray($requestData);
            }
            $args = $requestData->toArray();
        }
        if ($pagination !== null) {
            array_merge($args, $pagination->toArray());
        }
        $response = $this->getClient()->call('listPublicIpAddresses', $args);
        if ($response->hasError() === false) {
            $resultObject = $response->getResult();
            if (!empty($resultObject) && property_exists($resultObject, 'count') && $resultObject->count > 0) {
                $result = $this->_loadIpAddressList($resultObject->publicipaddress);
            }
        }
        return $result;
    }

Usage Example

Esempio n. 1
0
 /**
  * Checks Elastic IP availability
  *
  * @param   string             $ipaddress public IP address
  * @param   \Scalr\Service\CloudStack\CloudStack $cs       CloudStack instance
  * @return  boolean Returns true if IP address is available.
  */
 private static function checkStaticNatIp($ipaddress, CloudStack $cs)
 {
     \Scalr::getContainer()->logger('Cloudstack_Helpers')->debug(sprintf(_("Checking IP: %s"), $ipaddress));
     try {
         $requestObject = new ListIpAddressesData();
         $requestObject->ipaddress = $ipaddress;
         $info = $cs->listPublicIpAddresses($requestObject);
         if (count($info) > 0) {
             return true;
         } else {
             return false;
         }
     } catch (Exception $e) {
         return false;
     }
 }