Service/Amazon/Ec2/Image.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Service_Amazon
- Subpackage
- Ec2
- Version
- $Id: Image.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Service_Amazon_Ec2_Image
An Amazon EC2 interface to register, describe and deregister Amamzon Machine Instances (AMI)
- Parent(s)
- \Zend_Service_Amazon_Ec2_Abstract < \Zend_Service_Amazon_Abstract < \Zend_Service_Abstract
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties


string $_accessKey =
- Type
- string
- Inherited_from
- \Zend_Service_Amazon_Abstract::$$_accessKey
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_accessKey


string $_defaultAccessKey = null
null
Details- Type
- string
- Inherited_from
- \Zend_Service_Amazon_Abstract::$$_defaultAccessKey
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_defaultAccessKey


string $_defaultRegion = null
null
Details- Type
- string
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_defaultRegion


string $_defaultSecretKey = null
null
Details- Type
- string
- Inherited_from
- \Zend_Service_Amazon_Abstract::$$_defaultSecretKey
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_defaultSecretKey


$_ec2ApiVersion = '2009-04-04'
'2009-04-04'
Details- Type
- n/a
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_ec2ApiVersion


$_ec2Endpoint = 'ec2.amazonaws.com'
'ec2.amazonaws.com'
Details- Type
- n/a
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_ec2Endpoint


$_ec2SignatureMethod = 'HmacSHA256'
Signature Encoding Method
Inherited from: \Zend_Service_Amazon_Ec2_Abstract::$$_ec2SignatureMethod'HmacSHA256'
Details- Type
- n/a
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_ec2SignatureMethod


$_ec2SignatureVersion = '2'
Signature Version
Inherited from: \Zend_Service_Amazon_Ec2_Abstract::$$_ec2SignatureVersion'2'
Details- Type
- n/a
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_ec2SignatureVersion


\Zend_Http_Client $_httpClient = null
HTTP Client used to query all web services
Inherited from: \Zend_Service_Abstract::$$_httpClient\Zend_Service_Amazon_Abstract::$$_httpClient\Zend_Service_Amazon_Ec2_Abstract::$$_httpClientnull
Details- Type
- \Zend_Http_Client
- Inherited_from
- \Zend_Service_Abstract::$$_httpClient
- Inherited_from
- \Zend_Service_Amazon_Abstract::$$_httpClient
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_httpClient


$_httpTimeout = 10
Period after which HTTP request will timeout in seconds
Inherited from: \Zend_Service_Amazon_Ec2_Abstract::$$_httpTimeout10
Details- Type
- n/a
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_httpTimeout


string $_region =
- Type
- string
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_region


string $_secretKey =
- Type
- string
- Inherited_from
- \Zend_Service_Amazon_Abstract::$$_secretKey
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_secretKey


array $_validEc2Regions = array('eu-west-1', 'us-east-1')
An array that contains all the valid Amazon Ec2 Regions.
Inherited from: \Zend_Service_Amazon_Ec2_Abstract::$$_validEc2Regionsarray('eu-west-1', 'us-east-1')
Details- Type
- array
- Inherited_from
- \Zend_Service_Amazon_Ec2_Abstract::$$_validEc2Regions
Methods


__construct( $accessKey = null, $secretKey = null, string $region = null) : void
Name | Type | Description |
---|---|---|
$accessKey | ||
$secretKey | ||
$region | string | Sets the AWS Region |


_getAccessKey() : string
Method to fetch the Access Key
Inherited from: \Zend_Service_Amazon_Abstract::_getAccessKey()\Zend_Service_Amazon_Ec2_Abstract::_getAccessKey()Type | Description |
---|---|
string |


_getRegion() : string
Method to fetch the AWS Region
Inherited from: \Zend_Service_Amazon_Ec2_Abstract::_getRegion()Type | Description |
---|---|
string |


_getSecretKey() : string
Method to fetch the Secret AWS Key
Inherited from: \Zend_Service_Amazon_Abstract::_getSecretKey()\Zend_Service_Amazon_Ec2_Abstract::_getSecretKey()Type | Description |
---|---|
string |


