stop_instances ( $instance_id, $opt )

Stops an instance that uses an Amazon EBS volume as its root device. Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time.

Before stopping 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.

Performing this operation on an instance that uses an instance store as its root device returns an error.

Access

public

Parameters

Parameter

Type

Required

Description

$instance_id

string
array

Required

The list of Amazon EC2 instances to stop. Pass a string for a single value, or an indexed array for multiple values.

$opt

array

Optional

An associative array of parameters that can have the following keys:

  • Force - boolean - Optional - Forces the instance to stop. The instance will not have an opportunity to flush file system caches nor file system meta data. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.

Returns

Type

Description

CFResponse

A CFResponse object containing a parsed HTTP response.

Examples

Stop a running EBS-backed instance.

// Instantiate the class
$ec2 = new AmazonEC2();

$response = $ec2->stop_instances('i-1f549375');

// Success?
var_dump($response->isOK());

Related Methods

Source

Method defined in services/ec2.class.php | Toggle source view (11 lines) | View on GitHub

public function stop_instances($instance_id, $opt = null)
{
    if (!$opt) $opt = array();
            
    // Required list (non-map)
    $opt = array_merge($opt, CFComplexType::map(array(
        'InstanceId' => (is_array($instance_id) ? $instance_id : array($instance_id))
    )));

    return $this->authenticate('StopInstances', $opt);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback