private static Instance WaitForInstanceToStartUp(IAmazonEC2 ec2Client, string instanceId)
{
var describeRequest = new DescribeInstancesRequest() { InstanceIds = new List<string>() { instanceId } };
for (int tries = 0; tries < 40; tries++)
{
AWSSDKUtils.Sleep(10 * 1000);
var result = ec2Client.DescribeInstances(describeRequest);
if (result.Reservations.Count != 1 && result.Reservations[0].Instances.Count != 1)
return null;
Instance instance = result.Reservations[0].Instances[0];
// Return the updated instance object if we're out of pending
if (!instance.State.Name.Equals("pending"))
{
return instance;
}
}
return null;
}