/src/Amazon.EC2/AmazonEC2Client.m

https://github.com/noahmiller/aws-sdk-for-ios · Objective C · 531 lines · 368 code · 149 blank · 14 comment · 2 complexity · 72996bc2f87e004a66aae605b00a8466 MD5 · raw file

  1. /*
  2. * Copyright 2010-2011 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License").
  5. * You may not use this file except in compliance with the License.
  6. * A copy of the License is located at
  7. *
  8. * http://aws.amazon.com/apache2.0
  9. *
  10. * or in the "license" file accompanying this file. This file is distributed
  11. * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  12. * express or implied. See the License for the specific language governing
  13. * permissions and limitations under the License.
  14. */
  15. #import "AmazonEC2Client.h"
  16. #import "../AmazonServiceRequest.h"
  17. @implementation AmazonEC2Client
  18. -(id)initWithAccessKey:(NSString *)theAccessKey withSecretKey:(NSString *)theSecretKey
  19. {
  20. if (self = [super initWithAccessKey:theAccessKey withSecretKey:theSecretKey]) {
  21. self.endpoint = @"https://ec2.amazonaws.com";
  22. }
  23. return self;
  24. }
  25. -(id)initWithCredentials:(AmazonCredentials *)theCredentials
  26. {
  27. if (self = [super initWithCredentials:theCredentials]) {
  28. self.endpoint = @"https://ec2.amazonaws.com";
  29. }
  30. return self;
  31. }
  32. -(EC2RebootInstancesResponse *)rebootInstances:(EC2RebootInstancesRequest *)rebootInstancesRequest
  33. {
  34. AmazonServiceRequest *request = [EC2RebootInstancesRequestMarshaller createRequest:rebootInstancesRequest];
  35. return (EC2RebootInstancesResponse *)[self invoke:request rawRequest:rebootInstancesRequest unmarshallerDelegate:[EC2RebootInstancesResponseUnmarshaller class]];
  36. }
  37. -(EC2DescribeReservedInstancesResponse *)describeReservedInstances:(EC2DescribeReservedInstancesRequest *)describeReservedInstancesRequest
  38. {
  39. AmazonServiceRequest *request = [EC2DescribeReservedInstancesRequestMarshaller createRequest:describeReservedInstancesRequest];
  40. return (EC2DescribeReservedInstancesResponse *)[self invoke:request rawRequest:describeReservedInstancesRequest unmarshallerDelegate:[EC2DescribeReservedInstancesResponseUnmarshaller class]];
  41. }
  42. -(EC2DescribeAvailabilityZonesResponse *)describeAvailabilityZones:(EC2DescribeAvailabilityZonesRequest *)describeAvailabilityZonesRequest
  43. {
  44. AmazonServiceRequest *request = [EC2DescribeAvailabilityZonesRequestMarshaller createRequest:describeAvailabilityZonesRequest];
  45. return (EC2DescribeAvailabilityZonesResponse *)[self invoke:request rawRequest:describeAvailabilityZonesRequest unmarshallerDelegate:[EC2DescribeAvailabilityZonesResponseUnmarshaller class]];
  46. }
  47. -(EC2DetachVolumeResponse *)detachVolume:(EC2DetachVolumeRequest *)detachVolumeRequest
  48. {
  49. AmazonServiceRequest *request = [EC2DetachVolumeRequestMarshaller createRequest:detachVolumeRequest];
  50. return (EC2DetachVolumeResponse *)[self invoke:request rawRequest:detachVolumeRequest unmarshallerDelegate:[EC2DetachVolumeResponseUnmarshaller class]];
  51. }
  52. -(EC2DeleteKeyPairResponse *)deleteKeyPair:(EC2DeleteKeyPairRequest *)deleteKeyPairRequest
  53. {
  54. AmazonServiceRequest *request = [EC2DeleteKeyPairRequestMarshaller createRequest:deleteKeyPairRequest];
  55. return (EC2DeleteKeyPairResponse *)[self invoke:request rawRequest:deleteKeyPairRequest unmarshallerDelegate:[EC2DeleteKeyPairResponseUnmarshaller class]];
  56. }
  57. -(EC2UnmonitorInstancesResponse *)unmonitorInstances:(EC2UnmonitorInstancesRequest *)unmonitorInstancesRequest
  58. {
  59. AmazonServiceRequest *request = [EC2UnmonitorInstancesRequestMarshaller createRequest:unmonitorInstancesRequest];
  60. return (EC2UnmonitorInstancesResponse *)[self invoke:request rawRequest:unmonitorInstancesRequest unmarshallerDelegate:[EC2UnmonitorInstancesResponseUnmarshaller class]];
  61. }
  62. -(EC2CreateImageResponse *)createImage:(EC2CreateImageRequest *)createImageRequest
  63. {
  64. AmazonServiceRequest *request = [EC2CreateImageRequestMarshaller createRequest:createImageRequest];
  65. return (EC2CreateImageResponse *)[self invoke:request rawRequest:createImageRequest unmarshallerDelegate:[EC2CreateImageResponseUnmarshaller class]];
  66. }
  67. -(EC2DeleteSecurityGroupResponse *)deleteSecurityGroup:(EC2DeleteSecurityGroupRequest *)deleteSecurityGroupRequest
  68. {
  69. AmazonServiceRequest *request = [EC2DeleteSecurityGroupRequestMarshaller createRequest:deleteSecurityGroupRequest];
  70. return (EC2DeleteSecurityGroupResponse *)[self invoke:request rawRequest:deleteSecurityGroupRequest unmarshallerDelegate:[EC2DeleteSecurityGroupResponseUnmarshaller class]];
  71. }
  72. -(EC2GetPasswordDataResponse *)getPasswordData:(EC2GetPasswordDataRequest *)getPasswordDataRequest
  73. {
  74. AmazonServiceRequest *request = [EC2GetPasswordDataRequestMarshaller createRequest:getPasswordDataRequest];
  75. return (EC2GetPasswordDataResponse *)[self invoke:request rawRequest:getPasswordDataRequest unmarshallerDelegate:[EC2GetPasswordDataResponseUnmarshaller class]];
  76. }
  77. -(EC2StopInstancesResponse *)stopInstances:(EC2StopInstancesRequest *)stopInstancesRequest
  78. {
  79. AmazonServiceRequest *request = [EC2StopInstancesRequestMarshaller createRequest:stopInstancesRequest];
  80. return (EC2StopInstancesResponse *)[self invoke:request rawRequest:stopInstancesRequest unmarshallerDelegate:[EC2StopInstancesResponseUnmarshaller class]];
  81. }
  82. -(EC2ImportKeyPairResponse *)importKeyPair:(EC2ImportKeyPairRequest *)importKeyPairRequest
  83. {
  84. AmazonServiceRequest *request = [EC2ImportKeyPairRequestMarshaller createRequest:importKeyPairRequest];
  85. return (EC2ImportKeyPairResponse *)[self invoke:request rawRequest:importKeyPairRequest unmarshallerDelegate:[EC2ImportKeyPairResponseUnmarshaller class]];
  86. }
  87. -(EC2CreateSecurityGroupResponse *)createSecurityGroup:(EC2CreateSecurityGroupRequest *)createSecurityGroupRequest
  88. {
  89. AmazonServiceRequest *request = [EC2CreateSecurityGroupRequestMarshaller createRequest:createSecurityGroupRequest];
  90. return (EC2CreateSecurityGroupResponse *)[self invoke:request rawRequest:createSecurityGroupRequest unmarshallerDelegate:[EC2CreateSecurityGroupResponseUnmarshaller class]];
  91. }
  92. -(EC2DescribeSpotPriceHistoryResponse *)describeSpotPriceHistory:(EC2DescribeSpotPriceHistoryRequest *)describeSpotPriceHistoryRequest
  93. {
  94. AmazonServiceRequest *request = [EC2DescribeSpotPriceHistoryRequestMarshaller createRequest:describeSpotPriceHistoryRequest];
  95. return (EC2DescribeSpotPriceHistoryResponse *)[self invoke:request rawRequest:describeSpotPriceHistoryRequest unmarshallerDelegate:[EC2DescribeSpotPriceHistoryResponseUnmarshaller class]];
  96. }
  97. -(EC2DescribeRegionsResponse *)describeRegions:(EC2DescribeRegionsRequest *)describeRegionsRequest
  98. {
  99. AmazonServiceRequest *request = [EC2DescribeRegionsRequestMarshaller createRequest:describeRegionsRequest];
  100. return (EC2DescribeRegionsResponse *)[self invoke:request rawRequest:describeRegionsRequest unmarshallerDelegate:[EC2DescribeRegionsResponseUnmarshaller class]];
  101. }
  102. -(EC2ResetSnapshotAttributeResponse *)resetSnapshotAttribute:(EC2ResetSnapshotAttributeRequest *)resetSnapshotAttributeRequest
  103. {
  104. AmazonServiceRequest *request = [EC2ResetSnapshotAttributeRequestMarshaller createRequest:resetSnapshotAttributeRequest];
  105. return (EC2ResetSnapshotAttributeResponse *)[self invoke:request rawRequest:resetSnapshotAttributeRequest unmarshallerDelegate:[EC2ResetSnapshotAttributeResponseUnmarshaller class]];
  106. }
  107. -(EC2DescribeSecurityGroupsResponse *)describeSecurityGroups:(EC2DescribeSecurityGroupsRequest *)describeSecurityGroupsRequest
  108. {
  109. AmazonServiceRequest *request = [EC2DescribeSecurityGroupsRequestMarshaller createRequest:describeSecurityGroupsRequest];
  110. return (EC2DescribeSecurityGroupsResponse *)[self invoke:request rawRequest:describeSecurityGroupsRequest unmarshallerDelegate:[EC2DescribeSecurityGroupsResponseUnmarshaller class]];
  111. }
  112. -(EC2DeregisterImageResponse *)deregisterImage:(EC2DeregisterImageRequest *)deregisterImageRequest
  113. {
  114. AmazonServiceRequest *request = [EC2DeregisterImageRequestMarshaller createRequest:deregisterImageRequest];
  115. return (EC2DeregisterImageResponse *)[self invoke:request rawRequest:deregisterImageRequest unmarshallerDelegate:[EC2DeregisterImageResponseUnmarshaller class]];
  116. }
  117. -(EC2DescribeSpotDatafeedSubscriptionResponse *)describeSpotDatafeedSubscription:(EC2DescribeSpotDatafeedSubscriptionRequest *)describeSpotDatafeedSubscriptionRequest
  118. {
  119. AmazonServiceRequest *request = [EC2DescribeSpotDatafeedSubscriptionRequestMarshaller createRequest:describeSpotDatafeedSubscriptionRequest];
  120. return (EC2DescribeSpotDatafeedSubscriptionResponse *)[self invoke:request rawRequest:describeSpotDatafeedSubscriptionRequest unmarshallerDelegate:[EC2DescribeSpotDatafeedSubscriptionResponseUnmarshaller class]];
  121. }
  122. -(EC2DeleteTagsResponse *)deleteTags:(EC2DeleteTagsRequest *)deleteTagsRequest
  123. {
  124. AmazonServiceRequest *request = [EC2DeleteTagsRequestMarshaller createRequest:deleteTagsRequest];
  125. return (EC2DeleteTagsResponse *)[self invoke:request rawRequest:deleteTagsRequest unmarshallerDelegate:[EC2DeleteTagsResponseUnmarshaller class]];
  126. }
  127. -(EC2AttachVolumeResponse *)attachVolume:(EC2AttachVolumeRequest *)attachVolumeRequest
  128. {
  129. AmazonServiceRequest *request = [EC2AttachVolumeRequestMarshaller createRequest:attachVolumeRequest];
  130. return (EC2AttachVolumeResponse *)[self invoke:request rawRequest:attachVolumeRequest unmarshallerDelegate:[EC2AttachVolumeResponseUnmarshaller class]];
  131. }
  132. -(EC2DescribeLicensesResponse *)describeLicenses:(EC2DescribeLicensesRequest *)describeLicensesRequest
  133. {
  134. AmazonServiceRequest *request = [EC2DescribeLicensesRequestMarshaller createRequest:describeLicensesRequest];
  135. return (EC2DescribeLicensesResponse *)[self invoke:request rawRequest:describeLicensesRequest unmarshallerDelegate:[EC2DescribeLicensesResponseUnmarshaller class]];
  136. }
  137. -(EC2ActivateLicenseResponse *)activateLicense:(EC2ActivateLicenseRequest *)activateLicenseRequest
  138. {
  139. AmazonServiceRequest *request = [EC2ActivateLicenseRequestMarshaller createRequest:activateLicenseRequest];
  140. return (EC2ActivateLicenseResponse *)[self invoke:request rawRequest:activateLicenseRequest unmarshallerDelegate:[EC2ActivateLicenseResponseUnmarshaller class]];
  141. }
  142. -(EC2ResetImageAttributeResponse *)resetImageAttribute:(EC2ResetImageAttributeRequest *)resetImageAttributeRequest
  143. {
  144. AmazonServiceRequest *request = [EC2ResetImageAttributeRequestMarshaller createRequest:resetImageAttributeRequest];
  145. return (EC2ResetImageAttributeResponse *)[self invoke:request rawRequest:resetImageAttributeRequest unmarshallerDelegate:[EC2ResetImageAttributeResponseUnmarshaller class]];
  146. }
  147. -(EC2CreateSnapshotResponse *)createSnapshot:(EC2CreateSnapshotRequest *)createSnapshotRequest
  148. {
  149. AmazonServiceRequest *request = [EC2CreateSnapshotRequestMarshaller createRequest:createSnapshotRequest];
  150. return (EC2CreateSnapshotResponse *)[self invoke:request rawRequest:createSnapshotRequest unmarshallerDelegate:[EC2CreateSnapshotResponseUnmarshaller class]];
  151. }
  152. -(EC2DeleteVolumeResponse *)deleteVolume:(EC2DeleteVolumeRequest *)deleteVolumeRequest
  153. {
  154. AmazonServiceRequest *request = [EC2DeleteVolumeRequestMarshaller createRequest:deleteVolumeRequest];
  155. return (EC2DeleteVolumeResponse *)[self invoke:request rawRequest:deleteVolumeRequest unmarshallerDelegate:[EC2DeleteVolumeResponseUnmarshaller class]];
  156. }
  157. -(EC2DeactivateLicenseResponse *)deactivateLicense:(EC2DeactivateLicenseRequest *)deactivateLicenseRequest
  158. {
  159. AmazonServiceRequest *request = [EC2DeactivateLicenseRequestMarshaller createRequest:deactivateLicenseRequest];
  160. return (EC2DeactivateLicenseResponse *)[self invoke:request rawRequest:deactivateLicenseRequest unmarshallerDelegate:[EC2DeactivateLicenseResponseUnmarshaller class]];
  161. }
  162. -(EC2AssociateAddressResponse *)associateAddress:(EC2AssociateAddressRequest *)associateAddressRequest
  163. {
  164. AmazonServiceRequest *request = [EC2AssociateAddressRequestMarshaller createRequest:associateAddressRequest];
  165. return (EC2AssociateAddressResponse *)[self invoke:request rawRequest:associateAddressRequest unmarshallerDelegate:[EC2AssociateAddressResponseUnmarshaller class]];
  166. }
  167. -(EC2DescribeVolumesResponse *)describeVolumes:(EC2DescribeVolumesRequest *)describeVolumesRequest
  168. {
  169. AmazonServiceRequest *request = [EC2DescribeVolumesRequestMarshaller createRequest:describeVolumesRequest];
  170. return (EC2DescribeVolumesResponse *)[self invoke:request rawRequest:describeVolumesRequest unmarshallerDelegate:[EC2DescribeVolumesResponseUnmarshaller class]];
  171. }
  172. -(EC2MonitorInstancesResponse *)monitorInstances:(EC2MonitorInstancesRequest *)monitorInstancesRequest
  173. {
  174. AmazonServiceRequest *request = [EC2MonitorInstancesRequestMarshaller createRequest:monitorInstancesRequest];
  175. return (EC2MonitorInstancesResponse *)[self invoke:request rawRequest:monitorInstancesRequest unmarshallerDelegate:[EC2MonitorInstancesResponseUnmarshaller class]];
  176. }
  177. -(EC2DescribeBundleTasksResponse *)describeBundleTasks:(EC2DescribeBundleTasksRequest *)describeBundleTasksRequest
  178. {
  179. AmazonServiceRequest *request = [EC2DescribeBundleTasksRequestMarshaller createRequest:describeBundleTasksRequest];
  180. return (EC2DescribeBundleTasksResponse *)[self invoke:request rawRequest:describeBundleTasksRequest unmarshallerDelegate:[EC2DescribeBundleTasksResponseUnmarshaller class]];
  181. }
  182. -(EC2RevokeSecurityGroupIngressResponse *)revokeSecurityGroupIngress:(EC2RevokeSecurityGroupIngressRequest *)revokeSecurityGroupIngressRequest
  183. {
  184. AmazonServiceRequest *request = [EC2RevokeSecurityGroupIngressRequestMarshaller createRequest:revokeSecurityGroupIngressRequest];
  185. return (EC2RevokeSecurityGroupIngressResponse *)[self invoke:request rawRequest:revokeSecurityGroupIngressRequest unmarshallerDelegate:[EC2RevokeSecurityGroupIngressResponseUnmarshaller class]];
  186. }
  187. -(EC2GetConsoleOutputResponse *)getConsoleOutput:(EC2GetConsoleOutputRequest *)getConsoleOutputRequest
  188. {
  189. AmazonServiceRequest *request = [EC2GetConsoleOutputRequestMarshaller createRequest:getConsoleOutputRequest];
  190. return (EC2GetConsoleOutputResponse *)[self invoke:request rawRequest:getConsoleOutputRequest unmarshallerDelegate:[EC2GetConsoleOutputResponseUnmarshaller class]];
  191. }
  192. -(EC2ModifyImageAttributeResponse *)modifyImageAttribute:(EC2ModifyImageAttributeRequest *)modifyImageAttributeRequest
  193. {
  194. AmazonServiceRequest *request = [EC2ModifyImageAttributeRequestMarshaller createRequest:modifyImageAttributeRequest];
  195. return (EC2ModifyImageAttributeResponse *)[self invoke:request rawRequest:modifyImageAttributeRequest unmarshallerDelegate:[EC2ModifyImageAttributeResponseUnmarshaller class]];
  196. }
  197. -(EC2CreateSpotDatafeedSubscriptionResponse *)createSpotDatafeedSubscription:(EC2CreateSpotDatafeedSubscriptionRequest *)createSpotDatafeedSubscriptionRequest
  198. {
  199. AmazonServiceRequest *request = [EC2CreateSpotDatafeedSubscriptionRequestMarshaller createRequest:createSpotDatafeedSubscriptionRequest];
  200. return (EC2CreateSpotDatafeedSubscriptionResponse *)[self invoke:request rawRequest:createSpotDatafeedSubscriptionRequest unmarshallerDelegate:[EC2CreateSpotDatafeedSubscriptionResponseUnmarshaller class]];
  201. }
  202. -(EC2DescribeInstanceAttributeResponse *)describeInstanceAttribute:(EC2DescribeInstanceAttributeRequest *)describeInstanceAttributeRequest
  203. {
  204. AmazonServiceRequest *request = [EC2DescribeInstanceAttributeRequestMarshaller createRequest:describeInstanceAttributeRequest];
  205. return (EC2DescribeInstanceAttributeResponse *)[self invoke:request rawRequest:describeInstanceAttributeRequest unmarshallerDelegate:[EC2DescribeInstanceAttributeResponseUnmarshaller class]];
  206. }
  207. -(EC2RunInstancesResponse *)runInstances:(EC2RunInstancesRequest *)runInstancesRequest
  208. {
  209. AmazonServiceRequest *request = [EC2RunInstancesRequestMarshaller createRequest:runInstancesRequest];
  210. return (EC2RunInstancesResponse *)[self invoke:request rawRequest:runInstancesRequest unmarshallerDelegate:[EC2RunInstancesResponseUnmarshaller class]];
  211. }
  212. -(EC2DescribePlacementGroupsResponse *)describePlacementGroups:(EC2DescribePlacementGroupsRequest *)describePlacementGroupsRequest
  213. {
  214. AmazonServiceRequest *request = [EC2DescribePlacementGroupsRequestMarshaller createRequest:describePlacementGroupsRequest];
  215. return (EC2DescribePlacementGroupsResponse *)[self invoke:request rawRequest:describePlacementGroupsRequest unmarshallerDelegate:[EC2DescribePlacementGroupsResponseUnmarshaller class]];
  216. }
  217. -(EC2DescribeInstancesResponse *)describeInstances:(EC2DescribeInstancesRequest *)describeInstancesRequest
  218. {
  219. AmazonServiceRequest *request = [EC2DescribeInstancesRequestMarshaller createRequest:describeInstancesRequest];
  220. return (EC2DescribeInstancesResponse *)[self invoke:request rawRequest:describeInstancesRequest unmarshallerDelegate:[EC2DescribeInstancesResponseUnmarshaller class]];
  221. }
  222. -(EC2DescribeImagesResponse *)describeImages:(EC2DescribeImagesRequest *)describeImagesRequest
  223. {
  224. AmazonServiceRequest *request = [EC2DescribeImagesRequestMarshaller createRequest:describeImagesRequest];
  225. return (EC2DescribeImagesResponse *)[self invoke:request rawRequest:describeImagesRequest unmarshallerDelegate:[EC2DescribeImagesResponseUnmarshaller class]];
  226. }
  227. -(EC2StartInstancesResponse *)startInstances:(EC2StartInstancesRequest *)startInstancesRequest
  228. {
  229. AmazonServiceRequest *request = [EC2StartInstancesRequestMarshaller createRequest:startInstancesRequest];
  230. return (EC2StartInstancesResponse *)[self invoke:request rawRequest:startInstancesRequest unmarshallerDelegate:[EC2StartInstancesResponseUnmarshaller class]];
  231. }
  232. -(EC2ModifyInstanceAttributeResponse *)modifyInstanceAttribute:(EC2ModifyInstanceAttributeRequest *)modifyInstanceAttributeRequest
  233. {
  234. AmazonServiceRequest *request = [EC2ModifyInstanceAttributeRequestMarshaller createRequest:modifyInstanceAttributeRequest];
  235. return (EC2ModifyInstanceAttributeResponse *)[self invoke:request rawRequest:modifyInstanceAttributeRequest unmarshallerDelegate:[EC2ModifyInstanceAttributeResponseUnmarshaller class]];
  236. }
  237. -(EC2AuthorizeSecurityGroupIngressResponse *)authorizeSecurityGroupIngress:(EC2AuthorizeSecurityGroupIngressRequest *)authorizeSecurityGroupIngressRequest
  238. {
  239. AmazonServiceRequest *request = [EC2AuthorizeSecurityGroupIngressRequestMarshaller createRequest:authorizeSecurityGroupIngressRequest];
  240. return (EC2AuthorizeSecurityGroupIngressResponse *)[self invoke:request rawRequest:authorizeSecurityGroupIngressRequest unmarshallerDelegate:[EC2AuthorizeSecurityGroupIngressResponseUnmarshaller class]];
  241. }
  242. -(EC2DescribeSpotInstanceRequestsResponse *)describeSpotInstanceRequests:(EC2DescribeSpotInstanceRequestsRequest *)describeSpotInstanceRequestsRequest
  243. {
  244. AmazonServiceRequest *request = [EC2DescribeSpotInstanceRequestsRequestMarshaller createRequest:describeSpotInstanceRequestsRequest];
  245. return (EC2DescribeSpotInstanceRequestsResponse *)[self invoke:request rawRequest:describeSpotInstanceRequestsRequest unmarshallerDelegate:[EC2DescribeSpotInstanceRequestsResponseUnmarshaller class]];
  246. }
  247. -(EC2RequestSpotInstancesResponse *)requestSpotInstances:(EC2RequestSpotInstancesRequest *)requestSpotInstancesRequest
  248. {
  249. AmazonServiceRequest *request = [EC2RequestSpotInstancesRequestMarshaller createRequest:requestSpotInstancesRequest];
  250. return (EC2RequestSpotInstancesResponse *)[self invoke:request rawRequest:requestSpotInstancesRequest unmarshallerDelegate:[EC2RequestSpotInstancesResponseUnmarshaller class]];
  251. }
  252. -(EC2CreateTagsResponse *)createTags:(EC2CreateTagsRequest *)createTagsRequest
  253. {
  254. AmazonServiceRequest *request = [EC2CreateTagsRequestMarshaller createRequest:createTagsRequest];
  255. return (EC2CreateTagsResponse *)[self invoke:request rawRequest:createTagsRequest unmarshallerDelegate:[EC2CreateTagsResponseUnmarshaller class]];
  256. }
  257. -(EC2DescribeTagsResponse *)describeTags:(EC2DescribeTagsRequest *)describeTagsRequest
  258. {
  259. AmazonServiceRequest *request = [EC2DescribeTagsRequestMarshaller createRequest:describeTagsRequest];
  260. return (EC2DescribeTagsResponse *)[self invoke:request rawRequest:describeTagsRequest unmarshallerDelegate:[EC2DescribeTagsResponseUnmarshaller class]];
  261. }
  262. -(EC2CancelBundleTaskResponse *)cancelBundleTask:(EC2CancelBundleTaskRequest *)cancelBundleTaskRequest
  263. {
  264. AmazonServiceRequest *request = [EC2CancelBundleTaskRequestMarshaller createRequest:cancelBundleTaskRequest];
  265. return (EC2CancelBundleTaskResponse *)[self invoke:request rawRequest:cancelBundleTaskRequest unmarshallerDelegate:[EC2CancelBundleTaskResponseUnmarshaller class]];
  266. }
  267. -(EC2CancelSpotInstanceRequestsResponse *)cancelSpotInstanceRequests:(EC2CancelSpotInstanceRequestsRequest *)cancelSpotInstanceRequestsRequest
  268. {
  269. AmazonServiceRequest *request = [EC2CancelSpotInstanceRequestsRequestMarshaller createRequest:cancelSpotInstanceRequestsRequest];
  270. return (EC2CancelSpotInstanceRequestsResponse *)[self invoke:request rawRequest:cancelSpotInstanceRequestsRequest unmarshallerDelegate:[EC2CancelSpotInstanceRequestsResponseUnmarshaller class]];
  271. }
  272. -(EC2PurchaseReservedInstancesOfferingResponse *)purchaseReservedInstancesOffering:(EC2PurchaseReservedInstancesOfferingRequest *)purchaseReservedInstancesOfferingRequest
  273. {
  274. AmazonServiceRequest *request = [EC2PurchaseReservedInstancesOfferingRequestMarshaller createRequest:purchaseReservedInstancesOfferingRequest];
  275. return (EC2PurchaseReservedInstancesOfferingResponse *)[self invoke:request rawRequest:purchaseReservedInstancesOfferingRequest unmarshallerDelegate:[EC2PurchaseReservedInstancesOfferingResponseUnmarshaller class]];
  276. }
  277. -(EC2ModifySnapshotAttributeResponse *)modifySnapshotAttribute:(EC2ModifySnapshotAttributeRequest *)modifySnapshotAttributeRequest
  278. {
  279. AmazonServiceRequest *request = [EC2ModifySnapshotAttributeRequestMarshaller createRequest:modifySnapshotAttributeRequest];
  280. return (EC2ModifySnapshotAttributeResponse *)[self invoke:request rawRequest:modifySnapshotAttributeRequest unmarshallerDelegate:[EC2ModifySnapshotAttributeResponseUnmarshaller class]];
  281. }
  282. -(EC2TerminateInstancesResponse *)terminateInstances:(EC2TerminateInstancesRequest *)terminateInstancesRequest
  283. {
  284. AmazonServiceRequest *request = [EC2TerminateInstancesRequestMarshaller createRequest:terminateInstancesRequest];
  285. return (EC2TerminateInstancesResponse *)[self invoke:request rawRequest:terminateInstancesRequest unmarshallerDelegate:[EC2TerminateInstancesResponseUnmarshaller class]];
  286. }
  287. -(EC2DeleteSpotDatafeedSubscriptionResponse *)deleteSpotDatafeedSubscription:(EC2DeleteSpotDatafeedSubscriptionRequest *)deleteSpotDatafeedSubscriptionRequest
  288. {
  289. AmazonServiceRequest *request = [EC2DeleteSpotDatafeedSubscriptionRequestMarshaller createRequest:deleteSpotDatafeedSubscriptionRequest];
  290. return (EC2DeleteSpotDatafeedSubscriptionResponse *)[self invoke:request rawRequest:deleteSpotDatafeedSubscriptionRequest unmarshallerDelegate:[EC2DeleteSpotDatafeedSubscriptionResponseUnmarshaller class]];
  291. }
  292. -(EC2DescribeSnapshotAttributeResponse *)describeSnapshotAttribute:(EC2DescribeSnapshotAttributeRequest *)describeSnapshotAttributeRequest
  293. {
  294. AmazonServiceRequest *request = [EC2DescribeSnapshotAttributeRequestMarshaller createRequest:describeSnapshotAttributeRequest];
  295. return (EC2DescribeSnapshotAttributeResponse *)[self invoke:request rawRequest:describeSnapshotAttributeRequest unmarshallerDelegate:[EC2DescribeSnapshotAttributeResponseUnmarshaller class]];
  296. }
  297. -(EC2DescribeAddressesResponse *)describeAddresses:(EC2DescribeAddressesRequest *)describeAddressesRequest
  298. {
  299. AmazonServiceRequest *request = [EC2DescribeAddressesRequestMarshaller createRequest:describeAddressesRequest];
  300. return (EC2DescribeAddressesResponse *)[self invoke:request rawRequest:describeAddressesRequest unmarshallerDelegate:[EC2DescribeAddressesResponseUnmarshaller class]];
  301. }
  302. -(EC2DescribeKeyPairsResponse *)describeKeyPairs:(EC2DescribeKeyPairsRequest *)describeKeyPairsRequest
  303. {
  304. AmazonServiceRequest *request = [EC2DescribeKeyPairsRequestMarshaller createRequest:describeKeyPairsRequest];
  305. return (EC2DescribeKeyPairsResponse *)[self invoke:request rawRequest:describeKeyPairsRequest unmarshallerDelegate:[EC2DescribeKeyPairsResponseUnmarshaller class]];
  306. }
  307. -(EC2DescribeImageAttributeResponse *)describeImageAttribute:(EC2DescribeImageAttributeRequest *)describeImageAttributeRequest
  308. {
  309. AmazonServiceRequest *request = [EC2DescribeImageAttributeRequestMarshaller createRequest:describeImageAttributeRequest];
  310. return (EC2DescribeImageAttributeResponse *)[self invoke:request rawRequest:describeImageAttributeRequest unmarshallerDelegate:[EC2DescribeImageAttributeResponseUnmarshaller class]];
  311. }
  312. -(EC2ConfirmProductInstanceResponse *)confirmProductInstance:(EC2ConfirmProductInstanceRequest *)confirmProductInstanceRequest
  313. {
  314. AmazonServiceRequest *request = [EC2ConfirmProductInstanceRequestMarshaller createRequest:confirmProductInstanceRequest];
  315. return (EC2ConfirmProductInstanceResponse *)[self invoke:request rawRequest:confirmProductInstanceRequest unmarshallerDelegate:[EC2ConfirmProductInstanceResponseUnmarshaller class]];
  316. }
  317. -(EC2CreateVolumeResponse *)createVolume:(EC2CreateVolumeRequest *)createVolumeRequest
  318. {
  319. AmazonServiceRequest *request = [EC2CreateVolumeRequestMarshaller createRequest:createVolumeRequest];
  320. return (EC2CreateVolumeResponse *)[self invoke:request rawRequest:createVolumeRequest unmarshallerDelegate:[EC2CreateVolumeResponseUnmarshaller class]];
  321. }
  322. -(EC2DescribeReservedInstancesOfferingsResponse *)describeReservedInstancesOfferings:(EC2DescribeReservedInstancesOfferingsRequest *)describeReservedInstancesOfferingsRequest
  323. {
  324. AmazonServiceRequest *request = [EC2DescribeReservedInstancesOfferingsRequestMarshaller createRequest:describeReservedInstancesOfferingsRequest];
  325. return (EC2DescribeReservedInstancesOfferingsResponse *)[self invoke:request rawRequest:describeReservedInstancesOfferingsRequest unmarshallerDelegate:[EC2DescribeReservedInstancesOfferingsResponseUnmarshaller class]];
  326. }
  327. -(EC2DeleteSnapshotResponse *)deleteSnapshot:(EC2DeleteSnapshotRequest *)deleteSnapshotRequest
  328. {
  329. AmazonServiceRequest *request = [EC2DeleteSnapshotRequestMarshaller createRequest:deleteSnapshotRequest];
  330. return (EC2DeleteSnapshotResponse *)[self invoke:request rawRequest:deleteSnapshotRequest unmarshallerDelegate:[EC2DeleteSnapshotResponseUnmarshaller class]];
  331. }
  332. -(EC2DisassociateAddressResponse *)disassociateAddress:(EC2DisassociateAddressRequest *)disassociateAddressRequest
  333. {
  334. AmazonServiceRequest *request = [EC2DisassociateAddressRequestMarshaller createRequest:disassociateAddressRequest];
  335. return (EC2DisassociateAddressResponse *)[self invoke:request rawRequest:disassociateAddressRequest unmarshallerDelegate:[EC2DisassociateAddressResponseUnmarshaller class]];
  336. }
  337. -(EC2CreatePlacementGroupResponse *)createPlacementGroup:(EC2CreatePlacementGroupRequest *)createPlacementGroupRequest
  338. {
  339. AmazonServiceRequest *request = [EC2CreatePlacementGroupRequestMarshaller createRequest:createPlacementGroupRequest];
  340. return (EC2CreatePlacementGroupResponse *)[self invoke:request rawRequest:createPlacementGroupRequest unmarshallerDelegate:[EC2CreatePlacementGroupResponseUnmarshaller class]];
  341. }
  342. -(EC2BundleInstanceResponse *)bundleInstance:(EC2BundleInstanceRequest *)bundleInstanceRequest
  343. {
  344. AmazonServiceRequest *request = [EC2BundleInstanceRequestMarshaller createRequest:bundleInstanceRequest];
  345. return (EC2BundleInstanceResponse *)[self invoke:request rawRequest:bundleInstanceRequest unmarshallerDelegate:[EC2BundleInstanceResponseUnmarshaller class]];
  346. }
  347. -(EC2DeletePlacementGroupResponse *)deletePlacementGroup:(EC2DeletePlacementGroupRequest *)deletePlacementGroupRequest
  348. {
  349. AmazonServiceRequest *request = [EC2DeletePlacementGroupRequestMarshaller createRequest:deletePlacementGroupRequest];
  350. return (EC2DeletePlacementGroupResponse *)[self invoke:request rawRequest:deletePlacementGroupRequest unmarshallerDelegate:[EC2DeletePlacementGroupResponseUnmarshaller class]];
  351. }
  352. -(EC2AllocateAddressResponse *)allocateAddress:(EC2AllocateAddressRequest *)allocateAddressRequest
  353. {
  354. AmazonServiceRequest *request = [EC2AllocateAddressRequestMarshaller createRequest:allocateAddressRequest];
  355. return (EC2AllocateAddressResponse *)[self invoke:request rawRequest:allocateAddressRequest unmarshallerDelegate:[EC2AllocateAddressResponseUnmarshaller class]];
  356. }
  357. -(EC2ReleaseAddressResponse *)releaseAddress:(EC2ReleaseAddressRequest *)releaseAddressRequest
  358. {
  359. AmazonServiceRequest *request = [EC2ReleaseAddressRequestMarshaller createRequest:releaseAddressRequest];
  360. return (EC2ReleaseAddressResponse *)[self invoke:request rawRequest:releaseAddressRequest unmarshallerDelegate:[EC2ReleaseAddressResponseUnmarshaller class]];
  361. }
  362. -(EC2ResetInstanceAttributeResponse *)resetInstanceAttribute:(EC2ResetInstanceAttributeRequest *)resetInstanceAttributeRequest
  363. {
  364. AmazonServiceRequest *request = [EC2ResetInstanceAttributeRequestMarshaller createRequest:resetInstanceAttributeRequest];
  365. return (EC2ResetInstanceAttributeResponse *)[self invoke:request rawRequest:resetInstanceAttributeRequest unmarshallerDelegate:[EC2ResetInstanceAttributeResponseUnmarshaller class]];
  366. }
  367. -(EC2CreateKeyPairResponse *)createKeyPair:(EC2CreateKeyPairRequest *)createKeyPairRequest
  368. {
  369. AmazonServiceRequest *request = [EC2CreateKeyPairRequestMarshaller createRequest:createKeyPairRequest];
  370. return (EC2CreateKeyPairResponse *)[self invoke:request rawRequest:createKeyPairRequest unmarshallerDelegate:[EC2CreateKeyPairResponseUnmarshaller class]];
  371. }
  372. -(EC2DescribeSnapshotsResponse *)describeSnapshots:(EC2DescribeSnapshotsRequest *)describeSnapshotsRequest
  373. {
  374. AmazonServiceRequest *request = [EC2DescribeSnapshotsRequestMarshaller createRequest:describeSnapshotsRequest];
  375. return (EC2DescribeSnapshotsResponse *)[self invoke:request rawRequest:describeSnapshotsRequest unmarshallerDelegate:[EC2DescribeSnapshotsResponseUnmarshaller class]];
  376. }
  377. -(EC2RegisterImageResponse *)registerImage:(EC2RegisterImageRequest *)registerImageRequest
  378. {
  379. AmazonServiceRequest *request = [EC2RegisterImageRequestMarshaller createRequest:registerImageRequest];
  380. return (EC2RegisterImageResponse *)[self invoke:request rawRequest:registerImageRequest unmarshallerDelegate:[EC2RegisterImageResponseUnmarshaller class]];
  381. }
  382. @end