addRequiredParameters(array $parameters) : array
Adds required authentication and version parameters to an array of parameters
Inherited from: \Zend_Service_Amazon_Ec2_Abstract::addRequiredParameters()The required parameters are: - AWSAccessKey - SignatureVersion - Timestamp - Version and - Signature
If a required parameter is already set in the $parameters array, it is overwritten.
Name | Type | Description |
---|---|---|
$parameters | array | the array to which to add the required parameters. |
Type | Description |
---|---|
array |


checkForErrors(\Zend_Service_Amazon_Ec2_Response $response) : void
Checks for errors responses from Amazon
Inherited from: \Zend_Service_Amazon_Ec2_Abstract::checkForErrors()Name | Type | Description |
---|---|---|
$response | \Zend_Service_Amazon_Ec2_Response | the response object to check. |
Exception | Description |
---|---|
\Zend_Service_Amazon_Ec2_Exception | if one or more errors are returned from Amazon. |


deregister(string $imageId) : boolean
Deregisters an AMI.
Once deregistered, instances of the AMI can no longer be launched.
Name | Type | Description |
---|---|---|
$imageId | string | Unique ID of a machine image, returned by a call to RegisterImage or DescribeImages. |
Type | Description |
---|---|
boolean |


describe(string | array $imageId = null, string | array $owner = null, string | array $executableBy = null) : array
Returns information about AMIs, AKIs, and ARIs available to the user.
Information returned includes image type, product codes, architecture, and kernel and RAM disk IDs. Images available to the user include public images available for any user to launch, private images owned by the user making the request, and private images owned by other users for which the user has explicit launch permissions.
Launch permissions fall into three categories: public: The owner of the AMI granted launch permissions for the AMI to the all group. All users have launch permissions for these AMIs. explicit: The owner of the AMI granted launch permissions to a specific user. implicit: A user has implicit launch permissions for all AMIs he or she owns.
The list of AMIs returned can be modified by specifying AMI IDs, AMI owners, or users with launch permissions. If no options are specified, Amazon EC2 returns all AMIs for which the user has launch permissions.
If you specify one or more AMI IDs, only AMIs that have the specified IDs are returned. If you specify an invalid AMI ID, a fault is returned. If you specify an AMI ID for which you do not have access, it will not be included in the returned results.
If you specify one or more AMI owners, only AMIs from the specified owners and for which you have access are returned. The results can include the account IDs of the specified owners, amazon for AMIs owned by Amazon or self for AMIs that you own.
If you specify a list of executable users, only users that have launch permissions for the AMIs are returned. You can specify account IDs (if you own the AMI(s)), self for AMIs for which you own or have explicit permissions, or all for public AMIs.
Name | Type | Description |
---|---|---|
$imageId | string | array | A list of image descriptions |
$owner | string | array | Owners of AMIs to describe. |
$executableBy | string | array | AMIs for which specified users have access. |
Type | Description |
---|---|
array |


describeAttribute(string $imageId, string $attribute) : void
Returns information about an attribute of an AMI.
Only one attribute can be specified per call.
Name | Type | Description |
---|---|---|
$imageId | string | ID of the AMI for which an attribute will be described. |
$attribute | string | Specifies the attribute to describe. Valid Attributes are launchPermission, productCodes |


getHttpClient() : \Zend_Http_Client
Gets the HTTP client object.
Inherited from: \Zend_Service_Abstract::getHttpClient()\Zend_Service_Amazon_Abstract::getHttpClient()\Zend_Service_Amazon_Ec2_Abstract::getHttpClient()Type | Description |
---|---|
\Zend_Http_Client |


