nirvdrum-amazon-ec2 0.7.9

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.
Files changed (69) hide show
  1. data/.gitignore +9 -0
  2. data/.yardopts +1 -0
  3. data/ChangeLog +304 -0
  4. data/LICENSE +66 -0
  5. data/README.rdoc +359 -0
  6. data/README_dev.rdoc +10 -0
  7. data/Rakefile +70 -0
  8. data/VERSION +1 -0
  9. data/amazon-ec2.gemspec +142 -0
  10. data/bin/ec2-gem-example.rb +137 -0
  11. data/bin/ec2-gem-profile.rb +10 -0
  12. data/bin/ec2sh +62 -0
  13. data/bin/setup.rb +29 -0
  14. data/deps.rip +1 -0
  15. data/lib/AWS.rb +321 -0
  16. data/lib/AWS/Autoscaling.rb +70 -0
  17. data/lib/AWS/Autoscaling/autoscaling.rb +273 -0
  18. data/lib/AWS/Cloudwatch.rb +32 -0
  19. data/lib/AWS/Cloudwatch/monitoring.rb +80 -0
  20. data/lib/AWS/EC2.rb +33 -0
  21. data/lib/AWS/EC2/availability_zones.rb +29 -0
  22. data/lib/AWS/EC2/console.rb +25 -0
  23. data/lib/AWS/EC2/devpay.rb +18 -0
  24. data/lib/AWS/EC2/elastic_ips.rb +86 -0
  25. data/lib/AWS/EC2/image_attributes.rb +133 -0
  26. data/lib/AWS/EC2/images.rb +117 -0
  27. data/lib/AWS/EC2/instances.rb +234 -0
  28. data/lib/AWS/EC2/keypairs.rb +47 -0
  29. data/lib/AWS/EC2/products.rb +21 -0
  30. data/lib/AWS/EC2/security_groups.rb +164 -0
  31. data/lib/AWS/EC2/snapshots.rb +102 -0
  32. data/lib/AWS/EC2/spot_instance_requests.rb +105 -0
  33. data/lib/AWS/EC2/volumes.rb +100 -0
  34. data/lib/AWS/ELB.rb +71 -0
  35. data/lib/AWS/ELB/load_balancers.rb +178 -0
  36. data/lib/AWS/RDS.rb +73 -0
  37. data/lib/AWS/RDS/rds.rb +522 -0
  38. data/lib/AWS/exceptions.rb +200 -0
  39. data/lib/AWS/responses.rb +21 -0
  40. data/perftools/ec2prof +0 -0
  41. data/perftools/ec2prof-results.dot +132 -0
  42. data/perftools/ec2prof-results.txt +100 -0
  43. data/perftools/ec2prof.symbols +102 -0
  44. data/test/test_Autoscaling_groups.rb +337 -0
  45. data/test/test_EC2.rb +68 -0
  46. data/test/test_EC2_availability_zones.rb +49 -0
  47. data/test/test_EC2_console.rb +54 -0
  48. data/test/test_EC2_elastic_ips.rb +144 -0
  49. data/test/test_EC2_image_attributes.rb +238 -0
  50. data/test/test_EC2_images.rb +229 -0
  51. data/test/test_EC2_instances.rb +611 -0
  52. data/test/test_EC2_keypairs.rb +123 -0
  53. data/test/test_EC2_products.rb +48 -0
  54. data/test/test_EC2_responses.rb +53 -0
  55. data/test/test_EC2_s3_xmlsimple.rb +80 -0
  56. data/test/test_EC2_security_groups.rb +205 -0
  57. data/test/test_EC2_snapshots.rb +83 -0
  58. data/test/test_EC2_spot_instance_requests.rb +178 -0
  59. data/test/test_EC2_volumes.rb +142 -0
  60. data/test/test_ELB_load_balancers.rb +239 -0
  61. data/test/test_RDS.rb +354 -0
  62. data/test/test_helper.rb +23 -0
  63. data/wsdl/2007-08-29.ec2.wsdl +1269 -0
  64. data/wsdl/2008-02-01.ec2.wsdl +1614 -0
  65. data/wsdl/2008-05-05.ec2.wsdl +2052 -0
  66. data/wsdl/2008-12-01.ec2.wsdl +2354 -0
  67. data/wsdl/2009-10-31.ec2.wsdl +4261 -0
  68. data/wsdl/2009-11-30.ec2.wsdl +4668 -0
  69. metadata +199 -0
