Search code examples
amazon-web-servicesamazon-ec2aws-php-sdk

runInstances() in AWS SDK PHP 3.0 returns blank after successful launch of an instance


Following this, I used runInstances method like the following to launch and instance:

$new_instance_config = array(
            'DryRun' => false,
            'ImageId' => AMI_ID,
            'MinCount' => 1,
            'MaxCount' => 1,
            'InstanceType' => 't1.micro',
            'Placement' => array(
                'AvailabilityZone' => AVAILABILITY_ZONE,
            ),
            'Monitoring' => array(
                'Enabled' => false,
            ),
            'NetworkInterfaces' => array(
                array(
                    'SubnetId' => SUBNET_ID,
                    'DeviceIndex' => 0,
                    'AssociatePublicIpAddress' => true,
                    'DeleteOnTermination' => true,
                    'Groups' => unserialize(SECURITY_GROUP_IDS)
                )
            )
        );

$res = $this->ec2Client->runInstances($new_instance_config);
echo json_encode($res);

However this only prints blank object {} even though if I login to the AWS console, I can see the instance launched.

I need to access some information like the AMI ID of the launched instance. Am I missing something?


Solution

  • See Modeled Responses

    Try:

    $res['Instances']
    

    or

    $res->get('Instances')