Introduction
Purpose
This is a functional specification for the Query API support added to CloudStack's EC2 implementation (AWSAPI). Corresponding Jira ID is CLOUDSTACK-197.
References
Feature Specifications
Feature Objective
- EC2 Query API support:
Currently in AWSAPI, Query API implementation is not well tested. Aim is to fix Query API to have the exact fidelity as the current SOAP implementation.
...
- Support for the latest EC2 API version:
The present SOAP implementation is against EC2 API version 2010-11-15. Goal is to upgrade the supported version from 2010-11-15 to the latest EC2 API version i.e. 2012-08-15.
API Changes
- API's that will be supported by the Query interface are the ones that are at present supported by the SOAP interface in AWSAPI.
- Support will NOT be provided for any new EC2 API’s (API’s present in the latest version that were added after 2010-11-15).
Below is the complete list of Query API's that will be supported,
- AllocateAddress
- AssociateAddress
- AttachVolume
- AuthorizeSecurityGroupIngress
- CreateImage
- CreateKeyPair
- CreateSecurityGroup
- CreateSnapshot
- CreateTags
- CreateVolume
- DeleteKeyPair
- DeleteSecurityGroup
- DeleteSnapshot
- DeleteTags
- DeleteVolume
- DeregisterImage
- DescribeAddresses
- DescribeAvailabilityZones
- DescribeImageAttribute
- DescribeImages
- DescribeInstanceAttribute
- DescribeInstances
- DescribeKeyPairs
- DescribeSecurityGroups
- DescribeSnapshots
- DescribeTags
- DescribeVolumes
- DetachVolume
- DisassociateAddress
- GetPasswordData
- ImportkeyPair
- ModifyImageAttribute
- RebootInstances
- RegisterImage
- ReleaseAddress
- ResetImageAttribute
- RevokeSecurityGroupIngress
- RunInstances
- StartInstances
- StopInstances
- TerminateInstances
After investigation of all the Query API's to be supported, the functionality of the following was found to be broken and hence will be fixed as part of this feature,
- DescribeImageAttribute
- ModifyImageAttribute
- ResetImageAttribute
- DescribeInstances
- RunInstances
- AttachVolume
- AuthorizeSecurityGroupIngress
- RevokeSecurityGroupIngress
- DescribeKeyPair
- CreateTags
- DesribeTags
- DeleteTags
- ReleaseAddress
- DescribeAddresses
- DescribeAvailabilityZones