@@ -0,0 +1,354 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ context "rds databases " do
4
+ before do
5
+ @rds = AWS::RDS::Base.new( :access_key_id => "not a key", :secret_access_key => "not a secret" )
6
+
7
+ @create_db_instance_body = <<-RESPONSE
8
+ <CreateDBInstanceResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
9
+ <CreateDBInstanceResult>
10
+ <DBInstance>
11
+ <Engine>MySQL5.1</Engine>
12
+ <BackupRetentionPeriod>1</BackupRetentionPeriod>
13
+ <DBInstanceStatus>creating</DBInstanceStatus>
14
+ <DBInstanceIdentifier>mydbinstance</DBInstanceIdentifier>
15
+ <PreferredBackupWindow>03:00-05:00</PreferredBackupWindow>
16
+ <DBSecurityGroups>
17
+ <DBSecurityGroup>
18
+ <Status>active</Status>
19
+ <DBSecurityGroupName>default</DBSecurityGroupName>
20
+ </DBSecurityGroup>
21
+ </DBSecurityGroups>
22
+ <PreferredMaintenanceWindow>sun:05:00-sun:09:00</PreferredMaintenanceWindow>
23
+ <AllocatedStorage>10</AllocatedStorage>
24
+ <DBInstanceClass>db.m1.large</DBInstanceClass>
25
+ <MasterUsername>master</MasterUsername>
26
+ </DBInstance>
27
+ </CreateDBInstanceResult>
28
+ <ResponseMetadata>
29
+ <RequestId>e6fb58c5-bf34-11de-b88d-993294bf1c81</RequestId>
30
+ </ResponseMetadata>
31
+ </CreateDBInstanceResponse>
32
+ RESPONSE
33
+ @create_db_security_group = <<-RESPONSE
34
+ <CreateDBSecurityGroupResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
35
+ <CreateDBSecurityGroupResult>
36
+ <DBSecurityGroup>
37
+ <EC2SecurityGroups/>
38
+ <DBSecurityGroupDescription>My new DBSecurityGroup</DBSecurityGroupDescription>
39
+ <IPRanges/>
40
+ <OwnerId>621567473609</OwnerId>
41
+ <DBSecurityGroupName>mydbsecuritygroup4</DBSecurityGroupName>
42
+ </DBSecurityGroup>
43
+ </CreateDBSecurityGroupResult>
44
+ <ResponseMetadata>
45
+ <RequestId>c9cf9ff2-bf36-11de-b88d-993294bf1c81</RequestId>
46
+ </ResponseMetadata>
47
+ </CreateDBSecurityGroupResponse>
48
+ RESPONSE
49
+ end
50
+
51
+ specify "should be able to be create a db_instance" do
52
+ @rds.stubs(:make_request).with('CreateDBInstance', {'Engine' => 'MySQL5.1',
53
+ 'MasterUsername' => 'master',
54
+ 'DBInstanceClass' => 'db.m1.large',
55
+ 'DBInstanceIdentifier' => 'testdb',
56
+ 'AllocatedStorage' => '10',
57
+ 'MasterUserPassword' => 'SecretPassword01'}).
58
+ returns stub(:body => @create_db_instance_body, :is_a? => true)
59
+ response = @rds.create_db_instance(
60
+ :db_instance_class => "db.m1.large",
61
+ :db_instance_identifier=>"testdb",
62
+ :allocated_storage => 10,
63
+ :engine => "MySQL5.1",
64
+ :master_user_password => "SecretPassword01",
65
+ :master_username => "master"
66
+ )
67
+ response.should.be.an.instance_of Hash
68
+
69
+ assert_equal response.CreateDBInstanceResult.DBInstance.AllocatedStorage, "10"
70
+ end
71
+
72
+ specify "should be able to create_db_security_group" do
73
+ @rds.stubs(:make_request).with('CreateDBSecurityGroup', {
74
+ 'DBSecurityGroupName' => 'mydbsecuritygroup',
75
+ 'DBSecurityGroupDescription' => 'My new DBSecurityGroup'}).
76
+ returns stub(:body => @create_db_security_group, :is_a? => true)
77
+ response = @rds.create_db_security_group(
78
+ :db_security_group_name => "mydbsecuritygroup",
79
+ :db_security_group_description => "My new DBSecurityGroup"
80
+ )
81
+ response.should.be.an.instance_of Hash
82
+
83
+ assert_equal response.CreateDBSecurityGroupResult.DBSecurityGroup.DBSecurityGroupName, "mydbsecuritygroup4"
84
+ end
85
+
86
+ specify "should be able to create_db_parameter_group" do
87
+ body =<<-EOE
88
+ <CreateDBParameterGroupResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
89
+ <CreateDBParameterGroupResult>
90
+ <DBParameterGroup>
91
+ <Engine>mysql5.1</Engine>
92
+ <Description>My new DBParameterGroup</Description>
93
+ <DBParameterGroupName>mydbparametergroup3</DBParameterGroupName>
94
+ </DBParameterGroup>
95
+ </CreateDBParameterGroupResult>
96
+ <ResponseMetadata>
97
+ <RequestId>0b447b66-bf36-11de-a88b-7b5b3d23b3a7</RequestId>
98
+ </ResponseMetadata>
99
+ </CreateDBParameterGroupResponse>
100
+ EOE
101
+ @rds.stubs(:make_request).with('CreateDBParameterGroup', {'Engine' => 'MySQL5.1',
102
+ 'DBParameterGroupName' => 'mydbsecuritygroup',
103
+ 'Description' => 'My test DBSecurity group'}).
104
+ returns stub(:body => body, :is_a? => true)
105
+ response = @rds.create_db_parameter_group(
106
+ :db_parameter_group_name => "mydbsecuritygroup",
107
+ :description => "My test DBSecurity group",
108
+ :engine => "MySQL5.1"
109
+ )
110
+ response.should.be.an.instance_of Hash
111
+
112
+ assert_equal response.CreateDBParameterGroupResult.DBParameterGroup.DBParameterGroupName, "mydbparametergroup3"
113
+ end
114
+
115
+ specify "should be able to create_db_snapshot" do
116
+ body =<<-EOE
117
+ <CreateDBSnapshotResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
118
+ <CreateDBSnapshotResult>
119
+ <DBSnapshot>
120
+ <Port>3306</Port>
121
+ <Status>creating</Status>
122
+ <Engine>mysql5.1</Engine>
123
+ <AvailabilityZone>us-east-1d</AvailabilityZone>
124
+ <InstanceCreateTime>2009-10-21T04:05:43.609Z</InstanceCreateTime>
125
+ <AllocatedStorage>50</AllocatedStorage>
126
+ <DBInstanceIdentifier>mynewdbinstance</DBInstanceIdentifier>
127
+ <MasterUsername>sa</MasterUsername>
128
+ <DBSnapshotIdentifier>mynewdbsnapshot3</DBSnapshotIdentifier>
129
+ </DBSnapshot>
130
+ </CreateDBSnapshotResult>
131
+ <ResponseMetadata>
132
+ <RequestId>48e870fd-bf38-11de-a88b-7b5b3d23b3a7</RequestId>
133
+ </ResponseMetadata>
134
+ </CreateDBSnapshotResponse>
135
+ EOE
136
+ @rds.stubs(:make_request).with('CreateDBSnapshot', {'DBSnapshotIdentifier' => 'mynewdbsnapshot3', 'DBInstanceIdentifier' => 'mynewdbinstance'}).
137
+ returns stub(:body => body, :is_a? => true)
138
+ response = @rds.create_db_snapshot(
139
+ :db_snapshot_identifier => "mynewdbsnapshot3",
140
+ :db_instance_identifier => "mynewdbinstance"
141
+ )
142
+ response.should.be.an.instance_of Hash
143
+
144
+ assert_equal response.CreateDBSnapshotResult.DBSnapshot.DBSnapshotIdentifier, "mynewdbsnapshot3"
145
+ end
146
+
147
+ specify "should be able to authorize_db_security_group" do
148
+ body =<<-EOE
149
+ <AuthorizeDBSecurityGroupIngressResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
150
+ <AuthorizeDBSecurityGroupIngressResult>
151
+ <DBSecurityGroup>
152
+ <EC2SecurityGroups/>
153
+ <DBSecurityGroupDescription>My new DBSecurityGroup</DBSecurityGroupDescription>
154
+ <IPRanges>
155
+ <IPRange>
156
+ <CIDRIP>192.168.1.1/24</CIDRIP>
157
+ <Status>authorizing</Status>
158
+ </IPRange>
159
+ </IPRanges>
160
+ <OwnerId>621567473609</OwnerId>
161
+ <DBSecurityGroupName>mydbsecuritygroup</DBSecurityGroupName>
162
+ </DBSecurityGroup>
163
+ </AuthorizeDBSecurityGroupIngressResult>
164
+ <ResponseMetadata>
165
+ <RequestId>d9799197-bf2d-11de-b88d-993294bf1c81</RequestId>
166
+ </ResponseMetadata>
167
+ </AuthorizeDBSecurityGroupIngressResponse>
168
+ EOE
169
+ @rds.stubs(:make_request).with('AuthorizeDBSecurityGroupIngress', {'CIDRIP' => '192.168.1.1/24', 'DBSecurityGroupName' => 'mydbsecuritygroup'}).
170
+ returns stub(:body => body, :is_a? => true)
171
+ response = @rds.authorize_db_security_group(
172
+ :db_security_group_name => "mydbsecuritygroup",
173
+ :cidrip => "192.168.1.1/24"
174
+ )
175
+ response.should.be.an.instance_of Hash
176
+
177
+ assert_equal response.AuthorizeDBSecurityGroupIngressResult.DBSecurityGroup.IPRanges.IPRange.CIDRIP, "192.168.1.1/24"
178
+ end
179
+
180
+ specify "should be able to delete_db_parameter_group" do
181
+ body =<<-EOE
182
+ <DeleteDBParameterGroupResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
183
+ <ResponseMetadata>
184
+ <RequestId>4dc38be9-bf3b-11de-a88b-7b5b3d23b3a7</RequestId>
185
+ </ResponseMetadata>
186
+ </DeleteDBParameterGroupResponse>
187
+ EOE
188
+ @rds.stubs(:make_request).with('DeleteDBParameterGroup', {'DBParameterGroupName' => 'mydbsecuritygroup'}).
189
+ returns stub(:body => body, :is_a? => true)
190
+ response = @rds.delete_db_parameter_group(
191
+ :db_parameter_group_name => "mydbsecuritygroup"
192
+ )
193
+ response.should.be.an.instance_of Hash
194
+ end
195
+
196
+ specify "should be able to delete_db_security_group" do
197
+ body =<<-EOE
198
+ <DeleteDBParameterGroupResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
199
+ <ResponseMetadata>
200
+ <RequestId>4dc38be9-bf3b-11de-a88b-7b5b3d23b3a7</RequestId>
201
+ </ResponseMetadata>
202
+ </DeleteDBParameterGroupResponse>
203
+ EOE
204
+ @rds.stubs(:make_request).with('DeleteDBSecurityGroup', {'DBSecurityGroupName' => 'mydbsecuritygroup'}).
205
+ returns stub(:body => body, :is_a? => true)
206
+ response = @rds.delete_db_security_group(
207
+ :db_security_group_name => "mydbsecuritygroup"
208
+ )
209
+ response.should.be.an.instance_of Hash
210
+ end
211
+
212
+ specify "should be able to delete_db_snapshot" do
213
+ body =<<-EOE
214
+ <DeleteDBParameterGroupResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
215
+ <ResponseMetadata>
216
+ <RequestId>4dc38be9-bf3b-11de-a88b-7b5b3d23b3a7</RequestId>
217
+ </ResponseMetadata>
218
+ </DeleteDBParameterGroupResponse>
219
+ EOE
220
+ @rds.stubs(:make_request).with('DeleteDBSnapshot', {'DBSnapshotIdentifier' => 'snapshotname'}).
221
+ returns stub(:body => body, :is_a? => true)
222
+ response = @rds.delete_db_snapshot(
223
+ :db_snapshot_identifier => "snapshotname"
224
+ )
225
+ response.should.be.an.instance_of Hash
226
+ end
227
+
228
+ specify "should be able to describe_db_instances" do
229
+ body =<<-EOE
230
+ <DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
231
+ <DescribeDBInstancesResult>
232
+ <DBInstances>
233
+ <DBInstance>
234
+ <LatestRestorableTime>2009-10-22T18:59:59Z</LatestRestorableTime>
235
+ <Engine>mysql5.1</Engine>
236
+ <BackupRetentionPeriod>3</BackupRetentionPeriod>
237
+ <DBInstanceStatus>available</DBInstanceStatus>
238
+ <DBParameterGroups>
239
+ <DBParameterGroup>
240
+ <ParameterApplyStatus>pending-reboot</ParameterApplyStatus>
241
+ <DBParameterGroupName>default.mysql5.1</DBParameterGroupName>
242
+ </DBParameterGroup>
243
+ </DBParameterGroups>
244
+ <Endpoint>
245
+ <Port>8443</Port>
246
+ <Address>dbinstancename.clouwupjnvmq.us-east-1-devo.rds.amazonaws.com</Address>
247
+ </Endpoint>
248
+ <DBInstanceIdentifier>dbinstancename</DBInstanceIdentifier>
249
+ <PreferredBackupWindow>03:00-05:00</PreferredBackupWindow>
250
+ <DBSecurityGroups>
251
+ <DBSecurityGroup>
252
+ <Status>active</Status>
253
+ <DBSecurityGroupName>default</DBSecurityGroupName>
254
+ </DBSecurityGroup>
255
+ </DBSecurityGroups>
256
+ <DBName>testdb</DBName>
257
+ <PreferredMaintenanceWindow>sun:05:00-sun:09:00</PreferredMaintenanceWindow>
258
+ <AvailabilityZone>us-east-1a</AvailabilityZone>
259
+ <InstanceCreateTime>2009-09-11T00:50:45.523Z</InstanceCreateTime>
260
+ <AllocatedStorage>20</AllocatedStorage>
261
+ <DBInstanceClass>db.m1.xlarge</DBInstanceClass>
262
+ <MasterUsername>sa</MasterUsername>
263
+ </DBInstance>
264
+ </DBInstances>
265
+ </DescribeDBInstancesResult>
266
+ <ResponseMetadata>
267
+ <RequestId>4f1fae46-bf3d-11de-a88b-7b5b3d23b3a7</RequestId>
268
+ </ResponseMetadata>
269
+ </DescribeDBInstancesResponse>
270
+ EOE
271
+ @rds.stubs(:make_request).with('DescribeDBInstances', {'MaxRecords' => '100'}).
272
+ returns stub(:body => body, :is_a? => true)
273
+ response = @rds.describe_db_instances(
274
+ :max_records => "100"
275
+ )
276
+ response.should.be.an.instance_of Hash
277
+ end
278
+
279
+ specify "should be able to describe_db_instances" do
280
+ body =<<-EOE
281
+ <DescribeEngineDefaultParametersResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
282
+ <DescribeEngineDefaultParametersResult>
283
+ <EngineDefaults>
284
+ <Engine>mysql5.1</Engine>
285
+ <Marker>bWF4X3VzZXJfY29ubmVjdGlvbnM=</Marker>
286
+ <Parameters>
287
+ <Parameter>
288
+ <DataType>boolean</DataType>
289
+ <Source>engine-default</Source>
290
+ <IsModifiable>true</IsModifiable>
291
+ <Description>Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded</Description>
292
+ <ApplyType>static</ApplyType>
293
+ <AllowedValues>ON,OFF</AllowedValues>
294
+ <ParameterName>allow-suspicious-udfs</ParameterName>
295
+ </Parameter>
296
+ <Parameter>
297
+ <DataType>integer</DataType>
298
+ <Source>engine-default</Source>
299
+ <IsModifiable>true</IsModifiable>
300
+ <Description>Intended for use with master-to-master replication, and can be used to control the operation of AUTO_INCREMENT columns</Description>
301
+ <ApplyType>dynamic</ApplyType>
302
+ <AllowedValues>1-65535</AllowedValues>
303
+ <ParameterName>auto_increment_increment</ParameterName>
304
+ </Parameter>
305
+ </Parameters>
306
+ </EngineDefaults>
307
+ </DescribeEngineDefaultParametersResult>
308
+ <ResponseMetadata>
309
+ <RequestId>811f4032-bf3e-11de-b88d-993294bf1c81</RequestId>
310
+ </ResponseMetadata>
311
+ </DescribeEngineDefaultParametersResponse>
312
+ EOE
313
+ @rds.stubs(:make_request).with('DescribeEngineDefaultParameters', {'Engine' => 'MySQL5.1'}).
314
+ returns stub(:body => body, :is_a? => true)
315
+ response = @rds.describe_engine_default_parameters(
316
+ :engine => "MySQL5.1"
317
+ )
318
+ response.should.be.an.instance_of Hash
319
+ end
320
+
321
+ specify "should be able to describe_db_instances" do
322
+ body =<<-EOE
323
+ <ModifyDBParameterGroupResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/">
324
+ <ModifyDBParameterGroupResult>
325
+ <DBParameterGroupName>mydbparametergroup</DBParameterGroupName>
326
+ </ModifyDBParameterGroupResult>
327
+ <ResponseMetadata>
328
+ <RequestId>5ba91f97-bf51-11de-bf60-ef2e377db6f3</RequestId>
329
+ </ResponseMetadata>
330
+ </ModifyDBParameterGroupResponse>
331
+ EOE
332
+
333
+ @rds.stubs(:make_request).with('ModifyDBParameterGroup', {
334
+ 'DBParameterGroupName' => 'mytestdb',
335
+ 'Parameters.member.1.ParameterName' => 'max_user_connections',
336
+ 'Parameters.member.1.ParameterValue' => '24',
337
+ 'Parameters.member.1.ApplyMethod' => 'pending-reboot',
338
+ 'Parameters.member.2.ParameterName' => 'max_allowed_packet',
339
+ 'Parameters.member.2.ParameterValue' => '1024',
340
+ 'Parameters.member.2.ApplyMethod' => 'immediate',
341
+ }).
342
+ returns stub(:body => body, :is_a? => true)
343
+ response = @rds.modify_db_parameter_group(
344
+ :db_parameter_group_name => "mytestdb",
345
+ :parameters => [
346
+ {:name => "max_user_connections", :value => "24", :apply_method => "pending-reboot"},
347
+ {:name => "max_allowed_packet", :value => "1024", :apply_method => "immediate"}
348
+ ]
349
+ )
350
+ response.should.be.an.instance_of Hash
351
+ end
352
+
353
+ end
354
+
@@ -0,0 +1,23 @@
1
+ #--
2
+ # Amazon Web Services EC2 Query API Ruby library
3
+ #
4
+ # Ruby Gem Name:: amazon-ec2
5
+ # Author:: Glenn Rempe (mailto:glenn@rempe.us)
6
+ # Copyright:: Copyright (c) 2007-2008 Glenn Rempe
7
+ # License:: Distributes under the same terms as Ruby
8
+ # Home:: http://github.com/grempe/amazon-ec2/tree/master
9
+ #++
10
+
11
+ require 'rubygems'
12
+ gem 'test-unit'
13
+
14
+ %w[ test/unit test/spec mocha ].each { |f|
15
+ begin
16
+ require f
17
+ rescue LoadError
18
+ abort "Unable to load required gem for test: #{f}"
19
+ end
20
+ }
21
+
22
+ require File.dirname(__FILE__) + '/../lib/AWS'
23
+
@@ -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>