Scalr\Service\Aws\Ec2\V20150415\Ec2Api::describeVolumes PHP Method

describeVolumes() public method

Describes one or more of your Amazon EBS volumes.
public describeVolumes ( ListDataType $volumeIdList = null, Scalr\Service\Aws\Ec2\DataType\VolumeFilterList $filter = null, string $nextToken = null, integer $maxResults = null ) : Scalr\Service\Aws\Ec2\DataType\VolumeList
$volumeIdList Scalr\Service\Aws\DataType\ListDataType optional The list of Volume ID
$filter Scalr\Service\Aws\Ec2\DataType\VolumeFilterList optional The filter list
$nextToken string The next paginated set of results to return
$maxResults integer The maximum number of paginated volumes items per response.
return Scalr\Service\Aws\Ec2\DataType\VolumeList Returns the list of the volumes
    public function describeVolumes(ListDataType $volumeIdList = null, VolumeFilterList $filter = null, $nextToken = null, $maxResults = null)
    {
        $result = null;
        $options = [];
        if ($volumeIdList !== null) {
            $options = array_merge($options, $volumeIdList->getQueryArrayBare('VolumeId'));
        }
        if ($filter !== null) {
            $options = array_merge($options, $filter->getQueryArrayBare('Filter'));
        }
        if ($nextToken !== null) {
            $options['NextToken'] = (string) $nextToken;
        }
        if ($maxResults !== null) {
            $options['MaxResults'] = (int) $maxResults;
        }
        $response = $this->client->call(ucfirst(__FUNCTION__), $options);
        if ($response->getError() === false) {
            //Success
            $sxml = simplexml_load_string($response->getRawContent());
            $response = null;
            $result = new VolumeList();
            $result->setEc2($this->ec2);
            $result->setRequestId((string) $sxml->requestId);
            $result->setNextToken($this->exist($sxml->nextToken) ? (string) $sxml->nextToken : null);
            if (!empty($sxml->volumeSet->item)) {
                foreach ($sxml->volumeSet->item as $v) {
                    $result->append($this->_loadVolumeData($v));
                }
            }
        }
        return $result;
    }
Ec2Api