AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Container for the parameters to the TerminateInstances operation. Shuts down the specified instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated.

If you terminate multiple instances across multiple Availability Zones, and one or more of the specified instances are enabled for termination protection, the request fails with the following results:

For example, say you have the following instances:

If you attempt to terminate all of these instances in the same request, the request reports failure with the following results:

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

By default, the TerminateInstances operation includes a graceful operating system (OS) shutdown. To bypass the graceful shutdown, use the skipOsShutdown parameter; however, this might risk data integrity.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Amazon EC2 instance state changes in the Amazon EC2 User Guide.

When you terminate an instance, we attempt to terminate it forcibly after a short while. If your instance appears stuck in the shutting-down state after a period of time, there might be an issue with the underlying host computer. For more information about terminating and troubleshooting terminating your instances, see Terminate Amazon EC2 instances and Troubleshooting terminating your instance in the Amazon EC2 User Guide.

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonWebServiceRequest
    Amazon.EC2.AmazonEC2Request
      Amazon.EC2.Model.TerminateInstancesRequest

Namespace: Amazon.EC2.Model
Assembly: AWSSDK.EC2.dll
Version: 3.x.y.z

Syntax

C#
public class TerminateInstancesRequest : AmazonEC2Request
         IAmazonWebServiceRequest

The TerminateInstancesRequest type exposes the following members

Constructors

NameDescription
Public Method TerminateInstancesRequest()

Empty constructor used to set properties independently even when a simple constructor is available

Public Method TerminateInstancesRequest(List<String>)

Instantiates TerminateInstancesRequest with the parameterized properties

Properties

NameTypeDescription
Public Property Force System.Boolean

Gets and sets the property Force.

Forces the instances to terminate. The instance will first attempt a graceful shutdown, which includes flushing file system caches and metadata. If the graceful shutdown fails to complete within the timeout period, the instance shuts down forcibly without flushing the file system caches and metadata.

Public Property InstanceIds System.Collections.Generic.List<System.String>

Gets and sets the property InstanceIds.

The IDs of the instances.

Constraints: Up to 1000 instance IDs. We recommend breaking up this request into smaller batches.

Public Property SkipOsShutdown System.Boolean

Gets and sets the property SkipOsShutdown.

Specifies whether to bypass the graceful OS shutdown process when the instance is terminated.

Default: false

Examples

This example terminates the specified EC2 instance.

To terminate an EC2 instance


var client = new AmazonEC2Client();
var response = client.TerminateInstances(new TerminateInstancesRequest 
{
    InstanceIds = new List<string> {
        "i-1234567890abcdef0"
    }
});

List<InstanceStateChange> terminatingInstances = response.TerminatingInstances;

            

Version Information

.NET:
Supported in: 8.0 and newer, Core 3.1

.NET Standard:
Supported in: 2.0

.NET Framework:
Supported in: 4.5 and newer, 3.5