Scalr\Service\Aws\CloudFront\V20120701\CloudFrontApi::describeDistributions PHP Method

describeDistributions() public method

To list the distributions associated with your AWS account.
public describeDistributions ( Scalr\Service\Aws\CloudFront\DataType\MarkerType $marker = null ) : Scalr\Service\Aws\CloudFront\DataType\DistributionList
$marker Scalr\Service\Aws\CloudFront\DataType\MarkerType optional The query parameters.
return Scalr\Service\Aws\CloudFront\DataType\DistributionList Returns the list of Distributions.
    public function describeDistributions(MarkerType $marker = null)
    {
        $result = null;
        $options = array();
        $aQueryString = array();
        if ($marker !== null) {
            if ($marker->marker !== null) {
                $aQueryString[] = 'Marker=' . self::escape($marker->marker);
            }
            if ($marker->maxItems !== null) {
                $aQueryString[] = 'MaxItems=' . self::escape($marker->maxItems);
            }
        }
        $response = $this->client->call('GET', $options, '/distribution' . (!empty($aQueryString) ? '?' . join('&', $aQueryString) : ''));
        if ($response->getError() === false) {
            $sxml = simplexml_load_string($response->getRawContent());
            $result = new DistributionList();
            $result->setCloudFront($this->cloudFront);
            $result->setMarker($this->exist($sxml->Marker) ? (string) $sxml->Marker : null);
            $result->setMaxItems($this->exist($sxml->MaxItems) ? (int) $sxml->MaxItems : null);
            $result->setIsTruncated($this->exist($sxml->IsTruncated) ? (string) $sxml->IsTruncated == 'true' : null);
            if (!empty($sxml->Items->DistributionSummary)) {
                foreach ($sxml->Items->DistributionSummary as $v) {
                    $item = $this->_loadDistributionData($v);
                    $result->append($item);
                    unset($item);
                }
            }
        }
        return $result;
    }