Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/lib/zend/Zend/Service/Amazon/Ec2/Elasticip.php
Go to the documentation of this file.
00001 <?php
00026 require_once 'Zend/Service/Amazon/Ec2/Abstract.php';
00027 
00038 class Zend_Service_Amazon_Ec2_Elasticip extends Zend_Service_Amazon_Ec2_Abstract
00039 {
00045     public function allocate()
00046     {
00047         $params = array();
00048         $params['Action'] = 'AllocateAddress';
00049 
00050         $response = $this->sendRequest($params);
00051 
00052         $xpath = $response->getXPath();
00053         $ip = $xpath->evaluate('string(//ec2:publicIp/text())');
00054 
00055         return $ip;
00056     }
00057 
00064     public function describe($publicIp = null)
00065     {
00066         $params = array();
00067         $params['Action'] = 'DescribeAddresses';
00068 
00069         if(is_array($publicIp) && !empty($publicIp)) {
00070             foreach($publicIp as $k=>$name) {
00071                 $params['PublicIp.' . ($k+1)] = $name;
00072             }
00073         } elseif($publicIp) {
00074             $params['PublicIp.1'] = $publicIp;
00075         }
00076 
00077         $response = $this->sendRequest($params);
00078 
00079         $xpath  = $response->getXPath();
00080         $nodes  = $xpath->query('//ec2:item');
00081 
00082         $return = array();
00083         foreach ($nodes as $k => $node) {
00084             $item = array();
00085             $item['publicIp']  = $xpath->evaluate('string(ec2:publicIp/text())', $node);
00086             $item['instanceId']   = $xpath->evaluate('string(ec2:instanceId/text())', $node);
00087 
00088             $return[] = $item;
00089             unset($item);
00090         }
00091 
00092         return $return;
00093     }
00094 
00101     public function release($publicIp)
00102     {
00103         $params = array();
00104         $params['Action'] = 'ReleaseAddress';
00105         $params['PublicIp'] = $publicIp;
00106 
00107         $response = $this->sendRequest($params);
00108         $xpath = $response->getXPath();
00109 
00110         $return = $xpath->evaluate('string(//ec2:return/text())');
00111 
00112         return ($return === "true");
00113     }
00114 
00122     public function associate($instanceId, $publicIp)
00123     {
00124         $params = array();
00125         $params['Action'] = 'AssociateAddress';
00126         $params['PublicIp'] = $publicIp;
00127         $params['InstanceId'] = $instanceId;
00128 
00129         $response = $this->sendRequest($params);
00130         $xpath = $response->getXPath();
00131 
00132         $return = $xpath->evaluate('string(//ec2:return/text())');
00133 
00134         return ($return === "true");
00135     }
00136 
00144     public function disassocate($publicIp)
00145     {
00146         $params = array();
00147         $params['Action'] = 'DisssociateAddress';
00148         $params['PublicIp'] = $publicIp;
00149 
00150         $response = $this->sendRequest($params);
00151         $xpath = $response->getXPath();
00152 
00153         $return = $xpath->evaluate('string(//ec2:return/text())');
00154 
00155         return ($return === "true");
00156     }
00157 
00158 }
 All Data Structures Namespaces Files Functions Variables Enumerations