modifyAttribute(string $imageId, string $attribute, string $operationType = 'add', string | array $userId = null, string | array $userGroup = null, string $productCode = null) : boolean
Modifies an attribute of an AMI.
Valid Attributes: launchPermission: Controls who has permission to launch the AMI. Launch permissions can be granted to specific users by adding userIds. To make the AMI public, add the all group. productCodes: Associates a product code with AMIs. This allows developers to charge users for using AMIs. The user must be signed up for the product before they can launch the AMI. This is a write once attribute; after it is set, it cannot be changed or removed.
Name | Type | Description |
---|---|---|
$imageId | string | AMI ID to modify. |
$attribute | string | Specifies the attribute to modify. See the preceding attributes table for supported attributes. |
$operationType | string | Specifies the operation to perform on the attribute. See the preceding attributes table for supported operations for attributes. Valid Values: add | remove Required for launchPermssion Attribute |
$userId | string | array | User IDs to add to or remove from the launchPermission attribute. Required for launchPermssion Attribute |
$userGroup | string | array | User groups to add to or remove from the launchPermission attribute. Currently, the all group is available, which will make it a public AMI. Required for launchPermssion Attribute |
$productCode | string | Attaches a product code to the AMI. Currently only one product code can be associated with an AMI. Once set, the product code cannot be changed or reset. Required for productCodes Attribute |
Type | Description |
---|---|
boolean |


register(string $imageLocation) : string
Registers an AMI with Amazon EC2.
Images must be registered before they can be launched.
Each AMI is associated with an unique ID which is provided by the Amazon EC2 service through the RegisterImage operation. During registration, Amazon EC2 retrieves the specified image manifest from Amazon S3 and verifies that the image is owned by the user registering the image.
The image manifest is retrieved once and stored within the Amazon EC2. Any modifications to an image in Amazon S3 invalidates this registration. If you make changes to an image, deregister the previous image and register the new image. For more information, see DeregisterImage.
Name | Type | Description |
---|---|---|
$imageLocation | string | Full path to your AMI manifest in Amazon S3 storage. |
Type | Description |
---|---|
string | The ami fro the newly registred image; |


resetAttribute(string $imageId, String $attribute) : boolean
Resets an attribute of an AMI to its default value.
The productCodes attribute cannot be reset
Name | Type | Description |
---|---|---|
$imageId | string | ID of the AMI for which an attribute will be reset. |
$attribute | String | Specifies the attribute to reset. Currently, only launchPermission is supported. In the case of launchPermission, all public and explicit launch permissions for the AMI are revoked. |
Type | Description |
---|---|
boolean |


sendRequest(array $params = array()) : \Zend_Service_Amazon_Ec2_Response
Sends a HTTP request to the queue service using Zend_Http_Client
Inherited from: \Zend_Service_Amazon_Ec2_Abstract::sendRequest()Name | Type | Description |
---|---|---|
$params | array | List of parameters to send with the request |
Type | Description |
---|---|
\Zend_Service_Amazon_Ec2_Response |
Exception | Description |
---|---|
\Zend_Service_Amazon_Ec2_Exception |


setHttpClient(\Zend_Http_Client $httpClient) : void
Sets the HTTP client object to use for retrieving the feeds.
Inherited from: \Zend_Service_Abstract::setHttpClient()\Zend_Service_Amazon_Abstract::setHttpClient()\Zend_Service_Amazon_Ec2_Abstract::setHttpClient()If none is set, the default Zend_Http_Client will be used.
Name | Type | Description |
---|---|---|
$httpClient | \Zend_Http_Client |


setKeys( $accessKey, $secretKey) : void
Set the keys to use when accessing SQS.
Inherited from: \Zend_Service_Amazon_Abstract::setKeys()\Zend_Service_Amazon_Ec2_Abstract::setKeys()Name | Type | Description |
---|---|---|
$accessKey | ||
$secretKey |


setRegion(string $region) : void
Set which region you are working in.
Inherited from: \Zend_Service_Amazon_Ec2_Abstract::setRegion()It will append the end point automaticly
Name | Type | Description |
---|---|---|
$region | string |


signParameters( $paramaters) : string
Computes the RFC 2104-compliant HMAC signature for request parameters
Inherited from: \Zend_Service_Amazon_Ec2_Abstract::signParameters()This implements the Amazon Web Services signature, as per the following specification:
Sort all request parameters (including SignatureVersion and excluding Signature, the value of which is being created), ignoring case.
Iterate over the sorted list and append the parameter name (in its original case) and then its value. Do not URL-encode the parameter values before constructing this string. Do not use any separator characters when appending strings.
Name | Type | Description |
---|---|---|
$paramaters |
Type | Description |
---|---|
string | the signed data. |