Пример #1
0
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'];
}
Пример #2
0
});
$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();