User guide
1 try
{
// Cancel requests.
CancelSpotInstanceRequestsRequest cancelRequest = new CancelSpotInstan
ceRequestsRequest();
5
foreach (SpotInstanceRequest spotInstanceRequest in requestResult.Re
questSpotInstancesResult.SpotInstanceRequest)
{
cancelRequest.SpotInstanceRequestId.Add(spotInstanceRequest.SpotIn
stanceRequestId);
}
10
ec2.CancelSpotInstanceRequests(cancelRequest);
}
catch (AmazonEC2Exception e)
{
15 // Write out any exceptions that may have occurred.
Console.WriteLine("Error cancelling instances");
Console.WriteLine("Caught Exception: " + e.Message);
Console.WriteLine("Reponse Status Code: " + e.StatusCode);
Console.WriteLine("Error Code: " + e.ErrorCode);
20 Console.WriteLine("Request ID: " + e.RequestId);
}
}
To terminate any outstanding instances, we use the instanceIds array, which we populated with the
instance IDs of those instances that transitioned to the active state. We terminate these instances by
assigning this array to the InstanceId member of a TerminateInstancesRequest object, then
passing that object to the ec2.TerminateInstances API.
1
if (instanceIds.Count > 0)
{
try
5 {
TerminateInstancesRequest terminateRequest = new TerminateInstances
Request();
terminateRequest.InstanceId = instanceIds;
ec2.TerminateInstances(terminateRequest);
10 }
catch (AmazonEC2Exception e)
{
Console.WriteLine("Error terminating instances");
Console.WriteLine("Caught Exception: " + e.Message);
15 Console.WriteLine("Reponse Status Code: " + e.StatusCode);
Console.WriteLine("Error Code: " + e.ErrorCode);
Console.WriteLine("Request ID: " + e.RequestId);
}
}
20
Version v2.0.0
86
AWS SDK for .NET Developer Guide
Tutorial: Amazon EC2 Spot Instances