[ Index ]

PHP Cross Reference of moodle-2.8

title

Body

[close]

/lib/zend/Zend/Service/Amazon/Ec2/ -> Availabilityzones.php (source)

   1  <?php
   2  /**
   3   * Zend Framework
   4   *
   5   * LICENSE
   6   *
   7   * This source file is subject to the new BSD license that is bundled
   8   * with this package in the file LICENSE.txt.
   9   * It is also available through the world-wide-web at this URL:
  10   * http://framework.zend.com/license/new-bsd
  11   * If you did not receive a copy of the license and are unable to
  12   * obtain it through the world-wide-web, please send an email
  13   * to [email protected] so we can send you a copy immediately.
  14   *
  15   * @category   Zend
  16   * @package    Zend_Service_Amazon
  17   * @subpackage Ec2
  18   * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  19   * @license    http://framework.zend.com/license/new-bsd     New BSD License
  20   * @version    $Id$
  21   */
  22  
  23  /**
  24   * @see Zend_Service_Amazon_Ec2_Abstract
  25   */
  26  require_once 'Zend/Service/Amazon/Ec2/Abstract.php';
  27  
  28  /**
  29   * An Amazon EC2 interface to query which Availibity Zones your account has access to.
  30   *
  31   * @category   Zend
  32   * @package    Zend_Service_Amazon
  33   * @subpackage Ec2
  34   * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  35   * @license    http://framework.zend.com/license/new-bsd     New BSD License
  36   */
  37  class Zend_Service_Amazon_Ec2_Availabilityzones extends Zend_Service_Amazon_Ec2_Abstract
  38  {
  39      /**
  40       * Describes availability zones that are currently available to the account
  41       * and their states.
  42       *
  43       * @param string|array $zoneName            Name of an availability zone.
  44       * @return array                            An array that contains all the return items.  Keys: zoneName and zoneState.
  45       */
  46      public function describe($zoneName = null)
  47      {
  48          $params = array();
  49          $params['Action'] = 'DescribeAvailabilityZones';
  50  
  51          if(is_array($zoneName) && !empty($zoneName)) {
  52              foreach($zoneName as $k=>$name) {
  53                  $params['ZoneName.' . ($k+1)] = $name;
  54              }
  55          } elseif($zoneName) {
  56              $params['ZoneName.1'] = $zoneName;
  57          }
  58  
  59          $response = $this->sendRequest($params);
  60  
  61          $xpath  = $response->getXPath();
  62          $nodes  = $xpath->query('//ec2:item');
  63  
  64          $return = array();
  65          foreach ($nodes as $k => $node) {
  66              $item = array();
  67              $item['zoneName']   = $xpath->evaluate('string(ec2:zoneName/text())', $node);
  68              $item['zoneState']  = $xpath->evaluate('string(ec2:zoneState/text())', $node);
  69  
  70              $return[] = $item;
  71              unset($item);
  72          }
  73  
  74          return $return;
  75      }
  76  }


Generated: Fri Nov 28 20:29:05 2014 Cross-referenced by PHPXref 0.7.1