function checkInstanceStatus($instanceInfo) { $keySecret = array('key' => $instanceInfo['key'], 'secret' => $instanceInfo['secret'], 'region' => $instanceInfo['instName']); $get_stat_info = array(); $client = Aws\Ec2\Ec2Client::factory($keySecret); $result = $client->describeInstances(array('InstanceIds' => array($instanceInfo['instance_id']))); $reservations = $result->toArray(); return $reservations['Reservations'][0]['Instances'][0]['State']['Name']; }
}); $app->get('/api/getInstanceList', function () { global $instances; $response = array(); foreach ($instances as $eachInstName) { foreach ($eachInstName['instance_id'] as $eachInstanceId) { $instanceInfo = array('instName' => $eachInstName['instName'], 'instance_id' => $eachInstanceId, 'key' => $eachInstName['key'], 'secret' => $eachInstName['secret']); // $status = checkInstanceStatus($instanceInfo); // $instanceInfo['status'] = $status; $response[] = $instanceInfo; } } echo json_encode($response); }); $app->post('/api/startInstance', function () { global $input; $instanceInfo = $input; $keySecret = array('key' => $instanceInfo['key'], 'secret' => $instanceInfo['secret'], 'region' => $instanceInfo['instName']); $client = Aws\Ec2\Ec2Client::factory($keySecret); $result = $client->startInstances(array('InstanceIds' => array($instanceInfo['instance_id']))); echo json_encode($result->toArray()); }); $app->post('/api/stopInstance', function () { global $input; $instanceInfo = $input; $keySecret = array('key' => $instanceInfo['key'], 'secret' => $instanceInfo['secret'], 'region' => $instanceInfo['instName']); $client = Aws\Ec2\Ec2Client::factory($keySecret); $result = $client->stopInstances(array('InstanceIds' => array($instanceInfo['instance_id']))); echo json_encode($result->toArray()); }); $app->run();