Interacting with EC2

Query API

The EC2 web service API is made available through two interfaces, Query and SOAP. In this book we will use the Query interface.

The EC2 service implementation presented in this chapter uses the Query API functionality implemented in the Amazon Web Services (AWS) Ruby module. The AWS module includes methods that perform authentication, transmission, and response checking of Query API requests. These methods are presented in Query API Implementation” in Chapter 2.

Amazon uses version identifiers to label different versions of their Query APIs. By assigning each API version its own identifier, Amazon can continue to develop and change the APIs without breaking client implementations that use the older versions. In this book, we used the most current EC2 API version available: 2007-08-29.

EC2 Implementation Stub

In this chapter we will gradually build up a complete implementation class called EC2 that you can use to interact with the EC2 service. Example 5-1 defines a basic Ruby code stub that defines the EC2 class, to which we will add API implementation methods as we proceed through the chapter. Save this code to a file named EC2.rb in the same directory as the AWS module file AWS.rb, defined in Chapter 2.

Example 5-1. EC2 class stub: EC2.rb

require 'AWS' class EC2 include AWS # Include the AWS module as a mixin ENDPOINT_URI = URI.parse("https://ec2.amazonaws.com/") API_VERSION = '2007-08-29' SIGNATURE_VERSION = '1' HTTP_METHOD = 'POST' # 'GET' # EC2 ...

Get Programming Amazon Web Services now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.