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

describeInstances() public method

Describes one or more of your instances. If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an invalid instance ID, an error is returned. If you specify an instance that you do not own, it is not included in the returned results. Recently terminated instances might appear in the returned results. This interval is usually less than one hour.
public describeInstances ( ListDataType $instanceIdList = null, Scalr\Service\Aws\Ec2\DataType\InstanceFilterList $filter = null, string $nextToken = null, integer $maxResults = null ) : Scalr\Service\Aws\Ec2\DataType\ReservationList
$instanceIdList Scalr\Service\Aws\DataType\ListDataType optional One or more instance IDs
$filter Scalr\Service\Aws\Ec2\DataType\InstanceFilterList optional A Filter list
$nextToken string The next paginated set of results to return
$maxResults integer The maximum number of paginated instance items per response.
return Scalr\Service\Aws\Ec2\DataType\ReservationList Returns List of the reservations on success
    public function describeInstances(ListDataType $instanceIdList = null, InstanceFilterList $filter = null, $nextToken = null, $maxResults = null)
    {
        $result = null;
        $options = [];
        if ($instanceIdList !== null) {
            $options = array_merge($options, $this->getInstanceIdListQuery($instanceIdList));
        }
        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 ReservationList();
            $result->setEc2($this->ec2);
            $result->setRequestId((string) $sxml->requestId);
            $result->setNextToken($this->exist($sxml->nextToken) ? (string) $sxml->nextToken : null);
            if (!empty($sxml->reservationSet->item)) {
                foreach ($sxml->reservationSet->item as $r) {
                    $item = new ReservationData();
                    $item->setEc2($this->ec2);
                    $item->reservationId = (string) $r->reservationId;
                    $item->ownerId = $this->exist($r->ownerId) ? (string) $r->ownerId : null;
                    $item->requesterId = $this->exist($r->requesterId) ? (string) $r->requesterId : null;
                    $item->setGroupSet($this->_loadGroupList($r->groupSet))->setInstancesSet($this->_loadInstanceList($r->instancesSet));
                    $result->append($item);
                    unset($item);
                }
            }
        }
        return $result;
    }
Ec2Api