amazon-ec2 0.3.8 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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>