Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/lib/zend/Zend/Service/Amazon/Ec2/Instance/Reserved.php
Go to the documentation of this file.
00001 <?php
00026 require_once 'Zend/Service/Amazon/Ec2/Abstract.php';
00027 
00037 class Zend_Service_Amazon_Ec2_Instance_Reserved extends Zend_Service_Amazon_Ec2_Abstract
00038 {
00045     public function describeInstances($instanceId)
00046     {
00047         $params = array();
00048         $params['Action'] = 'DescribeReservedInstances';
00049 
00050         if(is_array($instanceId) && !empty($instanceId)) {
00051             foreach($instanceId as $k=>$name) {
00052                 $params['ReservedInstancesId.' . ($k+1)] = $name;
00053             }
00054         } elseif($instanceId) {
00055             $params['ReservedInstancesId.1'] = $instanceId;
00056         }
00057 
00058         $response = $this->sendRequest($params);
00059 
00060         $xpath = $response->getXPath();
00061         $items = $xpath->query('//ec2:reservedInstancesSet/ec2:item');
00062 
00063         $return = array();
00064         foreach($items as $item) {
00065             $i = array();
00066             $i['reservedInstancesId'] = $xpath->evaluate('string(ec2:reservedInstancesId/text())', $item);
00067             $i['instanceType'] = $xpath->evaluate('string(ec2:instanceType/text())', $item);
00068             $i['availabilityZone'] = $xpath->evaluate('string(ec2:availabilityZone/text())', $item);
00069             $i['duration'] = $xpath->evaluate('string(ec2:duration/text())', $item);
00070             $i['fixedPrice'] = $xpath->evaluate('string(ec2:fixedPrice/text())', $item);
00071             $i['usagePrice'] = $xpath->evaluate('string(ec2:usagePrice/text())', $item);
00072             $i['productDescription'] = $xpath->evaluate('string(ec2:productDescription/text())', $item);
00073             $i['instanceCount'] = $xpath->evaluate('string(ec2:instanceCount/text())', $item);
00074             $i['state'] = $xpath->evaluate('string(ec2:state/text())', $item);
00075 
00076             $return[] = $i;
00077             unset($i);
00078         }
00079 
00080         return $return;
00081     }
00082 
00091     public function describeOfferings()
00092     {
00093         $params = array();
00094         $params['Action'] = 'DescribeReservedInstancesOfferings';
00095 
00096         $response = $this->sendRequest($params);
00097 
00098         $xpath = $response->getXPath();
00099         $items = $xpath->query('//ec2:reservedInstancesOfferingsSet/ec2:item');
00100 
00101         $return = array();
00102         foreach($items as $item) {
00103             $i = array();
00104             $i['reservedInstancesOfferingId'] = $xpath->evaluate('string(ec2:reservedInstancesOfferingId/text())', $item);
00105             $i['instanceType'] = $xpath->evaluate('string(ec2:instanceType/text())', $item);
00106             $i['availabilityZone'] = $xpath->evaluate('string(ec2:availabilityZone/text())', $item);
00107             $i['duration'] = $xpath->evaluate('string(ec2:duration/text())', $item);
00108             $i['fixedPrice'] = $xpath->evaluate('string(ec2:fixedPrice/text())', $item);
00109             $i['usagePrice'] = $xpath->evaluate('string(ec2:usagePrice/text())', $item);
00110             $i['productDescription'] = $xpath->evaluate('string(ec2:productDescription/text())', $item);
00111 
00112             $return[] = $i;
00113             unset($i);
00114         }
00115 
00116         return $return;
00117     }
00118 
00129     public function purchaseOffering($offeringId, $intanceCount = 1)
00130     {
00131         $params = array();
00132         $params['Action'] = 'PurchaseReservedInstancesOffering';
00133         $params['OfferingId.1'] = $offeringId;
00134         $params['instanceCount.1'] = intval($intanceCount);
00135 
00136         $response = $this->sendRequest($params);
00137 
00138         $xpath = $response->getXPath();
00139         $reservedInstancesId = $xpath->evaluate('string(//ec2:reservedInstancesId/text())');
00140 
00141         return $reservedInstancesId;
00142     }
00143 }
 All Data Structures Namespaces Files Functions Variables Enumerations