amazon-ec2 0.3.8 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
6
+
@@ -1,3 +1,6 @@
1
+ === 0.4.0 2009-06-06
2
+ * Using technicalpickles/jeweler to manage gem now. See : http://github.com/technicalpickles/jeweler/tree/master
3
+
1
4
  === 0.3.8 2009-04-16
2
5
  * Applied patch, with updated tests to fix issue with base64 encoded user data (rsanheim).
3
6
  * Applied patch, fixing an issue with EU Signature version 2 creation (delano).
data/README.rdoc CHANGED
@@ -158,7 +158,7 @@ Try out the following bit of code. This should walk through each image returned
158
158
  #!/usr/bin/env ruby
159
159
 
160
160
  require 'rubygems'
161
- require 'ec2'
161
+ require 'EC2'
162
162
 
163
163
  ACCESS_KEY_ID = '--YOUR AWS ACCESS KEY ID--'
164
164
  SECRET_ACCESS_KEY = '--YOUR AWS SECRET ACCESS KEY--'
@@ -306,7 +306,7 @@ EC2 will typically return sets of things (imagesSet, reservationSet, etc.) which
306
306
 
307
307
  * Project Home : http://github.com/grempe/amazon-ec2/tree/master
308
308
  * Discussion Group : http://groups.google.com/group/amazon-ec2
309
- * Report Bugs / Request Features : http://grempe.lighthouseapp.com/projects/10644-amazon-ec2/overview
309
+ * Report Bugs / Request Features : http://github.com/grempe/amazon-ec2/issues
310
310
  * Amazon Web Services : http://aws.amazon.com
311
311
 
312
312
  == Credits
data/Rakefile CHANGED
@@ -1,37 +1,93 @@
1
1
  require 'rubygems'
2
- require 'rake/gempackagetask'
3
- require 'rake/testtask'
4
- require 'rake/rdoctask'
2
+ require 'rake'
5
3
 
6
- # read the contents of the gemspec, eval it, and assign it to 'spec'
7
- # this lets us maintain all gemspec info in one place. Nice and DRY.
8
- spec = eval(IO.read("amazon-ec2.gemspec"))
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "amazon-ec2"
8
+ gem.summary = %Q{Amazon EC2 Ruby Gem}
9
+ gem.description = %Q{An interface library that allows Ruby applications to easily connect to the HTTP 'Query API' for the Amazon Web Services Elastic Compute Cloud (EC2) and manipulate cloud servers.}
10
+ gem.email = "glenn@rempe.us"
11
+ gem.homepage = "http://github.com/grempe/amazon-ec2"
12
+ gem.authors = ["Glenn Rempe"]
13
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
9
14
 
10
- Rake::GemPackageTask.new(spec) do |pkg|
11
- pkg.gem_spec = spec
12
- end
15
+ # gem.autorequire = 'EC2'
16
+ gem.rdoc_options = ["--quiet", "--title", "amazon-ec2 documentation", "--opname", "index.html", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
17
+
18
+ gem.rubyforge_project = 'amazon-ec2'
13
19
 
14
- desc "Package and then install the gem locally"
15
- task :install => [:package] do
16
- sh %{sudo gem install pkg/#{GEM}-#{VER}}
20
+ gem.add_dependency('xml-simple', '>= 1.0.11')
21
+ gem.add_development_dependency('mocha', '>= 0.9.0')
22
+ gem.add_development_dependency('test-spec', '>= 0.9.0')
23
+ gem.add_development_dependency('rcov', '>= 0.8.1.2.0')
24
+
25
+ end
26
+
27
+ rescue LoadError
28
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
17
29
  end
18
30
 
19
- desc "Package and then install the gem locally omitting documentation"
20
- task :install_nodoc => [:package] do
21
- sh %{sudo gem install --no-ri --no-rdoc pkg/#{GEM}-#{VER}}
31
+ require 'rake/testtask'
32
+ Rake::TestTask.new(:test) do |test|
33
+ test.libs << 'lib' << 'test'
34
+ test.pattern = 'test/**/test_*.rb'
35
+ test.verbose = true
22
36
  end
23
37
 
24
- Rake::TestTask.new do |t|
25
- t.libs << "test"
26
- t.test_files = FileList['test/test*.rb']
27
- t.verbose = true
38
+ begin
39
+ require 'rcov/rcovtask'
40
+ Rcov::RcovTask.new do |test|
41
+ test.libs << 'test'
42
+ test.pattern = 'test/**/test_*.rb'
43
+ test.verbose = true
44
+ end
45
+ rescue LoadError
46
+ task :rcov do
47
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
48
+ end
28
49
  end
29
50
 
30
- Rake::RDocTask.new do |rd|
31
- rd.main = "README.rdoc"
32
- rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
33
- rd.rdoc_dir = 'doc'
34
- rd.options = spec.rdoc_options
51
+
52
+ task :default => :test
53
+
54
+ require 'rake/rdoctask'
55
+ Rake::RDocTask.new do |rdoc|
56
+ if File.exist?('VERSION.yml')
57
+ config = YAML.load(File.read('VERSION.yml'))
58
+ version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
59
+ else
60
+ version = ""
61
+ end
62
+
63
+ rdoc.rdoc_dir = 'rdoc'
64
+ rdoc.title = "amazon-ec2 #{version}"
65
+ rdoc.rdoc_files.include('README*')
66
+ rdoc.rdoc_files.include('lib/**/*.rb')
35
67
  end
36
68
 
37
- task :default => :test
69
+ begin
70
+ require 'rake/contrib/sshpublisher'
71
+ namespace :rubyforge do
72
+
73
+ desc "Release gem and RDoc documentation to RubyForge"
74
+ task :release => ["rubyforge:release:gem", "rubyforge:release:docs"]
75
+
76
+ namespace :release do
77
+ desc "Publish RDoc to RubyForge."
78
+ task :docs => [:rdoc] do
79
+ config = YAML.load(
80
+ File.read(File.expand_path('~/.rubyforge/user-config.yml'))
81
+ )
82
+
83
+ host = "#{config['username']}@rubyforge.org"
84
+ remote_dir = "/var/www/gforge-projects/the-perfect-gem/"
85
+ local_dir = 'rdoc'
86
+
87
+ Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
88
+ end
89
+ end
90
+ end
91
+ rescue LoadError
92
+ puts "Rake SshDirPublisher is unavailable or your rubyforge environment is not configured."
93
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.4.0
@@ -0,0 +1,108 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{amazon-ec2}
5
+ s.version = "0.4.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Glenn Rempe"]
9
+ s.date = %q{2009-06-06}
10
+ s.description = %q{An interface library that allows Ruby applications to easily connect to the HTTP 'Query API' for the Amazon Web Services Elastic Compute Cloud (EC2) and manipulate cloud servers.}
11
+ s.email = %q{glenn@rempe.us}
12
+ s.executables = ["ec2-gem-example.rb", "ec2sh", "setup.rb"]
13
+ s.extra_rdoc_files = [
14
+ "ChangeLog",
15
+ "LICENSE",
16
+ "README.rdoc"
17
+ ]
18
+ s.files = [
19
+ ".gitignore",
20
+ "ChangeLog",
21
+ "LICENSE",
22
+ "README.rdoc",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "amazon-ec2.gemspec",
26
+ "bin/ec2-gem-example.rb",
27
+ "bin/ec2sh",
28
+ "bin/setup.rb",
29
+ "lib/EC2.rb",
30
+ "lib/EC2/availability_zones.rb",
31
+ "lib/EC2/console.rb",
32
+ "lib/EC2/elastic_ips.rb",
33
+ "lib/EC2/exceptions.rb",
34
+ "lib/EC2/image_attributes.rb",
35
+ "lib/EC2/images.rb",
36
+ "lib/EC2/instances.rb",
37
+ "lib/EC2/keypairs.rb",
38
+ "lib/EC2/products.rb",
39
+ "lib/EC2/responses.rb",
40
+ "lib/EC2/security_groups.rb",
41
+ "lib/EC2/snapshots.rb",
42
+ "lib/EC2/volumes.rb",
43
+ "test/test_EC2.rb",
44
+ "test/test_EC2_availability_zones.rb",
45
+ "test/test_EC2_console.rb",
46
+ "test/test_EC2_elastic_ips.rb",
47
+ "test/test_EC2_image_attributes.rb",
48
+ "test/test_EC2_images.rb",
49
+ "test/test_EC2_instances.rb",
50
+ "test/test_EC2_keypairs.rb",
51
+ "test/test_EC2_products.rb",
52
+ "test/test_EC2_responses.rb",
53
+ "test/test_EC2_s3_xmlsimple.rb",
54
+ "test/test_EC2_security_groups.rb",
55
+ "test/test_EC2_snapshots.rb",
56
+ "test/test_EC2_volumes.rb",
57
+ "test/test_helper.rb",
58
+ "wsdl/2007-08-29.ec2.wsdl",
59
+ "wsdl/2008-02-01.ec2.wsdl",
60
+ "wsdl/2008-05-05.ec2.wsdl",
61
+ "wsdl/2008-12-01.ec2.wsdl"
62
+ ]
63
+ s.homepage = %q{http://github.com/grempe/amazon-ec2}
64
+ s.rdoc_options = ["--quiet", "--title", "amazon-ec2 documentation", "--opname", "index.html", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
65
+ s.require_paths = ["lib"]
66
+ s.rubyforge_project = %q{amazon-ec2}
67
+ s.rubygems_version = %q{1.3.4}
68
+ s.summary = %q{Amazon EC2 Ruby Gem}
69
+ s.test_files = [
70
+ "test/test_EC2.rb",
71
+ "test/test_EC2_availability_zones.rb",
72
+ "test/test_EC2_console.rb",
73
+ "test/test_EC2_elastic_ips.rb",
74
+ "test/test_EC2_image_attributes.rb",
75
+ "test/test_EC2_images.rb",
76
+ "test/test_EC2_instances.rb",
77
+ "test/test_EC2_keypairs.rb",
78
+ "test/test_EC2_products.rb",
79
+ "test/test_EC2_responses.rb",
80
+ "test/test_EC2_s3_xmlsimple.rb",
81
+ "test/test_EC2_security_groups.rb",
82
+ "test/test_EC2_snapshots.rb",
83
+ "test/test_EC2_volumes.rb",
84
+ "test/test_helper.rb"
85
+ ]
86
+
87
+ if s.respond_to? :specification_version then
88
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
89
+ s.specification_version = 3
90
+
91
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
92
+ s.add_runtime_dependency(%q<xml-simple>, [">= 1.0.11"])
93
+ s.add_development_dependency(%q<mocha>, [">= 0.9.0"])
94
+ s.add_development_dependency(%q<test-spec>, [">= 0.9.0"])
95
+ s.add_development_dependency(%q<rcov>, [">= 0.8.1.2.0"])
96
+ else
97
+ s.add_dependency(%q<xml-simple>, [">= 1.0.11"])
98
+ s.add_dependency(%q<mocha>, [">= 0.9.0"])
99
+ s.add_dependency(%q<test-spec>, [">= 0.9.0"])
100
+ s.add_dependency(%q<rcov>, [">= 0.8.1.2.0"])
101
+ end
102
+ else
103
+ s.add_dependency(%q<xml-simple>, [">= 1.0.11"])
104
+ s.add_dependency(%q<mocha>, [">= 0.9.0"])
105
+ s.add_dependency(%q<test-spec>, [">= 0.9.0"])
106
+ s.add_dependency(%q<rcov>, [">= 0.8.1.2.0"])
107
+ end
108
+ end
data/bin/ec2sh CHANGED
@@ -50,8 +50,8 @@ if ( ENV['AMAZON_ACCESS_KEY_ID'] && ENV['AMAZON_SECRET_ACCESS_KEY'] )
50
50
 
51
51
  returns : an Array of EC2::Response objects, each an EC2 image and its data
52
52
  >> @ec2.describe_images.imagesSet.item
53
- >> @ec2.describe_images.imagesSet.item[0] (an OpenStruct of a single item in that array)
54
- >> @ec2.describe_images.imagesSet.item[0].to_s (a String representation of that OpenStruct item)
53
+ >> @ec2.describe_images.imagesSet.item[0] (a hash representing a single item in that array)
54
+ >> @ec2.describe_images.imagesSet.item[0].to_s (a String representation of that item)
55
55
 
56
56
  MESSAGE
57
57
 
@@ -0,0 +1,1269 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://ec2.amazonaws.com/doc/2007-08-29/"
4
+ targetNamespace="http://ec2.amazonaws.com/doc/2007-08-29/">
5
+
6
+ <types>
7
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
8
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9
+ xmlns:tns="http://ec2.amazonaws.com/doc/2007-08-29/"
10
+ targetNamespace="http://ec2.amazonaws.com/doc/2007-08-29/"
11
+ elementFormDefault="qualified">
12
+
13
+ <xs:annotation>
14
+ <xs:documentation xml:lang="en">
15
+
16
+ </xs:documentation>
17
+ </xs:annotation>
18
+
19
+ <!-- RegisterImage request definitions -->
20
+
21
+ <xs:element name="RegisterImage" type="tns:RegisterImageType"/>
22
+
23
+ <xs:complexType name="RegisterImageType">
24
+ <xs:sequence>
25
+ <xs:element name="imageLocation" type="xs:string"/>
26
+ </xs:sequence>
27
+ </xs:complexType>
28
+
29
+ <!-- RegisterImage response definitions -->
30
+
31
+ <xs:element name="RegisterImageResponse" type="tns:RegisterImageResponseType"/>
32
+ <xs:complexType name="RegisterImageResponseType">
33
+ <xs:sequence>
34
+ <xs:element name="imageId" type="xs:string"/>
35
+ </xs:sequence>
36
+ </xs:complexType>
37
+
38
+ <!-- DeregisterImage request definitions -->
39
+
40
+ <xs:element name="DeregisterImage" type="tns:DeregisterImageType"/>
41
+
42
+ <xs:complexType name="DeregisterImageType">
43
+ <xs:sequence>
44
+ <xs:element name="imageId" type="xs:string"/>
45
+ </xs:sequence>
46
+ </xs:complexType>
47
+
48
+ <!-- DeregisterImage response definitions -->
49
+
50
+ <xs:element name="DeregisterImageResponse" type="tns:DeregisterImageResponseType"/>
51
+
52
+ <xs:complexType name="DeregisterImageResponseType">
53
+ <xs:sequence>
54
+ <xs:element name="return" type="xs:boolean"/>
55
+ </xs:sequence>
56
+ </xs:complexType>
57
+
58
+ <!-- CreateKeyPair request definitions -->
59
+
60
+ <xs:element name="CreateKeyPair" type="tns:CreateKeyPairType"/>
61
+
62
+ <xs:complexType name="CreateKeyPairType">
63
+ <xs:sequence>
64
+ <xs:element name="keyName" type="xs:string"/>
65
+ </xs:sequence>
66
+ </xs:complexType>
67
+
68
+ <!-- CreateKeyPair response definitions -->
69
+
70
+ <xs:element name="CreateKeyPairResponse" type="tns:CreateKeyPairResponseType"/>
71
+
72
+ <xs:complexType name="CreateKeyPairResponseType">
73
+ <xs:sequence>
74
+ <xs:element name="keyName" type="xs:string"/>
75
+ <xs:element name="keyFingerprint" type="xs:string"/>
76
+ <xs:element name="keyMaterial" type="xs:string"/>
77
+ </xs:sequence>
78
+ </xs:complexType>
79
+
80
+ <!-- DeleteKeyPair request definitions -->
81
+
82
+ <xs:element name="DeleteKeyPair" type="tns:DeleteKeyPairType" />
83
+
84
+ <xs:complexType name="DeleteKeyPairType">
85
+ <xs:sequence>
86
+ <xs:element name="keyName" type="xs:string"/>
87
+ </xs:sequence>
88
+ </xs:complexType>
89
+
90
+ <!-- DeleteKeyPair response definitions -->
91
+
92
+ <xs:element name="DeleteKeyPairResponse" type="tns:DeleteKeyPairResponseType"/>
93
+
94
+ <xs:complexType name="DeleteKeyPairResponseType">
95
+ <xs:sequence>
96
+ <xs:element name="return" type="xs:boolean"/>
97
+ </xs:sequence>
98
+ </xs:complexType>
99
+
100
+ <!-- DescribeKeyPairs Request definitions -->
101
+
102
+ <xs:element name="DescribeKeyPairs" type="tns:DescribeKeyPairsType"/>
103
+
104
+ <xs:complexType name="DescribeKeyPairsType">
105
+ <xs:sequence>
106
+ <xs:element name="keySet" type="tns:DescribeKeyPairsInfoType"/>
107
+ </xs:sequence>
108
+ </xs:complexType>
109
+
110
+ <xs:complexType name="DescribeKeyPairsInfoType">
111
+ <xs:sequence>
112
+ <xs:element name="item" type="tns:DescribeKeyPairsItemType" minOccurs="0" maxOccurs="unbounded"/>
113
+ </xs:sequence>
114
+ </xs:complexType>
115
+
116
+ <xs:complexType name="DescribeKeyPairsItemType">
117
+ <xs:sequence>
118
+ <xs:element name="keyName" type="xs:string"/>
119
+ </xs:sequence>
120
+ </xs:complexType>
121
+
122
+ <!-- DescribeKeyPairs Response definitions -->
123
+
124
+ <xs:element name="DescribeKeyPairsResponse" type="tns:DescribeKeyPairsResponseType"/>
125
+
126
+ <xs:complexType name="DescribeKeyPairsResponseType">
127
+ <xs:sequence>
128
+ <xs:element name="keySet" type="tns:DescribeKeyPairsResponseInfoType"/>
129
+ </xs:sequence>
130
+ </xs:complexType>
131
+
132
+ <xs:complexType name="DescribeKeyPairsResponseInfoType">
133
+ <xs:sequence>
134
+ <xs:element name="item" type="tns:DescribeKeyPairsResponseItemType" minOccurs="0" maxOccurs="unbounded"/>
135
+ </xs:sequence>
136
+ </xs:complexType>
137
+
138
+ <xs:complexType name="DescribeKeyPairsResponseItemType">
139
+ <xs:sequence>
140
+ <xs:element name="keyName" type="xs:string" />
141
+ <xs:element name="keyFingerprint" type="xs:string" />
142
+ </xs:sequence>
143
+ </xs:complexType>
144
+
145
+ <!-- RunInstances request definitions -->
146
+
147
+ <xs:element name="RunInstances" type="tns:RunInstancesType"/>
148
+
149
+ <xs:complexType name="RunInstancesType">
150
+ <xs:sequence>
151
+ <xs:element name="imageId" type="xs:string"/>
152
+ <xs:element name="minCount" type="xs:int"/>
153
+ <xs:element name="maxCount" type="xs:int"/>
154
+ <xs:element name="keyName" type="xs:string" minOccurs="0" />
155
+ <xs:element name="groupSet" type="tns:GroupSetType"/>
156
+ <xs:element name="additionalInfo" type="xs:string" minOccurs="0"/>
157
+ <xs:element name="userData" type="tns:UserDataType" minOccurs="0" maxOccurs="1"/>
158
+ <xs:element name="addressingType" type="xs:string" minOccurs="0" maxOccurs="1"/>
159
+ <xs:element name="instanceType" type="xs:string" />
160
+ </xs:sequence>
161
+ </xs:complexType>
162
+
163
+ <xs:complexType name="GroupSetType">
164
+ <xs:sequence>
165
+ <xs:element name="item" type="tns:GroupItemType" minOccurs="0" maxOccurs="unbounded"/>
166
+ </xs:sequence>
167
+ </xs:complexType>
168
+
169
+ <xs:complexType name="GroupItemType">
170
+ <xs:sequence>
171
+ <xs:element name="groupId" type="xs:string"/>
172
+ </xs:sequence>
173
+ </xs:complexType>
174
+
175
+ <xs:complexType name="UserDataType" mixed="true">
176
+ <xs:sequence>
177
+ <xs:element name="data" type="xs:string"/>
178
+ </xs:sequence>
179
+ <xs:attribute name="version" type="xs:string" use="required" fixed="1.0"/>
180
+ <xs:attribute name="encoding" type="xs:string" use="required" fixed="base64"/>
181
+ </xs:complexType>
182
+
183
+ <!-- RunInstances response definitions -->
184
+
185
+ <xs:element name="RunInstancesResponse" type="tns:ReservationInfoType"/>
186
+
187
+ <xs:complexType name="ReservationInfoType">
188
+ <xs:sequence>
189
+ <xs:element name="reservationId" type="xs:string"/>
190
+ <xs:element name="ownerId" type="xs:string"/>
191
+ <xs:element name="groupSet" type="tns:GroupSetType"/>
192
+ <xs:element name="instancesSet" type="tns:RunningInstancesSetType"/>
193
+ </xs:sequence>
194
+ </xs:complexType>
195
+
196
+ <xs:complexType name="RunningInstancesSetType">
197
+ <xs:sequence>
198
+ <xs:element name="item" type="tns:RunningInstancesItemType" minOccurs="1" maxOccurs="unbounded"/>
199
+ </xs:sequence>
200
+ </xs:complexType>
201
+
202
+ <xs:complexType name="RunningInstancesItemType">
203
+ <xs:sequence>
204
+ <xs:element name="instanceId" type="xs:string"/>
205
+ <xs:element name="imageId" type="xs:string"/>
206
+ <xs:element name="instanceState" type="tns:InstanceStateType"/>
207
+ <xs:element name="privateDnsName" type="xs:string"/>
208
+ <xs:element name="dnsName" type="xs:string"/>
209
+ <xs:element name="reason" type="xs:string" minOccurs="0"/>
210
+ <xs:element name="keyName" type="xs:string" minOccurs="0"/>
211
+ <xs:element name="amiLaunchIndex" type="xs:string" minOccurs="0" maxOccurs="1"/>
212
+ <xs:element name="productCodes" type="tns:ProductCodesSetType" minOccurs="0" maxOccurs="1" />
213
+ <xs:element name="instanceType" type="xs:string"/>
214
+ <xs:element name="launchTime" type="xs:dateTime" />
215
+ </xs:sequence>
216
+ </xs:complexType>
217
+
218
+ <!-- GetConsoleOutput request definitions -->
219
+
220
+ <xs:element name="GetConsoleOutput" type="tns:GetConsoleOutputType"/>
221
+
222
+ <xs:complexType name="GetConsoleOutputType">
223
+ <xs:sequence>
224
+ <xs:element name="instanceId" type="xs:string"/>
225
+ </xs:sequence>
226
+ </xs:complexType>
227
+
228
+ <!-- GetConsoleOutput response definitions -->
229
+
230
+ <xs:element name="GetConsoleOutputResponse" type="tns:GetConsoleOutputResponseType"/>
231
+
232
+ <xs:complexType name="GetConsoleOutputResponseType">
233
+ <xs:sequence>
234
+ <xs:element name="instanceId" type="xs:string" />
235
+ <xs:element name="timestamp" type="xs:dateTime" />
236
+ <xs:element name="output" type="xs:string" />
237
+ </xs:sequence>
238
+ </xs:complexType>
239
+
240
+ <!-- TerminateInstances request definitions -->
241
+
242
+ <xs:element name="TerminateInstances" type="tns:TerminateInstancesType"/>
243
+
244
+ <xs:complexType name="TerminateInstancesType">
245
+ <xs:sequence>
246
+ <xs:element name="instancesSet" type="tns:TerminateInstancesInfoType"/>
247
+ </xs:sequence>
248
+ </xs:complexType>
249
+
250
+ <xs:complexType name="TerminateInstancesInfoType">
251
+ <xs:sequence>
252
+ <xs:element name="item" type="tns:TerminateInstancesItemType" minOccurs="1" maxOccurs="unbounded"/>
253
+ </xs:sequence>
254
+ </xs:complexType>
255
+
256
+ <xs:complexType name="TerminateInstancesItemType">
257
+ <xs:sequence>
258
+ <xs:element name="instanceId" type="xs:string"/>
259
+ </xs:sequence>
260
+ </xs:complexType>
261
+
262
+ <!-- TerminateInstances response definitions -->
263
+
264
+ <xs:element name="TerminateInstancesResponse" type="tns:TerminateInstancesResponseType"/>
265
+
266
+ <xs:complexType name="TerminateInstancesResponseType">
267
+ <xs:sequence>
268
+ <xs:element name="instancesSet" type="tns:TerminateInstancesResponseInfoType"/>
269
+ </xs:sequence>
270
+ </xs:complexType>
271
+
272
+ <xs:complexType name="TerminateInstancesResponseInfoType">
273
+ <xs:sequence>
274
+ <xs:element name="item" type="tns:TerminateInstancesResponseItemType" minOccurs="0" maxOccurs="unbounded"/>
275
+ </xs:sequence>
276
+ </xs:complexType>
277
+
278
+ <xs:complexType name="TerminateInstancesResponseItemType">
279
+ <xs:sequence>
280
+ <xs:element name="instanceId" type="xs:string" />
281
+ <xs:element name="shutdownState" type="tns:InstanceStateType" />
282
+ <xs:element name="previousState" type="tns:InstanceStateType" />
283
+ </xs:sequence>
284
+ </xs:complexType>
285
+
286
+ <!-- RebootInstances request definitions -->
287
+ <xs:element name="RebootInstances" type="tns:RebootInstancesType"/>
288
+
289
+ <xs:complexType name="RebootInstancesType">
290
+ <xs:sequence>
291
+ <xs:element name="instancesSet" type="tns:RebootInstancesInfoType"/>
292
+ </xs:sequence>
293
+ </xs:complexType>
294
+
295
+ <xs:complexType name="RebootInstancesInfoType">
296
+ <xs:sequence>
297
+ <xs:element name="item" type="tns:RebootInstancesItemType" minOccurs="1" maxOccurs="unbounded"/>
298
+ </xs:sequence>
299
+ </xs:complexType>
300
+
301
+ <xs:complexType name="RebootInstancesItemType">
302
+ <xs:sequence>
303
+ <xs:element name="instanceId" type="xs:string"/>
304
+ </xs:sequence>
305
+ </xs:complexType>
306
+
307
+ <!-- RebootInstances response definitions -->
308
+
309
+ <xs:element name="RebootInstancesResponse" type="tns:RebootInstancesResponseType"/>
310
+
311
+ <xs:complexType name="RebootInstancesResponseType">
312
+ <xs:sequence>
313
+ <xs:element name="return" type="xs:boolean"/>
314
+ </xs:sequence>
315
+ </xs:complexType>
316
+
317
+ <!-- DescribeInstances Request definitions -->
318
+
319
+ <xs:element name="DescribeInstances" type="tns:DescribeInstancesType"/>
320
+
321
+ <xs:complexType name="DescribeInstancesType">
322
+ <xs:sequence>
323
+ <xs:element name="instancesSet" type="tns:DescribeInstancesInfoType"/>
324
+ </xs:sequence>
325
+ </xs:complexType>
326
+
327
+ <xs:complexType name="DescribeInstancesInfoType">
328
+ <xs:sequence>
329
+ <xs:element name="item" type="tns:DescribeInstancesItemType" minOccurs="0" maxOccurs="unbounded"/>
330
+ </xs:sequence>
331
+ </xs:complexType>
332
+
333
+ <xs:complexType name="DescribeInstancesItemType">
334
+ <xs:sequence>
335
+ <xs:element name="instanceId" type="xs:string" />
336
+ </xs:sequence>
337
+ </xs:complexType>
338
+
339
+ <!-- DescribeInstances Response definitions -->
340
+
341
+ <xs:element name="DescribeInstancesResponse" type="tns:DescribeInstancesResponseType"/>
342
+
343
+ <xs:complexType name="DescribeInstancesResponseType">
344
+ <xs:sequence>
345
+ <xs:element name="reservationSet" type="tns:ReservationSetType"/>
346
+ </xs:sequence>
347
+ </xs:complexType>
348
+
349
+ <xs:complexType name="ReservationSetType">
350
+ <xs:sequence>
351
+ <xs:element name="item" type="tns:ReservationInfoType" minOccurs="0" maxOccurs="unbounded"/>
352
+ </xs:sequence>
353
+ </xs:complexType>
354
+
355
+ <!-- DescribeImages Request definitions -->
356
+
357
+ <xs:element name="DescribeImages" type="tns:DescribeImagesType"/>
358
+
359
+ <xs:complexType name="DescribeImagesType">
360
+ <xs:sequence>
361
+ <xs:element name="executableBySet" type="tns:DescribeImagesExecutableBySetType" minOccurs="0"/>
362
+ <xs:element name="imagesSet" type="tns:DescribeImagesInfoType"/>
363
+ <xs:element name="ownersSet" type="tns:DescribeImagesOwnersType" minOccurs="0"/>
364
+ </xs:sequence>
365
+ </xs:complexType>
366
+
367
+ <xs:complexType name="DescribeImagesInfoType">
368
+ <xs:sequence>
369
+ <xs:element name="item" type="tns:DescribeImagesItemType" minOccurs="0" maxOccurs="unbounded"/>
370
+ </xs:sequence>
371
+ </xs:complexType>
372
+
373
+ <xs:complexType name="DescribeImagesItemType">
374
+ <xs:sequence>
375
+ <xs:element name="imageId" type="xs:string"/>
376
+ </xs:sequence>
377
+ </xs:complexType>
378
+
379
+ <xs:complexType name="DescribeImagesOwnersType">
380
+ <xs:sequence>
381
+ <xs:element name="item" type="tns:DescribeImagesOwnerType" minOccurs="0" maxOccurs="unbounded"/>
382
+ </xs:sequence>
383
+ </xs:complexType>
384
+
385
+ <xs:complexType name="DescribeImagesOwnerType">
386
+ <xs:sequence>
387
+ <xs:element name="owner" type="xs:string"/>
388
+ </xs:sequence>
389
+ </xs:complexType>
390
+
391
+ <xs:complexType name="DescribeImagesExecutableBySetType" >
392
+ <xs:sequence>
393
+ <xs:element name="item" type="tns:DescribeImagesExecutableByType" minOccurs="0" maxOccurs="unbounded"/>
394
+ </xs:sequence>
395
+ </xs:complexType>
396
+
397
+ <xs:complexType name="DescribeImagesExecutableByType" >
398
+ <xs:sequence>
399
+ <xs:element name="user" type="xs:string" />
400
+ </xs:sequence>
401
+ </xs:complexType>
402
+
403
+ <!-- DescribeImages Response definitions -->
404
+
405
+ <xs:element name="DescribeImagesResponse" type="tns:DescribeImagesResponseType"/>
406
+
407
+ <xs:complexType name="DescribeImagesResponseType">
408
+ <xs:sequence>
409
+ <xs:element name="imagesSet" type="tns:DescribeImagesResponseInfoType"/>
410
+ </xs:sequence>
411
+ </xs:complexType>
412
+
413
+ <xs:complexType name="DescribeImagesResponseInfoType">
414
+ <xs:sequence>
415
+ <xs:element name="item" type="tns:DescribeImagesResponseItemType" minOccurs="0" maxOccurs="unbounded"/>
416
+ </xs:sequence>
417
+ </xs:complexType>
418
+
419
+ <xs:complexType name="DescribeImagesResponseItemType">
420
+ <xs:sequence>
421
+ <xs:element name="imageId" type="xs:string" />
422
+ <xs:element name="imageLocation" type="xs:string" />
423
+ <xs:element name="imageState" type="xs:string" />
424
+ <xs:element name="imageOwnerId" type="xs:string" />
425
+ <xs:element name="isPublic" type="xs:boolean" />
426
+ <xs:element name="productCodes" type="tns:ProductCodesSetType" minOccurs="0" />
427
+ </xs:sequence>
428
+ </xs:complexType>
429
+
430
+ <!-- CreateSecurityGroup Request definitions -->
431
+
432
+ <xs:element name="CreateSecurityGroup"
433
+ type="tns:CreateSecurityGroupType"/>
434
+
435
+ <xs:complexType name="CreateSecurityGroupType">
436
+ <xs:sequence>
437
+ <xs:element name="groupName" type="xs:string"/>
438
+ <xs:element name="groupDescription" type="xs:string"/>
439
+ </xs:sequence>
440
+ </xs:complexType>
441
+
442
+ <!-- CreateSecurityGroup Response definitions -->
443
+
444
+ <xs:element name="CreateSecurityGroupResponse"
445
+ type="tns:CreateSecurityGroupResponseType"/>
446
+
447
+ <xs:complexType name="CreateSecurityGroupResponseType">
448
+ <xs:sequence>
449
+ <xs:element name="return" type="xs:boolean"/>
450
+ </xs:sequence>
451
+ </xs:complexType>
452
+
453
+ <!-- DeleteSecurityGroup Request definitions -->
454
+
455
+ <xs:element name="DeleteSecurityGroup"
456
+ type="tns:DeleteSecurityGroupType"/>
457
+
458
+ <xs:complexType name="DeleteSecurityGroupType">
459
+ <xs:sequence>
460
+ <xs:element name="groupName" type="xs:string"/>
461
+ </xs:sequence>
462
+ </xs:complexType>
463
+
464
+ <!-- DeleteSecurityGroup Response definitions -->
465
+
466
+ <xs:element name="DeleteSecurityGroupResponse"
467
+ type="tns:DeleteSecurityGroupResponseType"/>
468
+
469
+ <xs:complexType name="DeleteSecurityGroupResponseType">
470
+ <xs:sequence>
471
+ <xs:element name="return" type="xs:boolean"/>
472
+ </xs:sequence>
473
+ </xs:complexType>
474
+
475
+ <!-- DescribeSecurityGroups Request definitions -->
476
+
477
+ <xs:element name="DescribeSecurityGroups"
478
+ type="tns:DescribeSecurityGroupsType"/>
479
+
480
+ <xs:complexType name="DescribeSecurityGroupsType">
481
+ <xs:sequence>
482
+ <xs:element name="securityGroupSet" type="tns:DescribeSecurityGroupsSetType"/>
483
+ </xs:sequence>
484
+ </xs:complexType>
485
+
486
+ <xs:complexType name="DescribeSecurityGroupsSetType">
487
+ <xs:sequence>
488
+ <xs:element name="item" type="tns:DescribeSecurityGroupsSetItemType"
489
+ minOccurs="0" maxOccurs="unbounded"/>
490
+ </xs:sequence>
491
+ </xs:complexType>
492
+
493
+ <xs:complexType name="DescribeSecurityGroupsSetItemType">
494
+ <xs:sequence>
495
+ <xs:element name="groupName" type="xs:string"/>
496
+ </xs:sequence>
497
+ </xs:complexType>
498
+
499
+ <!-- DescribeSecurityGroups Response definitions -->
500
+
501
+ <xs:element name="DescribeSecurityGroupsResponse"
502
+ type="tns:DescribeSecurityGroupsResponseType"/>
503
+
504
+ <xs:complexType name="DescribeSecurityGroupsResponseType">
505
+ <xs:sequence>
506
+ <xs:element name="securityGroupInfo" type="tns:SecurityGroupSetType"/>
507
+ </xs:sequence>
508
+ </xs:complexType>
509
+
510
+ <xs:complexType name="IpPermissionSetType">
511
+ <xs:sequence>
512
+ <xs:element name="item" type="tns:IpPermissionType"
513
+ minOccurs="0" maxOccurs="unbounded"/>
514
+ </xs:sequence>
515
+ </xs:complexType>
516
+
517
+ <xs:complexType name="IpPermissionType">
518
+ <xs:sequence>
519
+ <xs:element name="ipProtocol" type="xs:string"/>
520
+ <xs:element name="fromPort" type="xs:int"/>
521
+ <xs:element name="toPort" type="xs:int"/>
522
+ <xs:element name="groups" type="tns:UserIdGroupPairSetType"/>
523
+ <xs:element name="ipRanges" type="tns:IpRangeSetType"/>
524
+ </xs:sequence>
525
+ </xs:complexType>
526
+
527
+ <xs:complexType name="IpRangeSetType">
528
+ <xs:sequence>
529
+ <xs:element name="item" type="tns:IpRangeItemType"
530
+ minOccurs="0" maxOccurs="unbounded"/>
531
+ </xs:sequence>
532
+ </xs:complexType>
533
+
534
+ <xs:complexType name="IpRangeItemType">
535
+ <xs:sequence>
536
+ <xs:element name="cidrIp" type="xs:string"/>
537
+ </xs:sequence>
538
+ </xs:complexType>
539
+
540
+ <xs:complexType name="UserIdGroupPairSetType">
541
+ <xs:sequence>
542
+ <xs:element name="item" type="tns:UserIdGroupPairType"
543
+ minOccurs="0" maxOccurs="unbounded"/>
544
+ </xs:sequence>
545
+ </xs:complexType>
546
+
547
+ <xs:complexType name="UserIdGroupPairType">
548
+ <xs:sequence>
549
+ <xs:element name="userId" type="xs:string"/>
550
+ <xs:element name="groupName" type="xs:string"/>
551
+ </xs:sequence>
552
+ </xs:complexType>
553
+
554
+ <xs:complexType name="SecurityGroupSetType">
555
+ <xs:sequence>
556
+ <xs:element name="item" type="tns:SecurityGroupItemType"
557
+ minOccurs="0" maxOccurs="unbounded"/>
558
+ </xs:sequence>
559
+ </xs:complexType>
560
+
561
+ <xs:complexType name="SecurityGroupItemType">
562
+ <xs:sequence>
563
+ <xs:element name="ownerId" type="xs:string"/>
564
+ <xs:element name="groupName" type="xs:string"/>
565
+ <xs:element name="groupDescription" type="xs:string"/>
566
+ <xs:element name="ipPermissions" type="tns:IpPermissionSetType"/>
567
+ </xs:sequence>
568
+ </xs:complexType>
569
+
570
+ <!-- AuthorizeSecurityGroupIngress Request definitions -->
571
+
572
+ <xs:annotation>
573
+ <xs:documentation xml:lang="en">
574
+ This API call should be treated as under development. The current API specification supports a richer
575
+ set of semantics than we intend to retain in future releases, and the details for this call are still under
576
+ review. Semantically, clients can depend on fine grained CIDR based access control (as currently exposed) but
577
+ for group based access control clients should only depend on the ability to control access for an entire
578
+ (user,group) tuple. Fine grained group based access control at the protocol and port or icmp code:type level
579
+ are not guaranteed to be supported in future releases of this API.
580
+ </xs:documentation>
581
+ </xs:annotation>
582
+
583
+ <xs:element name="AuthorizeSecurityGroupIngress"
584
+ type="tns:AuthorizeSecurityGroupIngressType"/>
585
+
586
+ <xs:complexType name="AuthorizeSecurityGroupIngressType">
587
+ <xs:sequence>
588
+ <xs:element name="userId" type="xs:string"/>
589
+ <xs:element name="groupName" type="xs:string"/>
590
+ <xs:element name="ipPermissions" type="tns:IpPermissionSetType"/>
591
+ </xs:sequence>
592
+ </xs:complexType>
593
+
594
+ <!-- AuthorizeSecurityGroupIngress Response definitions -->
595
+
596
+ <xs:element name="AuthorizeSecurityGroupIngressResponse"
597
+ type="tns:AuthorizeSecurityGroupIngressResponseType"/>
598
+
599
+ <xs:complexType name="AuthorizeSecurityGroupIngressResponseType">
600
+ <xs:sequence>
601
+ <xs:element name="return" type="xs:boolean"/>
602
+ </xs:sequence>
603
+ </xs:complexType>
604
+
605
+ <!-- RevokeSecurityGroupIngress Request definitions -->
606
+
607
+ <xs:annotation>
608
+ <xs:documentation xml:lang="en">
609
+ This API call should be treated as under development. The current API specification supports a richer
610
+ set of semantics than we intend to retain in future releases, and the details for this call are still under
611
+ review. Semantically, clients can depend on fine grained CIDR based access control (as currently exposed) but
612
+ for group based access control clients should only depend on the ability to control access for an entire
613
+ (user,group) tuple. Fine grained group based access control at the protocol and port or icmp code:type level
614
+ are not guaranteed to be supported in future releases of this API.
615
+ </xs:documentation>
616
+ </xs:annotation>
617
+
618
+ <xs:element name="RevokeSecurityGroupIngress"
619
+ type="tns:RevokeSecurityGroupIngressType"/>
620
+
621
+ <xs:complexType name="RevokeSecurityGroupIngressType">
622
+ <xs:sequence>
623
+ <xs:element name="userId" type="xs:string"/>
624
+ <xs:element name="groupName" type="xs:string"/>
625
+ <xs:element name="ipPermissions" type="tns:IpPermissionSetType"/>
626
+ </xs:sequence>
627
+ </xs:complexType>
628
+
629
+ <!-- RevokeSecurityGroupIngress Response definitions -->
630
+
631
+ <xs:element name="RevokeSecurityGroupIngressResponse"
632
+ type="tns:RevokeSecurityGroupIngressResponseType"/>
633
+
634
+ <xs:complexType name="RevokeSecurityGroupIngressResponseType">
635
+ <xs:sequence>
636
+ <xs:element name="return" type="xs:boolean"/>
637
+ </xs:sequence>
638
+ </xs:complexType>
639
+
640
+ <!-- Instance state type definition -->
641
+
642
+ <xs:complexType name="InstanceStateType">
643
+ <xs:sequence>
644
+ <xs:element name="code" type="xs:int"/>
645
+ <xs:element name="name" type="xs:string"/>
646
+ </xs:sequence>
647
+ </xs:complexType>
648
+
649
+ <!-- ModifyImageAttribute Definitions -->
650
+
651
+ <xs:element name="ModifyImageAttribute"
652
+ type="tns:ModifyImageAttributeType"/>
653
+
654
+ <xs:complexType name="ModifyImageAttributeType">
655
+ <xs:sequence>
656
+ <xs:element name="imageId" type="xs:string"/>
657
+ <xs:choice>
658
+ <xs:element name="launchPermission" type="tns:LaunchPermissionOperationType"/>
659
+ <xs:element name="productCodes" type="tns:ProductCodeListType" />
660
+ </xs:choice>
661
+ </xs:sequence>
662
+ </xs:complexType>
663
+
664
+ <xs:complexType name="LaunchPermissionOperationType">
665
+ <xs:choice>
666
+ <xs:element name="add" type="tns:LaunchPermissionListType"/>
667
+ <xs:element name="remove" type="tns:LaunchPermissionListType"/>
668
+ </xs:choice>
669
+ </xs:complexType>
670
+
671
+ <xs:complexType name="LaunchPermissionListType">
672
+ <xs:sequence>
673
+ <xs:element name="item" type="tns:LaunchPermissionItemType" minOccurs="0" maxOccurs="unbounded"/>
674
+ </xs:sequence>
675
+ </xs:complexType>
676
+
677
+ <xs:complexType name="LaunchPermissionItemType">
678
+ <xs:choice>
679
+ <xs:element name="userId" type="xs:string"/>
680
+ <xs:element name="group" type="xs:string" />
681
+ </xs:choice>
682
+ </xs:complexType>
683
+
684
+ <xs:complexType name="ProductCodeListType">
685
+ <xs:sequence>
686
+ <xs:element name="item" type="tns:ProductCodeItemType" minOccurs="0" maxOccurs="unbounded"/>
687
+ </xs:sequence>
688
+ </xs:complexType>
689
+
690
+ <xs:complexType name="ProductCodeItemType">
691
+ <xs:choice>
692
+ <xs:element name="productCode" type="xs:string"/>
693
+ </xs:choice>
694
+ </xs:complexType>
695
+
696
+ <!-- ModifyImageAttributeResponse Definitions -->
697
+
698
+ <xs:element name="ModifyImageAttributeResponse"
699
+ type="tns:ModifyImageAttributeResponseType" />
700
+
701
+ <xs:complexType name="ModifyImageAttributeResponseType">
702
+ <xs:sequence>
703
+ <xs:element name="return" type="xs:boolean"/>
704
+ </xs:sequence>
705
+ </xs:complexType>
706
+
707
+ <!-- ResetImageAttribute Definitions -->
708
+
709
+ <xs:element name="ResetImageAttribute"
710
+ type="tns:ResetImageAttributeType" />
711
+
712
+ <xs:complexType name="ResetImageAttributeType" >
713
+ <xs:sequence>
714
+ <xs:element name="imageId" type="xs:string"/>
715
+ <xs:group ref="tns:ResetImageAttributesGroup"/>
716
+ </xs:sequence>
717
+ </xs:complexType>
718
+
719
+ <xs:group name="ResetImageAttributesGroup" >
720
+ <xs:choice>
721
+ <xs:element name="launchPermission" type="tns:EmptyElementType"/>
722
+ </xs:choice>
723
+ </xs:group>
724
+
725
+ <xs:complexType name="EmptyElementType">
726
+ </xs:complexType>
727
+
728
+ <!-- ResetImageAttributeResponse Definitions -->
729
+
730
+ <xs:element name="ResetImageAttributeResponse"
731
+ type="tns:ResetImageAttributeResponseType" />
732
+
733
+ <xs:complexType name="ResetImageAttributeResponseType">
734
+ <xs:sequence>
735
+ <xs:element name="return" type="xs:boolean" />
736
+ </xs:sequence>
737
+ </xs:complexType>
738
+
739
+ <!-- DescribeImageAttribute Definitions -->
740
+
741
+ <xs:element name="DescribeImageAttribute"
742
+ type="tns:DescribeImageAttributeType" />
743
+
744
+ <xs:complexType name="DescribeImageAttributeType">
745
+ <xs:sequence>
746
+ <xs:element name="imageId" type="xs:string" />
747
+ <xs:group ref="tns:DescribeImageAttributesGroup" />
748
+ </xs:sequence>
749
+ </xs:complexType>
750
+
751
+ <xs:group name="DescribeImageAttributesGroup" >
752
+ <xs:choice>
753
+ <xs:element name="launchPermission" type="tns:EmptyElementType"/>
754
+ <xs:element name="productCodes" type="tns:EmptyElementType" />
755
+ </xs:choice>
756
+ </xs:group>
757
+
758
+ <!-- DescribeImageAttributeResponse Definitions -->
759
+
760
+ <xs:element name="DescribeImageAttributeResponse"
761
+ type="tns:DescribeImageAttributeResponseType" />
762
+
763
+ <xs:complexType name="DescribeImageAttributeResponseType">
764
+ <xs:sequence>
765
+ <xs:element name="imageId" type="xs:string" />
766
+ <xs:choice>
767
+ <xs:element name="launchPermission" type="tns:LaunchPermissionListType"/>
768
+ <xs:element name="productCodes" type="tns:ProductCodeListType" />
769
+ </xs:choice>
770
+ </xs:sequence>
771
+ </xs:complexType>
772
+
773
+ <!-- ConfirmProductInstance Definitions -->
774
+
775
+ <xs:element name="ConfirmProductInstance"
776
+ type="tns:ConfirmProductInstanceType" />
777
+
778
+ <xs:complexType name="ConfirmProductInstanceType" >
779
+ <xs:sequence>
780
+ <xs:element name="productCode" type="xs:string" />
781
+ <xs:element name="instanceId" type="xs:string"/>
782
+ </xs:sequence>
783
+ </xs:complexType>
784
+
785
+ <xs:complexType name="ProductCodesSetType" >
786
+ <xs:sequence>
787
+ <xs:element name="item" type="tns:ProductCodesSetItemType" minOccurs="0" maxOccurs="unbounded" />
788
+ </xs:sequence>
789
+ </xs:complexType>
790
+
791
+ <xs:complexType name="ProductCodesSetItemType" >
792
+ <xs:sequence>
793
+ <xs:element name="productCode" type="xs:string" />
794
+ </xs:sequence>
795
+ </xs:complexType>
796
+
797
+ <!-- ConfirmProductInstanceResponse Definitions -->
798
+
799
+ <xs:element name="ConfirmProductInstanceResponse"
800
+ type="tns:ConfirmProductInstanceResponseType" />
801
+
802
+ <xs:complexType name="ConfirmProductInstanceResponseType">
803
+ <xs:sequence>
804
+ <xs:element name="return" type="xs:boolean" />
805
+ <xs:element name="ownerId" type="xs:string" minOccurs="0" />
806
+ </xs:sequence>
807
+ </xs:complexType>
808
+
809
+ </xs:schema>
810
+ </types>
811
+
812
+ <!-- message definitions -->
813
+
814
+ <message name="RegisterImageRequestMsg">
815
+ <part name="RegisterImageRequestMsgReq" element="tns:RegisterImage" />
816
+ </message>
817
+
818
+ <message name="RegisterImageResponseMsg">
819
+ <part name="RegisterImageResponseMsgResp" element="tns:RegisterImageResponse" />
820
+ </message>
821
+
822
+ <message name="DeregisterImageRequestMsg">
823
+ <part name="DeregisterImageRequestMsgReq" element="tns:DeregisterImage" />
824
+ </message>
825
+
826
+ <message name="DeregisterImageResponseMsg">
827
+ <part name="DeregisterImageResponseMsgResp" element="tns:DeregisterImageResponse" />
828
+ </message>
829
+
830
+ <message name="RunInstancesRequestMsg">
831
+ <part name="RunInstancesRequestMsgReq" element="tns:RunInstances" />
832
+ </message>
833
+
834
+ <message name="RunInstancesResponseMsg">
835
+ <part name="RunInstancesResponseMsgResp" element="tns:RunInstancesResponse" />
836
+ </message>
837
+
838
+ <message name="CreateKeyPairRequestMsg">
839
+ <part name="CreateKeyPairRequestMsgReq" element="tns:CreateKeyPair" />
840
+ </message>
841
+
842
+ <message name="CreateKeyPairResponseMsg">
843
+ <part name="CreateKeyPairResponseMsgResp" element="tns:CreateKeyPairResponse" />
844
+ </message>
845
+
846
+ <message name="DescribeKeyPairsRequestMsg">
847
+ <part name="DescribeKeyPairsRequestMsgReq" element="tns:DescribeKeyPairs" />
848
+ </message>
849
+
850
+ <message name="DescribeKeyPairsResponseMsg">
851
+ <part name="DescribeKeyPairsResponseMsgResp" element="tns:DescribeKeyPairsResponse" />
852
+ </message>
853
+
854
+ <message name="DeleteKeyPairRequestMsg">
855
+ <part name="DeleteKeyPairRequestMsgReq" element="tns:DeleteKeyPair" />
856
+ </message>
857
+
858
+ <message name="DeleteKeyPairResponseMsg">
859
+ <part name="DeleteKeyPairResponseMsgResp" element="tns:DeleteKeyPairResponse" />
860
+ </message>
861
+
862
+ <message name="GetConsoleOutputRequestMsg">
863
+ <part name="GetConsoleOutputRequestMsgReq" element="tns:GetConsoleOutput" />
864
+ </message>
865
+
866
+ <message name="GetConsoleOutputResponseMsg">
867
+ <part name="GetConsoleOutputResponseMsgResp" element="tns:GetConsoleOutputResponse" />
868
+ </message>
869
+
870
+ <message name="TerminateInstancesRequestMsg">
871
+ <part name="TerminateInstancesRequestMsgReq" element="tns:TerminateInstances" />
872
+ </message>
873
+
874
+ <message name="TerminateInstancesResponseMsg">
875
+ <part name="TerminateInstancesResponseMsgResp" element="tns:TerminateInstancesResponse" />
876
+ </message>
877
+
878
+ <message name="RebootInstancesRequestMsg">
879
+ <part name="RebootInstancesRequestMsgReq" element="tns:RebootInstances" />
880
+ </message>
881
+
882
+ <message name="RebootInstancesResponseMsg">
883
+ <part name="RebootInstancesRequestMsgResp" element="tns:RebootInstancesResponse" />
884
+ </message>
885
+
886
+ <message name="DescribeInstancesRequestMsg">
887
+ <part name="DescribeInstancesRequestMsgReq" element="tns:DescribeInstances" />
888
+ </message>
889
+
890
+ <message name="DescribeInstancesResponseMsg">
891
+ <part name="DescribeInstancesRequestMsgResp" element="tns:DescribeInstancesResponse" />
892
+ </message>
893
+
894
+ <message name="DescribeImagesRequestMsg">
895
+ <part name="DescribeImagesRequestMsgReq" element="tns:DescribeImages" />
896
+ </message>
897
+
898
+ <message name="DescribeImagesResponseMsg">
899
+ <part name="DescribeImagesRequestMsgResp" element="tns:DescribeImagesResponse" />
900
+ </message>
901
+
902
+ <message name="CreateSecurityGroupRequestMsg">
903
+ <part name="CreateSecurityGroupRequestMsgReq" element="tns:CreateSecurityGroup" />
904
+ </message>
905
+
906
+ <message name="CreateSecurityGroupResponseMsg">
907
+ <part name="CreateSecurityGroupRequestMsgResp" element="tns:CreateSecurityGroupResponse" />
908
+ </message>
909
+
910
+ <message name="DeleteSecurityGroupRequestMsg">
911
+ <part name="DeleteSecurityGroupRequestMsgReq" element="tns:DeleteSecurityGroup" />
912
+ </message>
913
+
914
+ <message name="DeleteSecurityGroupResponseMsg">
915
+ <part name="DeleteSecurityGroupRequestMsgResp" element="tns:DeleteSecurityGroupResponse" />
916
+ </message>
917
+
918
+ <message name="DescribeSecurityGroupsRequestMsg">
919
+ <part name="DescribeSecurityGroupsRequestMsgReq" element="tns:DescribeSecurityGroups" />
920
+ </message>
921
+
922
+ <message name="DescribeSecurityGroupsResponseMsg">
923
+ <part name="DescribeSecurityGroupsRequestMsgResp" element="tns:DescribeSecurityGroupsResponse" />
924
+ </message>
925
+
926
+ <message name="AuthorizeSecurityGroupIngressRequestMsg">
927
+ <part name="AuthorizeSecurityGroupIngressRequestMsgReq" element="tns:AuthorizeSecurityGroupIngress" />
928
+ </message>
929
+
930
+ <message name="AuthorizeSecurityGroupIngressResponseMsg">
931
+ <part name="AuthorizeSecurityGroupIngressRequestMsgResp" element="tns:AuthorizeSecurityGroupIngressResponse" />
932
+ </message>
933
+
934
+ <message name="RevokeSecurityGroupIngressRequestMsg">
935
+ <part name="RevokeSecurityGroupIngressRequestMsgReq" element="tns:RevokeSecurityGroupIngress" />
936
+ </message>
937
+
938
+ <message name="RevokeSecurityGroupIngressResponseMsg">
939
+ <part name="RevokeSecurityGroupIngressRequestMsgResp" element="tns:RevokeSecurityGroupIngressResponse" />
940
+ </message>
941
+
942
+ <message name="ModifyImageAttributeRequestMsg">
943
+ <part name="ModifyImageAttributeRequestMsgReq" element="tns:ModifyImageAttribute" />
944
+ </message>
945
+
946
+ <message name="ModifyImageAttributeResponseMsg">
947
+ <part name="ModifyImageAttributeRequestMsgResp" element="tns:ModifyImageAttributeResponse" />
948
+ </message>
949
+
950
+ <message name="ResetImageAttributeRequestMsg">
951
+ <part name="ResetImageAttributeRequestMsgReq" element="tns:ResetImageAttribute" />
952
+ </message>
953
+
954
+ <message name="ResetImageAttributeResponseMsg">
955
+ <part name="ResetImageAttributeRequestMsgResp" element="tns:ResetImageAttributeResponse" />
956
+ </message>
957
+
958
+ <message name="DescribeImageAttributeRequestMsg">
959
+ <part name="DescribeImageAttributeRequestMsgReq" element="tns:DescribeImageAttribute" />
960
+ </message>
961
+
962
+ <message name="DescribeImageAttributeResponseMsg">
963
+ <part name="DescribeImageAttributeRequestMsgResp" element="tns:DescribeImageAttributeResponse"/>
964
+ </message>
965
+
966
+ <message name="ConfirmProductInstanceRequestMsg">
967
+ <part name="ConfirmProductInstanceRequestMsgReq" element="tns:ConfirmProductInstance"/>
968
+ </message>
969
+
970
+ <message name="ConfirmProductInstanceResponseMsg">
971
+ <part name="ConfirmProductInstanceRequestMsgResp" element="tns:ConfirmProductInstanceResponse"/>
972
+ </message>
973
+
974
+ <portType name="AmazonEC2PortType">
975
+ <operation name="RegisterImage">
976
+ <input message="tns:RegisterImageRequestMsg" />
977
+ <output message="tns:RegisterImageResponseMsg" />
978
+ </operation>
979
+ <operation name="DeregisterImage">
980
+ <input message="tns:DeregisterImageRequestMsg" />
981
+ <output message="tns:DeregisterImageResponseMsg" />
982
+ </operation>
983
+ <operation name="RunInstances">
984
+ <input message="tns:RunInstancesRequestMsg" />
985
+ <output message="tns:RunInstancesResponseMsg" />
986
+ </operation>
987
+ <operation name="CreateKeyPair">
988
+ <input message="tns:CreateKeyPairRequestMsg" />
989
+ <output message="tns:CreateKeyPairResponseMsg" />
990
+ </operation>
991
+ <operation name="DescribeKeyPairs">
992
+ <input message="tns:DescribeKeyPairsRequestMsg" />
993
+ <output message="tns:DescribeKeyPairsResponseMsg" />
994
+ </operation>
995
+ <operation name="DeleteKeyPair">
996
+ <input message="tns:DeleteKeyPairRequestMsg" />
997
+ <output message="tns:DeleteKeyPairResponseMsg" />
998
+ </operation>
999
+ <operation name="GetConsoleOutput">
1000
+ <input message="tns:GetConsoleOutputRequestMsg" />
1001
+ <output message="tns:GetConsoleOutputResponseMsg" />
1002
+ </operation>
1003
+ <operation name="TerminateInstances">
1004
+ <input message="tns:TerminateInstancesRequestMsg" />
1005
+ <output message="tns:TerminateInstancesResponseMsg" />
1006
+ </operation>
1007
+ <operation name="RebootInstances">
1008
+ <input message="tns:RebootInstancesRequestMsg" />
1009
+ <output message="tns:RebootInstancesResponseMsg" />
1010
+ </operation>
1011
+ <operation name="DescribeInstances">
1012
+ <input message="tns:DescribeInstancesRequestMsg" />
1013
+ <output message="tns:DescribeInstancesResponseMsg" />
1014
+ </operation>
1015
+ <operation name="DescribeImages">
1016
+ <input message="tns:DescribeImagesRequestMsg" />
1017
+ <output message="tns:DescribeImagesResponseMsg" />
1018
+ </operation>
1019
+ <operation name="CreateSecurityGroup">
1020
+ <input message="tns:CreateSecurityGroupRequestMsg" />
1021
+ <output message="tns:CreateSecurityGroupResponseMsg" />
1022
+ </operation>
1023
+ <operation name="DeleteSecurityGroup">
1024
+ <input message="tns:DeleteSecurityGroupRequestMsg" />
1025
+ <output message="tns:DeleteSecurityGroupResponseMsg" />
1026
+ </operation>
1027
+ <operation name="DescribeSecurityGroups">
1028
+ <input message="tns:DescribeSecurityGroupsRequestMsg" />
1029
+ <output message="tns:DescribeSecurityGroupsResponseMsg" />
1030
+ </operation>
1031
+ <operation name="AuthorizeSecurityGroupIngress">
1032
+ <input message="tns:AuthorizeSecurityGroupIngressRequestMsg" />
1033
+ <output message="tns:AuthorizeSecurityGroupIngressResponseMsg" />
1034
+ </operation>
1035
+ <operation name="RevokeSecurityGroupIngress">
1036
+ <input message="tns:RevokeSecurityGroupIngressRequestMsg" />
1037
+ <output message="tns:RevokeSecurityGroupIngressResponseMsg" />
1038
+ </operation>
1039
+ <operation name="ModifyImageAttribute">
1040
+ <input message="tns:ModifyImageAttributeRequestMsg"/>
1041
+ <output message="tns:ModifyImageAttributeResponseMsg"/>
1042
+ </operation>
1043
+ <operation name="ResetImageAttribute">
1044
+ <input message="tns:ResetImageAttributeRequestMsg"/>
1045
+ <output message="tns:ResetImageAttributeResponseMsg"/>
1046
+ </operation>
1047
+ <operation name="DescribeImageAttribute">
1048
+ <input message="tns:DescribeImageAttributeRequestMsg"/>
1049
+ <output message="tns:DescribeImageAttributeResponseMsg"/>
1050
+ </operation>
1051
+ <operation name="ConfirmProductInstance">
1052
+ <input message="tns:ConfirmProductInstanceRequestMsg"/>
1053
+ <output message="tns:ConfirmProductInstanceResponseMsg"/>
1054
+ </operation>
1055
+ </portType>
1056
+
1057
+ <binding name="AmazonEC2Binding" type="tns:AmazonEC2PortType">
1058
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
1059
+
1060
+ <operation name="RegisterImage">
1061
+ <soap:operation soapAction="RegisterImage" />
1062
+ <input>
1063
+ <soap:body use="literal" />
1064
+ </input>
1065
+ <output>
1066
+ <soap:body use="literal" />
1067
+ </output>
1068
+ </operation>
1069
+
1070
+ <operation name="DeregisterImage">
1071
+ <soap:operation soapAction="DeregisterImage" />
1072
+ <input>
1073
+ <soap:body use="literal" />
1074
+ </input>
1075
+ <output>
1076
+ <soap:body use="literal" />
1077
+ </output>
1078
+ </operation>
1079
+
1080
+ <operation name="CreateKeyPair">
1081
+ <soap:operation soapAction="CreateKeyPair" />
1082
+ <input>
1083
+ <soap:body use="literal" />
1084
+ </input>
1085
+ <output>
1086
+ <soap:body use="literal" />
1087
+ </output>
1088
+ </operation>
1089
+
1090
+ <operation name="DescribeKeyPairs">
1091
+ <soap:operation soapAction="DescribeKeyPairs" />
1092
+ <input>
1093
+ <soap:body use="literal" />
1094
+ </input>
1095
+ <output>
1096
+ <soap:body use="literal" />
1097
+ </output>
1098
+ </operation>
1099
+
1100
+ <operation name="DeleteKeyPair">
1101
+ <soap:operation soapAction="DeleteKeyPair" />
1102
+ <input>
1103
+ <soap:body use="literal" />
1104
+ </input>
1105
+ <output>
1106
+ <soap:body use="literal" />
1107
+ </output>
1108
+ </operation>
1109
+
1110
+ <operation name="RunInstances">
1111
+ <soap:operation soapAction="RunInstances" />
1112
+ <input>
1113
+ <soap:body use="literal" />
1114
+ </input>
1115
+ <output>
1116
+ <soap:body use="literal" />
1117
+ </output>
1118
+ </operation>
1119
+
1120
+ <operation name="GetConsoleOutput">
1121
+ <soap:operation soapAction="GetConsoleOutput" />
1122
+ <input>
1123
+ <soap:body use="literal" />
1124
+ </input>
1125
+ <output>
1126
+ <soap:body use="literal" />
1127
+ </output>
1128
+ </operation>
1129
+
1130
+ <operation name="TerminateInstances">
1131
+ <soap:operation soapAction="TerminateInstances" />
1132
+ <input>
1133
+ <soap:body use="literal" />
1134
+ </input>
1135
+ <output>
1136
+ <soap:body use="literal" />
1137
+ </output>
1138
+ </operation>
1139
+
1140
+ <operation name="RebootInstances">
1141
+ <soap:operation soapAction="RebootInstances" />
1142
+ <input>
1143
+ <soap:body use="literal" />
1144
+ </input>
1145
+ <output>
1146
+ <soap:body use="literal" />
1147
+ </output>
1148
+ </operation>
1149
+
1150
+ <operation name="DescribeInstances">
1151
+ <soap:operation soapAction="DescribeInstances" />
1152
+ <input>
1153
+ <soap:body use="literal" />
1154
+ </input>
1155
+ <output>
1156
+ <soap:body use="literal" />
1157
+ </output>
1158
+ </operation>
1159
+
1160
+ <operation name="DescribeImages">
1161
+ <soap:operation soapAction="DescribeImages" />
1162
+ <input>
1163
+ <soap:body use="literal" />
1164
+ </input>
1165
+ <output>
1166
+ <soap:body use="literal" />
1167
+ </output>
1168
+ </operation>
1169
+
1170
+ <operation name="CreateSecurityGroup">
1171
+ <soap:operation soapAction="CreateSecurityGroup" />
1172
+ <input>
1173
+ <soap:body use="literal" />
1174
+ </input>
1175
+ <output>
1176
+ <soap:body use="literal" />
1177
+ </output>
1178
+ </operation>
1179
+
1180
+
1181
+ <operation name="DeleteSecurityGroup">
1182
+ <soap:operation soapAction="DeleteSecurityGroup" />
1183
+ <input>
1184
+ <soap:body use="literal" />
1185
+ </input>
1186
+ <output>
1187
+ <soap:body use="literal" />
1188
+ </output>
1189
+ </operation>
1190
+
1191
+ <operation name="DescribeSecurityGroups">
1192
+ <soap:operation soapAction="DescribeSecurityGroups" />
1193
+ <input>
1194
+ <soap:body use="literal" />
1195
+ </input>
1196
+ <output>
1197
+ <soap:body use="literal" />
1198
+ </output>
1199
+ </operation>
1200
+
1201
+ <operation name="AuthorizeSecurityGroupIngress">
1202
+ <soap:operation soapAction="AuthorizeSecurityGroupIngress" />
1203
+ <input>
1204
+ <soap:body use="literal" />
1205
+ </input>
1206
+ <output>
1207
+ <soap:body use="literal" />
1208
+ </output>
1209
+ </operation>
1210
+
1211
+ <operation name="RevokeSecurityGroupIngress">
1212
+ <soap:operation soapAction="RevokeSecurityGroupIngress" />
1213
+ <input>
1214
+ <soap:body use="literal" />
1215
+ </input>
1216
+ <output>
1217
+ <soap:body use="literal" />
1218
+ </output>
1219
+ </operation>
1220
+
1221
+ <operation name="ModifyImageAttribute">
1222
+ <soap:operation soapAction="ModifyImageAttribute" />
1223
+ <input>
1224
+ <soap:body use="literal"/>
1225
+ </input>
1226
+ <output>
1227
+ <soap:body use="literal"/>
1228
+ </output>
1229
+ </operation>
1230
+
1231
+ <operation name="ResetImageAttribute">
1232
+ <soap:operation soapAction="ResetImageAttribute" />
1233
+ <input>
1234
+ <soap:body use="literal"/>
1235
+ </input>
1236
+ <output>
1237
+ <soap:body use="literal"/>
1238
+ </output>
1239
+ </operation>
1240
+
1241
+ <operation name="DescribeImageAttribute">
1242
+ <soap:operation soapAction="DescribeImageAttribute" />
1243
+ <input>
1244
+ <soap:body use="literal"/>
1245
+ </input>
1246
+ <output>
1247
+ <soap:body use="literal"/>
1248
+ </output>
1249
+ </operation>
1250
+
1251
+ <operation name="ConfirmProductInstance">
1252
+ <soap:operation soapAction="ConfirmProductInstance" />
1253
+ <input>
1254
+ <soap:body use="literal"/>
1255
+ </input>
1256
+ <output>
1257
+ <soap:body use="literal"/>
1258
+ </output>
1259
+ </operation>
1260
+
1261
+ </binding>
1262
+
1263
+ <service name="AmazonEC2">
1264
+ <port name="AmazonEC2Port" binding="tns:AmazonEC2Binding">
1265
+ <soap:address location="https://ec2.amazonaws.com/" />
1266
+ </port>
1267
+ </service>
1268
+
1269
+ </definitions>