describe_availability_zones ( $opt )

The DescribeAvailabilityZones operation describes availability zones that are currently available to the account and their states.

Availability zones are not the same across accounts. The availability zone us-east-1a for account A is not necessarily the same as us-east-1a for account B. Zone assignments are mapped independently for each account.

Access

public

Parameters

Parameter

Type

Required

Description

$opt

array

Optional

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

  • ZoneName - string|array - Optional - A list of the availability zone names to describe. Pass a string for a single value, or an indexed array for multiple values.
  • Filter - array - Optional - A list of filters used to match properties for AvailabilityZones. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
    • x - array - Optional - This represents a simple array index.
      • Name - string - Optional - Specifies the name of the filter.
      • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
  • 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

Describe all availability zones.

$ec2 = new AmazonEC2();

$response = $ec2->describe_availability_zones();

var_dump($response->isOK());
Result:
bool(true)

Describe a single availability zone.

$ec2 = new AmazonEC2();

$response = $ec2->describe_availability_zones(array(
	'ZoneName' => 'us-east-1a'
));

var_dump($response->isOK());
Result:
bool(true)

Describe multiple availability zones.

$ec2 = new AmazonEC2();

$response = $ec2->describe_availability_zones(array(
	'ZoneName' => array(
		'us-east-1a',
		'us-east-1b',
		'us-east-1c'
	)
));

var_dump($response->isOK());
Result:
bool(true)

Filter availability zones.

$ec2 = new AmazonEC2();

$response = $ec2->describe_availability_zones(array(
	'Filter' => array(
		array('Name' => 'state', 'Value' => 'available')
	)
));

var_dump($response->isOK());
Result:
bool(true)

Related Methods

Source

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

public function describe_availability_zones($opt = null)
{
    if (!$opt) $opt = array();
            
    // Optional list (non-map)
    if (isset($opt['ZoneName']))
    {
        $opt = array_merge($opt, CFComplexType::map(array(
            'ZoneName' => (is_array($opt['ZoneName']) ? $opt['ZoneName'] : array($opt['ZoneName']))
        )));
        unset($opt['ZoneName']);
    }
    
    // Optional list + map
    if (isset($opt['Filter']))
    {
        $opt = array_merge($opt, CFComplexType::map(array(
            'Filter' => $opt['Filter']
        )));
        unset($opt['Filter']);
    }

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

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback