/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the ec2-2016-11-15.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.EC2.Model
{
///
/// Container for the parameters to the StopInstances operation.
/// Stops an Amazon EBS-backed instance. For more information, see Stop
/// and start your instance in the Amazon EC2 User Guide.
///
///
///
/// You can use the Stop action to hibernate an instance if the instance is enabled
/// for hibernation and it meets the hibernation
/// prerequisites. For more information, see Hibernate
/// your instance in the Amazon EC2 User Guide.
///
///
///
/// We don't charge usage for a stopped instance, or data transfer fees; however, your
/// root partition Amazon EBS volume remains and continues to persist your data, and you
/// are charged for Amazon EBS volume usage. Every time you start your instance, Amazon
/// EC2 charges a one-minute minimum for instance usage, and thereafter charges per second
/// for instance usage.
///
///
///
/// You can't stop or hibernate instance store-backed instances. You can't use the Stop
/// action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate
/// Spot Instances when they are interrupted. For more information, see Hibernating
/// interrupted Spot Instances in the Amazon EC2 User Guide.
///
///
///
/// When you stop or hibernate an instance, we shut it down. You can restart your instance
/// at any time. Before stopping or hibernating an instance, make sure it is in a state
/// from which it can be restarted. Stopping an instance does not preserve data stored
/// in RAM, but hibernating an instance does preserve data stored in RAM. If an instance
/// cannot hibernate successfully, a normal shutdown occurs.
///
///
///
/// Stopping and hibernating an instance is different to rebooting or terminating it.
/// For example, when you stop or hibernate an instance, the root device and any other
/// devices attached to the instance persist. When you terminate an instance, the root
/// device and any other devices attached during the instance launch are automatically
/// deleted. For more information about the differences between rebooting, stopping, hibernating,
/// and terminating instances, see Instance
/// lifecycle in the Amazon EC2 User Guide.
///
///
///
/// When you stop an instance, we attempt to shut it down forcibly after a short while.
/// If your instance appears stuck in the stopping state after a period of time, there
/// may be an issue with the underlying host computer. For more information, see Troubleshoot
/// stopping your instance in the Amazon EC2 User Guide.
///
///
public partial class StopInstancesRequest : AmazonEC2Request
{
private bool? _force;
private bool? _hibernate;
private List _instanceIds = new List();
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public StopInstancesRequest() { }
///
/// Instantiates StopInstancesRequest with the parameterized properties
///
/// The IDs of the instances.
public StopInstancesRequest(List instanceIds)
{
_instanceIds = instanceIds;
}
///
/// Gets and sets the property Force.
///
/// Forces the instances to stop. The instances do not have an opportunity to flush file
/// system caches or file system metadata. If you use this option, you must perform file
/// system check and repair procedures. This option is not recommended for Windows instances.
///
///
///
/// Default: false
///
///
public bool Force
{
get { return this._force.GetValueOrDefault(); }
set { this._force = value; }
}
// Check to see if Force property is set
internal bool IsSetForce()
{
return this._force.HasValue;
}
///
/// Gets and sets the property Hibernate.
///
/// Hibernates the instance if the instance was enabled for hibernation at launch. If
/// the instance cannot hibernate successfully, a normal shutdown occurs. For more information,
/// see Hibernate
/// your instance in the Amazon EC2 User Guide.
///
///
///
/// Default: false
///
///
public bool Hibernate
{
get { return this._hibernate.GetValueOrDefault(); }
set { this._hibernate = value; }
}
// Check to see if Hibernate property is set
internal bool IsSetHibernate()
{
return this._hibernate.HasValue;
}
///
/// Gets and sets the property InstanceIds.
///
/// The IDs of the instances.
///
///
[AWSProperty(Required=true)]
public List InstanceIds
{
get { return this._instanceIds; }
set { this._instanceIds = value; }
}
// Check to see if InstanceIds property is set
internal bool IsSetInstanceIds()
{
return this._instanceIds != null && this._instanceIds.Count > 0;
}
}
}