Service/Amazon/Ec2/Securitygroups.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: Securitygroups.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Service_Amazon_Ec2_Securitygroups
An Amazon EC2 interface to create, delete, describe, grand and revoke sercurity permissions.
- 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 |


authorizeGroup(string $name, string $groupName, string $ownerId) : boolean
Adds permissions to a security group
When authorizing a user/group pair permission, GroupName, SourceSecurityGroupName and SourceSecurityGroupOwnerId must be specified.
Permission changes are propagated to instances within the security group as quickly as possible. However, depending on the number of instances, a small delay might occur.
Name | Type | Description |
---|---|---|
$name | string | Name of the group to modify. |
$groupName | string | Name of security group to authorize access to when operating on a user/group pair. |
$ownerId | string | Owner of security group to authorize access to when operating on a user/group pair. |
Type | Description |
---|---|
boolean |


authorizeIp(string $name, string $ipProtocol, integer $fromPort, integer $toPort, string $cidrIp) : boolean
Adds permissions to a security group
Permissions are specified by the IP protocol (TCP, UDP or ICMP), the source of the request (by IP range or an Amazon EC2 user-group pair), the source and destination port ranges (for TCP and UDP), and the ICMP codes and types (for ICMP). When authorizing ICMP, -1 can be used as a wildcard in the type and code fields.
Permission changes are propagated to instances within the security group as quickly as possible. However, depending on the number of instances, a small delay might occur.
Name | Type | Description |
---|---|---|
$name | string | Name of the group to modify. |
$ipProtocol | string | IP protocol to authorize access to when operating on a CIDR IP. |
$fromPort | integer | Bottom of port range to authorize access to when operating on a CIDR IP. This contains the ICMP type if ICMP is being authorized. |
$toPort | integer | Top of port range to authorize access to when operating on a CIDR IP. This contains the ICMP code if ICMP is being authorized. |
$cidrIp | string | CIDR IP range to authorize access to when operating on a CIDR IP. |
Type | Description |
---|---|
boolean |


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. |


create(string $name, string $description) : boolean
Creates a new security group.
Every instance is launched in a security group. If no security group is specified during launch, the instances are launched in the default security group. Instances within the same security group have unrestricted network access to each other. Instances will reject network access attempts from other instances in a different security group. As the owner of instances you can grant or revoke specific permissions using the authorizeIp, authorizeGroup, revokeGroup and {$link revokeIp} operations.
Name | Type | Description |
---|---|---|
$name | string | Name of the new security group. |
$description | string | Description of the new security group. |
Type | Description |
---|---|
boolean |


delete(string $name) : boolean
Deletes a security group.
If you attempt to delete a security group that contains instances, a fault is returned. If you attempt to delete a security group that is referenced by another security group, a fault is returned. For example, if security group B has a rule that allows access from security group A, security group A cannot be deleted until the allow rule is removed.
Name | Type | Description |
---|---|---|
$name | string | Name of the security group to delete. |
Type | Description |
---|---|
boolean |


describe(string | array $name = null) : array
Returns information about security groups that you own.
If you specify security group names, information about those security group is returned. Otherwise, information for all security group is returned. If you specify a group that does not exist, a fault is returned.
Name | Type | Description |
---|---|---|
$name | string | array | List of security groups to describe |
Type | Description |
---|---|
array |


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 |


revokeGroup(string $name, string $groupName, string $ownerId) : boolean
Revokes permissions from a security group.
The permissions used to revoke must be specified using the same values used to grant the permissions.
Permission changes are propagated to instances within the security group as quickly as possible. However, depending on the number of instances, a small delay might occur.
When revoking a user/group pair permission, GroupName, SourceSecurityGroupName and SourceSecurityGroupOwnerId must be specified.
Name | Type | Description |
---|---|---|
$name | string | Name of the group to modify. |
$groupName | string | Name of security group to revoke access to when operating on a user/group pair. |
$ownerId | string | Owner of security group to revoke access to when operating on a user/group pair. |
Type | Description |
---|---|
boolean |


revokeIp(string $name, string $ipProtocol, integer $fromPort, integer $toPort, string $cidrIp) : boolean
Revokes permissions from a security group.
The permissions used to revoke must be specified using the same values used to grant the permissions.
Permissions are specified by the IP protocol (TCP, UDP or ICMP), the source of the request (by IP range or an Amazon EC2 user-group pair), the source and destination port ranges (for TCP and UDP), and the ICMP codes and types (for ICMP). When authorizing ICMP, -1 can be used as a wildcard in the type and code fields.
Permission changes are propagated to instances within the security group as quickly as possible. However, depending on the number of instances, a small delay might occur.
Name | Type | Description |
---|---|---|
$name | string | Name of the group to modify. |
$ipProtocol | string | IP protocol to revoke access to when operating on a CIDR IP. |
$fromPort | integer | Bottom of port range to revoke access to when operating on a CIDR IP. This contains the ICMP type if ICMP is being revoked. |
$toPort | integer | Top of port range to revoked access to when operating on a CIDR IP. This contains the ICMP code if ICMP is being revoked. |
$cidrIp | string | CIDR IP range to revoke access to when operating on a CIDR IP. |
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. |