aws-sdk-euca 1.8.5

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 (539) hide show
  1. data/.yardopts +5 -0
  2. data/LICENSE.txt +12 -0
  3. data/README.rdoc +189 -0
  4. data/ca-bundle.crt +3895 -0
  5. data/lib/aws-sdk-euca.rb +79 -0
  6. data/lib/aws-sdk.rb +79 -0
  7. data/lib/aws.rb +14 -0
  8. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +825 -0
  9. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +322 -0
  10. data/lib/aws/api_config/CloudFront-2012-05-05.yml +2102 -0
  11. data/lib/aws/api_config/CloudSearch-2011-02-01.yml +681 -0
  12. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +433 -0
  13. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +422 -0
  14. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +1160 -0
  15. data/lib/aws/api_config/EC2-2013-02-01.yml +4368 -0
  16. data/lib/aws/api_config/ELB-2012-06-01.yml +597 -0
  17. data/lib/aws/api_config/EMR-2009-03-31.yml +370 -0
  18. data/lib/aws/api_config/ElastiCache-2012-03-09.yml +777 -0
  19. data/lib/aws/api_config/ElastiCache-2012-11-15.yml +979 -0
  20. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +823 -0
  21. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +1036 -0
  22. data/lib/aws/api_config/Glacier-2012-06-01.yml +618 -0
  23. data/lib/aws/api_config/IAM-2010-05-08.yml +1222 -0
  24. data/lib/aws/api_config/ImportExport-2010-06-01.yml +109 -0
  25. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +1463 -0
  26. data/lib/aws/api_config/RDS-2012-09-17.yml +1861 -0
  27. data/lib/aws/api_config/RDS-2013-02-12.yml +2377 -0
  28. data/lib/aws/api_config/Redshift-2012-12-01.yml +1149 -0
  29. data/lib/aws/api_config/Route53-2012-02-29.yml +380 -0
  30. data/lib/aws/api_config/Route53-2012-12-12.yml +547 -0
  31. data/lib/aws/api_config/SNS-2010-03-31.yml +249 -0
  32. data/lib/aws/api_config/SQS-2012-11-05.yml +317 -0
  33. data/lib/aws/api_config/STS-2011-06-15.yml +81 -0
  34. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +306 -0
  35. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +346 -0
  36. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +2358 -0
  37. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +748 -0
  38. data/lib/aws/auto_scaling.rb +164 -0
  39. data/lib/aws/auto_scaling/activity.rb +102 -0
  40. data/lib/aws/auto_scaling/activity_collection.rb +82 -0
  41. data/lib/aws/auto_scaling/client.rb +521 -0
  42. data/lib/aws/auto_scaling/config.rb +18 -0
  43. data/lib/aws/auto_scaling/errors.rb +22 -0
  44. data/lib/aws/auto_scaling/group.rb +420 -0
  45. data/lib/aws/auto_scaling/group_collection.rb +96 -0
  46. data/lib/aws/auto_scaling/group_options.rb +146 -0
  47. data/lib/aws/auto_scaling/instance.rb +192 -0
  48. data/lib/aws/auto_scaling/instance_collection.rb +63 -0
  49. data/lib/aws/auto_scaling/launch_configuration.rb +158 -0
  50. data/lib/aws/auto_scaling/launch_configuration_collection.rb +154 -0
  51. data/lib/aws/auto_scaling/notification_configuration.rb +89 -0
  52. data/lib/aws/auto_scaling/notification_configuration_collection.rb +184 -0
  53. data/lib/aws/auto_scaling/request.rb +29 -0
  54. data/lib/aws/auto_scaling/scaling_policy.rb +142 -0
  55. data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
  56. data/lib/aws/auto_scaling/scaling_policy_options.rb +64 -0
  57. data/lib/aws/auto_scaling/scheduled_action.rb +145 -0
  58. data/lib/aws/auto_scaling/scheduled_action_collection.rb +195 -0
  59. data/lib/aws/auto_scaling/tag.rb +59 -0
  60. data/lib/aws/auto_scaling/tag_collection.rb +112 -0
  61. data/lib/aws/cloud_formation.rb +272 -0
  62. data/lib/aws/cloud_formation/client.rb +369 -0
  63. data/lib/aws/cloud_formation/config.rb +18 -0
  64. data/lib/aws/cloud_formation/errors.rb +22 -0
  65. data/lib/aws/cloud_formation/request.rb +29 -0
  66. data/lib/aws/cloud_formation/stack.rb +255 -0
  67. data/lib/aws/cloud_formation/stack_collection.rb +209 -0
  68. data/lib/aws/cloud_formation/stack_event.rb +75 -0
  69. data/lib/aws/cloud_formation/stack_event_collection.rb +47 -0
  70. data/lib/aws/cloud_formation/stack_options.rb +72 -0
  71. data/lib/aws/cloud_formation/stack_output.rb +53 -0
  72. data/lib/aws/cloud_formation/stack_resource.rb +117 -0
  73. data/lib/aws/cloud_formation/stack_resource_collection.rb +84 -0
  74. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +64 -0
  75. data/lib/aws/cloud_formation/stack_summary_collection.rb +123 -0
  76. data/lib/aws/cloud_front.rb +73 -0
  77. data/lib/aws/cloud_front/client.rb +1307 -0
  78. data/lib/aws/cloud_front/config.rb +18 -0
  79. data/lib/aws/cloud_front/errors.rb +22 -0
  80. data/lib/aws/cloud_front/request.rb +44 -0
  81. data/lib/aws/cloud_search.rb +74 -0
  82. data/lib/aws/cloud_search/client.rb +558 -0
  83. data/lib/aws/cloud_search/config.rb +18 -0
  84. data/lib/aws/cloud_search/errors.rb +22 -0
  85. data/lib/aws/cloud_search/request.rb +23 -0
  86. data/lib/aws/cloud_watch.rb +119 -0
  87. data/lib/aws/cloud_watch/alarm.rb +272 -0
  88. data/lib/aws/cloud_watch/alarm_collection.rb +153 -0
  89. data/lib/aws/cloud_watch/alarm_history_item.rb +50 -0
  90. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +84 -0
  91. data/lib/aws/cloud_watch/client.rb +247 -0
  92. data/lib/aws/cloud_watch/config.rb +18 -0
  93. data/lib/aws/cloud_watch/errors.rb +22 -0
  94. data/lib/aws/cloud_watch/metric.rb +135 -0
  95. data/lib/aws/cloud_watch/metric_alarm_collection.rb +160 -0
  96. data/lib/aws/cloud_watch/metric_collection.rb +131 -0
  97. data/lib/aws/cloud_watch/metric_statistics.rb +69 -0
  98. data/lib/aws/cloud_watch/request.rb +23 -0
  99. data/lib/aws/core.rb +587 -0
  100. data/lib/aws/core/async_handle.rb +90 -0
  101. data/lib/aws/core/autoloader.rb +64 -0
  102. data/lib/aws/core/cacheable.rb +78 -0
  103. data/lib/aws/core/client.rb +691 -0
  104. data/lib/aws/core/collection.rb +267 -0
  105. data/lib/aws/core/collection/simple.rb +82 -0
  106. data/lib/aws/core/collection/with_limit_and_next_token.rb +71 -0
  107. data/lib/aws/core/collection/with_next_token.rb +97 -0
  108. data/lib/aws/core/configuration.rb +546 -0
  109. data/lib/aws/core/credential_providers.rb +461 -0
  110. data/lib/aws/core/data.rb +247 -0
  111. data/lib/aws/core/http/curb_handler.rb +155 -0
  112. data/lib/aws/core/http/handler.rb +89 -0
  113. data/lib/aws/core/http/net_http_handler.rb +128 -0
  114. data/lib/aws/core/http/request.rb +263 -0
  115. data/lib/aws/core/http/response.rb +81 -0
  116. data/lib/aws/core/indifferent_hash.rb +88 -0
  117. data/lib/aws/core/inflection.rb +56 -0
  118. data/lib/aws/core/json_client.rb +47 -0
  119. data/lib/aws/core/json_parser.rb +76 -0
  120. data/lib/aws/core/json_request_builder.rb +35 -0
  121. data/lib/aws/core/json_response_parser.rb +79 -0
  122. data/lib/aws/core/lazy_error_classes.rb +90 -0
  123. data/lib/aws/core/log_formatter.rb +462 -0
  124. data/lib/aws/core/managed_file.rb +32 -0
  125. data/lib/aws/core/meta_utils.rb +45 -0
  126. data/lib/aws/core/model.rb +57 -0
  127. data/lib/aws/core/naming.rb +30 -0
  128. data/lib/aws/core/option_grammar.rb +735 -0
  129. data/lib/aws/core/options/json_serializer.rb +82 -0
  130. data/lib/aws/core/options/validator.rb +155 -0
  131. data/lib/aws/core/options/xml_serializer.rb +118 -0
  132. data/lib/aws/core/page_result.rb +75 -0
  133. data/lib/aws/core/policy.rb +916 -0
  134. data/lib/aws/core/query_client.rb +41 -0
  135. data/lib/aws/core/query_error_parser.rb +24 -0
  136. data/lib/aws/core/query_request_builder.rb +47 -0
  137. data/lib/aws/core/query_response_parser.rb +35 -0
  138. data/lib/aws/core/resource.rb +413 -0
  139. data/lib/aws/core/resource_cache.rb +40 -0
  140. data/lib/aws/core/response.rb +208 -0
  141. data/lib/aws/core/response_cache.rb +50 -0
  142. data/lib/aws/core/rest_error_parser.rb +24 -0
  143. data/lib/aws/core/rest_json_client.rb +40 -0
  144. data/lib/aws/core/rest_request_builder.rb +146 -0
  145. data/lib/aws/core/rest_response_parser.rb +66 -0
  146. data/lib/aws/core/rest_xml_client.rb +47 -0
  147. data/lib/aws/core/service_interface.rb +61 -0
  148. data/lib/aws/core/signature/version_2.rb +56 -0
  149. data/lib/aws/core/signature/version_3.rb +77 -0
  150. data/lib/aws/core/signature/version_3_https.rb +54 -0
  151. data/lib/aws/core/signature/version_4.rb +135 -0
  152. data/lib/aws/core/signer.rb +46 -0
  153. data/lib/aws/core/uri_escape.rb +44 -0
  154. data/lib/aws/core/xml/frame.rb +244 -0
  155. data/lib/aws/core/xml/frame_stack.rb +85 -0
  156. data/lib/aws/core/xml/grammar.rb +307 -0
  157. data/lib/aws/core/xml/parser.rb +70 -0
  158. data/lib/aws/core/xml/root_frame.rb +65 -0
  159. data/lib/aws/core/xml/sax_handlers/libxml.rb +47 -0
  160. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
  161. data/lib/aws/core/xml/sax_handlers/ox.rb +41 -0
  162. data/lib/aws/core/xml/sax_handlers/rexml.rb +43 -0
  163. data/lib/aws/core/xml/stub.rb +123 -0
  164. data/lib/aws/data_pipeline.rb +73 -0
  165. data/lib/aws/data_pipeline/client.rb +339 -0
  166. data/lib/aws/data_pipeline/config.rb +18 -0
  167. data/lib/aws/data_pipeline/errors.rb +20 -0
  168. data/lib/aws/data_pipeline/request.rb +26 -0
  169. data/lib/aws/dynamo_db.rb +206 -0
  170. data/lib/aws/dynamo_db/attribute_collection.rb +461 -0
  171. data/lib/aws/dynamo_db/batch_get.rb +213 -0
  172. data/lib/aws/dynamo_db/batch_write.rb +252 -0
  173. data/lib/aws/dynamo_db/binary.rb +35 -0
  174. data/lib/aws/dynamo_db/client.rb +904 -0
  175. data/lib/aws/dynamo_db/config.rb +24 -0
  176. data/lib/aws/dynamo_db/errors.rb +20 -0
  177. data/lib/aws/dynamo_db/expectations.rb +40 -0
  178. data/lib/aws/dynamo_db/item.rb +133 -0
  179. data/lib/aws/dynamo_db/item_collection.rb +852 -0
  180. data/lib/aws/dynamo_db/item_data.rb +31 -0
  181. data/lib/aws/dynamo_db/keys.rb +41 -0
  182. data/lib/aws/dynamo_db/primary_key_element.rb +48 -0
  183. data/lib/aws/dynamo_db/request.rb +26 -0
  184. data/lib/aws/dynamo_db/resource.rb +33 -0
  185. data/lib/aws/dynamo_db/table.rb +491 -0
  186. data/lib/aws/dynamo_db/table_collection.rb +165 -0
  187. data/lib/aws/dynamo_db/types.rb +111 -0
  188. data/lib/aws/ec2.rb +440 -0
  189. data/lib/aws/ec2/attachment.rb +140 -0
  190. data/lib/aws/ec2/attachment_collection.rb +54 -0
  191. data/lib/aws/ec2/availability_zone.rb +86 -0
  192. data/lib/aws/ec2/availability_zone_collection.rb +43 -0
  193. data/lib/aws/ec2/block_device_mappings.rb +53 -0
  194. data/lib/aws/ec2/client.rb +3621 -0
  195. data/lib/aws/ec2/collection.rb +36 -0
  196. data/lib/aws/ec2/config.rb +18 -0
  197. data/lib/aws/ec2/config_transform.rb +63 -0
  198. data/lib/aws/ec2/customer_gateway.rb +90 -0
  199. data/lib/aws/ec2/customer_gateway_collection.rb +73 -0
  200. data/lib/aws/ec2/dhcp_options.rb +106 -0
  201. data/lib/aws/ec2/dhcp_options_collection.rb +87 -0
  202. data/lib/aws/ec2/elastic_ip.rb +208 -0
  203. data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
  204. data/lib/aws/ec2/errors.rb +32 -0
  205. data/lib/aws/ec2/export_task.rb +120 -0
  206. data/lib/aws/ec2/export_task_collection.rb +67 -0
  207. data/lib/aws/ec2/filtered_collection.rb +89 -0
  208. data/lib/aws/ec2/has_permissions.rb +44 -0
  209. data/lib/aws/ec2/image.rb +264 -0
  210. data/lib/aws/ec2/image_collection.rb +228 -0
  211. data/lib/aws/ec2/instance.rb +796 -0
  212. data/lib/aws/ec2/instance_collection.rb +372 -0
  213. data/lib/aws/ec2/internet_gateway.rb +122 -0
  214. data/lib/aws/ec2/internet_gateway/attachment.rb +78 -0
  215. data/lib/aws/ec2/internet_gateway_collection.rb +54 -0
  216. data/lib/aws/ec2/key_pair.rb +82 -0
  217. data/lib/aws/ec2/key_pair_collection.rb +99 -0
  218. data/lib/aws/ec2/network_acl.rb +256 -0
  219. data/lib/aws/ec2/network_acl/association.rb +56 -0
  220. data/lib/aws/ec2/network_acl/entry.rb +147 -0
  221. data/lib/aws/ec2/network_acl_collection.rb +64 -0
  222. data/lib/aws/ec2/network_interface.rb +228 -0
  223. data/lib/aws/ec2/network_interface/attachment.rb +100 -0
  224. data/lib/aws/ec2/network_interface_collection.rb +103 -0
  225. data/lib/aws/ec2/permission_collection.rb +174 -0
  226. data/lib/aws/ec2/region.rb +106 -0
  227. data/lib/aws/ec2/region_collection.rb +51 -0
  228. data/lib/aws/ec2/request.rb +21 -0
  229. data/lib/aws/ec2/reserved_instances.rb +56 -0
  230. data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
  231. data/lib/aws/ec2/reserved_instances_offering.rb +60 -0
  232. data/lib/aws/ec2/reserved_instances_offering_collection.rb +39 -0
  233. data/lib/aws/ec2/resource.rb +161 -0
  234. data/lib/aws/ec2/resource_tag_collection.rb +211 -0
  235. data/lib/aws/ec2/route_table.rb +205 -0
  236. data/lib/aws/ec2/route_table/association.rb +119 -0
  237. data/lib/aws/ec2/route_table/route.rb +119 -0
  238. data/lib/aws/ec2/route_table_collection.rb +72 -0
  239. data/lib/aws/ec2/security_group.rb +484 -0
  240. data/lib/aws/ec2/security_group/ip_permission.rb +135 -0
  241. data/lib/aws/ec2/security_group/ip_permission_collection.rb +82 -0
  242. data/lib/aws/ec2/security_group_collection.rb +135 -0
  243. data/lib/aws/ec2/snapshot.rb +143 -0
  244. data/lib/aws/ec2/snapshot_collection.rb +132 -0
  245. data/lib/aws/ec2/subnet.rb +161 -0
  246. data/lib/aws/ec2/subnet_collection.rb +115 -0
  247. data/lib/aws/ec2/tag.rb +81 -0
  248. data/lib/aws/ec2/tag_collection.rb +107 -0
  249. data/lib/aws/ec2/tagged_collection.rb +53 -0
  250. data/lib/aws/ec2/tagged_item.rb +85 -0
  251. data/lib/aws/ec2/volume.rb +174 -0
  252. data/lib/aws/ec2/volume_collection.rb +101 -0
  253. data/lib/aws/ec2/vpc.rb +166 -0
  254. data/lib/aws/ec2/vpc_collection.rb +70 -0
  255. data/lib/aws/ec2/vpn_connection.rb +99 -0
  256. data/lib/aws/ec2/vpn_connection/telemetry.rb +49 -0
  257. data/lib/aws/ec2/vpn_connection_collection.rb +96 -0
  258. data/lib/aws/ec2/vpn_gateway.rb +123 -0
  259. data/lib/aws/ec2/vpn_gateway/attachment.rb +45 -0
  260. data/lib/aws/ec2/vpn_gateway_collection.rb +77 -0
  261. data/lib/aws/elastic_beanstalk.rb +50 -0
  262. data/lib/aws/elastic_beanstalk/client.rb +867 -0
  263. data/lib/aws/elastic_beanstalk/config.rb +18 -0
  264. data/lib/aws/elastic_beanstalk/errors.rb +22 -0
  265. data/lib/aws/elastic_beanstalk/request.rb +29 -0
  266. data/lib/aws/elastic_transcoder.rb +30 -0
  267. data/lib/aws/elastic_transcoder/client.rb +672 -0
  268. data/lib/aws/elastic_transcoder/config.rb +18 -0
  269. data/lib/aws/elastic_transcoder/errors.rb +23 -0
  270. data/lib/aws/elastic_transcoder/request.rb +30 -0
  271. data/lib/aws/elasticache.rb +50 -0
  272. data/lib/aws/elasticache/client.rb +920 -0
  273. data/lib/aws/elasticache/config.rb +18 -0
  274. data/lib/aws/elasticache/errors.rb +22 -0
  275. data/lib/aws/elasticache/request.rb +23 -0
  276. data/lib/aws/elb.rb +67 -0
  277. data/lib/aws/elb/availability_zone_collection.rb +138 -0
  278. data/lib/aws/elb/backend_server_policy_collection.rb +139 -0
  279. data/lib/aws/elb/client.rb +500 -0
  280. data/lib/aws/elb/config.rb +18 -0
  281. data/lib/aws/elb/errors.rb +26 -0
  282. data/lib/aws/elb/instance_collection.rb +173 -0
  283. data/lib/aws/elb/listener.rb +190 -0
  284. data/lib/aws/elb/listener_collection.rb +113 -0
  285. data/lib/aws/elb/listener_opts.rb +45 -0
  286. data/lib/aws/elb/load_balancer.rb +281 -0
  287. data/lib/aws/elb/load_balancer_collection.rb +134 -0
  288. data/lib/aws/elb/load_balancer_policy.rb +93 -0
  289. data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
  290. data/lib/aws/elb/request.rb +29 -0
  291. data/lib/aws/emr.rb +86 -0
  292. data/lib/aws/emr/client.rb +330 -0
  293. data/lib/aws/emr/config.rb +18 -0
  294. data/lib/aws/emr/errors.rb +22 -0
  295. data/lib/aws/emr/instance_group.rb +138 -0
  296. data/lib/aws/emr/instance_group_collection.rb +82 -0
  297. data/lib/aws/emr/job_flow.rb +306 -0
  298. data/lib/aws/emr/job_flow_collection.rb +185 -0
  299. data/lib/aws/emr/request.rb +23 -0
  300. data/lib/aws/errors.rb +162 -0
  301. data/lib/aws/glacier.rb +80 -0
  302. data/lib/aws/glacier/archive.rb +56 -0
  303. data/lib/aws/glacier/archive_collection.rb +146 -0
  304. data/lib/aws/glacier/client.rb +286 -0
  305. data/lib/aws/glacier/config.rb +19 -0
  306. data/lib/aws/glacier/errors.rb +22 -0
  307. data/lib/aws/glacier/request.rb +34 -0
  308. data/lib/aws/glacier/resource.rb +30 -0
  309. data/lib/aws/glacier/vault.rb +145 -0
  310. data/lib/aws/glacier/vault_collection.rb +75 -0
  311. data/lib/aws/glacier/vault_notification_configuration.rb +29 -0
  312. data/lib/aws/iam.rb +420 -0
  313. data/lib/aws/iam/access_key.rb +180 -0
  314. data/lib/aws/iam/access_key_collection.rb +128 -0
  315. data/lib/aws/iam/account_alias_collection.rb +79 -0
  316. data/lib/aws/iam/client.rb +1092 -0
  317. data/lib/aws/iam/collection.rb +83 -0
  318. data/lib/aws/iam/config.rb +18 -0
  319. data/lib/aws/iam/errors.rb +22 -0
  320. data/lib/aws/iam/group.rb +111 -0
  321. data/lib/aws/iam/group_collection.rb +132 -0
  322. data/lib/aws/iam/group_policy_collection.rb +47 -0
  323. data/lib/aws/iam/group_user_collection.rb +84 -0
  324. data/lib/aws/iam/login_profile.rb +99 -0
  325. data/lib/aws/iam/mfa_device.rb +52 -0
  326. data/lib/aws/iam/mfa_device_collection.rb +127 -0
  327. data/lib/aws/iam/policy.rb +46 -0
  328. data/lib/aws/iam/policy_collection.rb +188 -0
  329. data/lib/aws/iam/request.rb +29 -0
  330. data/lib/aws/iam/resource.rb +62 -0
  331. data/lib/aws/iam/server_certificate.rb +141 -0
  332. data/lib/aws/iam/server_certificate_collection.rb +138 -0
  333. data/lib/aws/iam/signing_certificate.rb +169 -0
  334. data/lib/aws/iam/signing_certificate_collection.rb +131 -0
  335. data/lib/aws/iam/user.rb +205 -0
  336. data/lib/aws/iam/user_collection.rb +133 -0
  337. data/lib/aws/iam/user_group_collection.rb +98 -0
  338. data/lib/aws/iam/user_policy.rb +90 -0
  339. data/lib/aws/iam/user_policy_collection.rb +45 -0
  340. data/lib/aws/iam/virtual_mfa_device.rb +139 -0
  341. data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
  342. data/lib/aws/import_export.rb +73 -0
  343. data/lib/aws/import_export/client.rb +109 -0
  344. data/lib/aws/import_export/config.rb +19 -0
  345. data/lib/aws/import_export/errors.rb +22 -0
  346. data/lib/aws/import_export/request.rb +23 -0
  347. data/lib/aws/ops_works.rb +30 -0
  348. data/lib/aws/ops_works/client.rb +713 -0
  349. data/lib/aws/ops_works/config.rb +18 -0
  350. data/lib/aws/ops_works/errors.rb +20 -0
  351. data/lib/aws/ops_works/request.rb +27 -0
  352. data/lib/aws/rails.rb +195 -0
  353. data/lib/aws/rds.rb +71 -0
  354. data/lib/aws/rds/client.rb +2228 -0
  355. data/lib/aws/rds/config.rb +18 -0
  356. data/lib/aws/rds/db_instance.rb +205 -0
  357. data/lib/aws/rds/db_instance_collection.rb +75 -0
  358. data/lib/aws/rds/db_snapshot.rb +163 -0
  359. data/lib/aws/rds/db_snapshot_collection.rb +89 -0
  360. data/lib/aws/rds/errors.rb +22 -0
  361. data/lib/aws/rds/request.rb +23 -0
  362. data/lib/aws/record.rb +116 -0
  363. data/lib/aws/record/abstract_base.rb +701 -0
  364. data/lib/aws/record/attributes.rb +384 -0
  365. data/lib/aws/record/conversion.rb +38 -0
  366. data/lib/aws/record/dirty_tracking.rb +285 -0
  367. data/lib/aws/record/errors.rb +143 -0
  368. data/lib/aws/record/exceptions.rb +48 -0
  369. data/lib/aws/record/hash_model.rb +161 -0
  370. data/lib/aws/record/hash_model/attributes.rb +197 -0
  371. data/lib/aws/record/hash_model/finder_methods.rb +172 -0
  372. data/lib/aws/record/hash_model/scope.rb +108 -0
  373. data/lib/aws/record/model.rb +427 -0
  374. data/lib/aws/record/model/attributes.rb +379 -0
  375. data/lib/aws/record/model/finder_methods.rb +232 -0
  376. data/lib/aws/record/model/scope.rb +213 -0
  377. data/lib/aws/record/naming.rb +31 -0
  378. data/lib/aws/record/scope.rb +199 -0
  379. data/lib/aws/record/validations.rb +712 -0
  380. data/lib/aws/record/validator.rb +246 -0
  381. data/lib/aws/record/validators/acceptance.rb +51 -0
  382. data/lib/aws/record/validators/block.rb +38 -0
  383. data/lib/aws/record/validators/confirmation.rb +43 -0
  384. data/lib/aws/record/validators/count.rb +108 -0
  385. data/lib/aws/record/validators/exclusion.rb +43 -0
  386. data/lib/aws/record/validators/format.rb +57 -0
  387. data/lib/aws/record/validators/inclusion.rb +56 -0
  388. data/lib/aws/record/validators/length.rb +107 -0
  389. data/lib/aws/record/validators/method.rb +33 -0
  390. data/lib/aws/record/validators/numericality.rb +138 -0
  391. data/lib/aws/record/validators/presence.rb +45 -0
  392. data/lib/aws/redshift.rb +52 -0
  393. data/lib/aws/redshift/client.rb +1291 -0
  394. data/lib/aws/redshift/config.rb +18 -0
  395. data/lib/aws/redshift/errors.rb +22 -0
  396. data/lib/aws/redshift/request.rb +29 -0
  397. data/lib/aws/route_53.rb +87 -0
  398. data/lib/aws/route_53/change_batch.rb +159 -0
  399. data/lib/aws/route_53/change_info.rb +72 -0
  400. data/lib/aws/route_53/client.rb +387 -0
  401. data/lib/aws/route_53/config.rb +18 -0
  402. data/lib/aws/route_53/errors.rb +22 -0
  403. data/lib/aws/route_53/hosted_zone.rb +111 -0
  404. data/lib/aws/route_53/hosted_zone_collection.rb +100 -0
  405. data/lib/aws/route_53/request.rb +23 -0
  406. data/lib/aws/route_53/resource_record_set.rb +237 -0
  407. data/lib/aws/route_53/resource_record_set_collection.rb +110 -0
  408. data/lib/aws/s3.rb +155 -0
  409. data/lib/aws/s3/access_control_list.rb +257 -0
  410. data/lib/aws/s3/acl_object.rb +264 -0
  411. data/lib/aws/s3/acl_options.rb +204 -0
  412. data/lib/aws/s3/bucket.rb +742 -0
  413. data/lib/aws/s3/bucket_collection.rb +160 -0
  414. data/lib/aws/s3/bucket_lifecycle_configuration.rb +458 -0
  415. data/lib/aws/s3/bucket_tag_collection.rb +109 -0
  416. data/lib/aws/s3/bucket_version_collection.rb +77 -0
  417. data/lib/aws/s3/cipher_io.rb +119 -0
  418. data/lib/aws/s3/client.rb +1700 -0
  419. data/lib/aws/s3/client/xml.rb +231 -0
  420. data/lib/aws/s3/config.rb +36 -0
  421. data/lib/aws/s3/cors_rule.rb +106 -0
  422. data/lib/aws/s3/cors_rule_collection.rb +192 -0
  423. data/lib/aws/s3/data_options.rb +185 -0
  424. data/lib/aws/s3/encryption_utils.rb +139 -0
  425. data/lib/aws/s3/errors.rb +94 -0
  426. data/lib/aws/s3/multipart_upload.rb +320 -0
  427. data/lib/aws/s3/multipart_upload_collection.rb +68 -0
  428. data/lib/aws/s3/object_collection.rb +355 -0
  429. data/lib/aws/s3/object_metadata.rb +96 -0
  430. data/lib/aws/s3/object_upload_collection.rb +77 -0
  431. data/lib/aws/s3/object_version.rb +148 -0
  432. data/lib/aws/s3/object_version_collection.rb +89 -0
  433. data/lib/aws/s3/paginated_collection.rb +75 -0
  434. data/lib/aws/s3/policy.rb +74 -0
  435. data/lib/aws/s3/prefix_and_delimiter_collection.rb +47 -0
  436. data/lib/aws/s3/prefixed_collection.rb +81 -0
  437. data/lib/aws/s3/presigned_post.rb +555 -0
  438. data/lib/aws/s3/request.rb +201 -0
  439. data/lib/aws/s3/s3_object.rb +1690 -0
  440. data/lib/aws/s3/tree.rb +118 -0
  441. data/lib/aws/s3/tree/branch_node.rb +68 -0
  442. data/lib/aws/s3/tree/child_collection.rb +104 -0
  443. data/lib/aws/s3/tree/leaf_node.rb +94 -0
  444. data/lib/aws/s3/tree/node.rb +22 -0
  445. data/lib/aws/s3/tree/parent.rb +87 -0
  446. data/lib/aws/s3/uploaded_part.rb +80 -0
  447. data/lib/aws/s3/uploaded_part_collection.rb +84 -0
  448. data/lib/aws/s3/website_configuration.rb +102 -0
  449. data/lib/aws/simple_db.rb +219 -0
  450. data/lib/aws/simple_db/attribute.rb +154 -0
  451. data/lib/aws/simple_db/attribute_collection.rb +231 -0
  452. data/lib/aws/simple_db/client.rb +287 -0
  453. data/lib/aws/simple_db/config.rb +20 -0
  454. data/lib/aws/simple_db/consistent_read_option.rb +42 -0
  455. data/lib/aws/simple_db/delete_attributes.rb +62 -0
  456. data/lib/aws/simple_db/domain.rb +121 -0
  457. data/lib/aws/simple_db/domain_collection.rb +86 -0
  458. data/lib/aws/simple_db/domain_metadata.rb +110 -0
  459. data/lib/aws/simple_db/errors.rb +55 -0
  460. data/lib/aws/simple_db/expect_condition_option.rb +45 -0
  461. data/lib/aws/simple_db/item.rb +93 -0
  462. data/lib/aws/simple_db/item_collection.rb +649 -0
  463. data/lib/aws/simple_db/item_data.rb +73 -0
  464. data/lib/aws/simple_db/put_attributes.rb +60 -0
  465. data/lib/aws/simple_db/request.rb +23 -0
  466. data/lib/aws/simple_email_service.rb +428 -0
  467. data/lib/aws/simple_email_service/client.rb +276 -0
  468. data/lib/aws/simple_email_service/config.rb +19 -0
  469. data/lib/aws/simple_email_service/email_address_collection.rb +69 -0
  470. data/lib/aws/simple_email_service/errors.rb +22 -0
  471. data/lib/aws/simple_email_service/identity.rb +209 -0
  472. data/lib/aws/simple_email_service/identity_collection.rb +81 -0
  473. data/lib/aws/simple_email_service/quotas.rb +64 -0
  474. data/lib/aws/simple_email_service/request.rb +27 -0
  475. data/lib/aws/simple_workflow.rb +228 -0
  476. data/lib/aws/simple_workflow/activity_task.rb +173 -0
  477. data/lib/aws/simple_workflow/activity_task_collection.rb +123 -0
  478. data/lib/aws/simple_workflow/activity_type.rb +131 -0
  479. data/lib/aws/simple_workflow/activity_type_collection.rb +93 -0
  480. data/lib/aws/simple_workflow/client.rb +1204 -0
  481. data/lib/aws/simple_workflow/config.rb +18 -0
  482. data/lib/aws/simple_workflow/count.rb +49 -0
  483. data/lib/aws/simple_workflow/decision_task.rb +603 -0
  484. data/lib/aws/simple_workflow/decision_task_collection.rb +225 -0
  485. data/lib/aws/simple_workflow/domain.rb +122 -0
  486. data/lib/aws/simple_workflow/domain_collection.rb +169 -0
  487. data/lib/aws/simple_workflow/errors.rb +20 -0
  488. data/lib/aws/simple_workflow/history_event.rb +276 -0
  489. data/lib/aws/simple_workflow/history_event_collection.rb +76 -0
  490. data/lib/aws/simple_workflow/option_formatters.rb +82 -0
  491. data/lib/aws/simple_workflow/request.rb +33 -0
  492. data/lib/aws/simple_workflow/resource.rb +94 -0
  493. data/lib/aws/simple_workflow/type.rb +89 -0
  494. data/lib/aws/simple_workflow/type_collection.rb +140 -0
  495. data/lib/aws/simple_workflow/workflow_execution.rb +386 -0
  496. data/lib/aws/simple_workflow/workflow_execution_collection.rb +617 -0
  497. data/lib/aws/simple_workflow/workflow_type.rb +177 -0
  498. data/lib/aws/simple_workflow/workflow_type_collection.rb +91 -0
  499. data/lib/aws/sns.rb +76 -0
  500. data/lib/aws/sns/client.rb +266 -0
  501. data/lib/aws/sns/config.rb +18 -0
  502. data/lib/aws/sns/errors.rb +22 -0
  503. data/lib/aws/sns/has_delivery_policy.rb +68 -0
  504. data/lib/aws/sns/policy.rb +47 -0
  505. data/lib/aws/sns/request.rb +23 -0
  506. data/lib/aws/sns/subscription.rb +144 -0
  507. data/lib/aws/sns/subscription_collection.rb +78 -0
  508. data/lib/aws/sns/topic.rb +403 -0
  509. data/lib/aws/sns/topic_collection.rb +62 -0
  510. data/lib/aws/sns/topic_subscription_collection.rb +54 -0
  511. data/lib/aws/sqs.rb +81 -0
  512. data/lib/aws/sqs/client.rb +258 -0
  513. data/lib/aws/sqs/config.rb +18 -0
  514. data/lib/aws/sqs/errors.rb +101 -0
  515. data/lib/aws/sqs/policy.rb +48 -0
  516. data/lib/aws/sqs/queue.rb +764 -0
  517. data/lib/aws/sqs/queue_collection.rb +174 -0
  518. data/lib/aws/sqs/received_message.rb +181 -0
  519. data/lib/aws/sqs/received_sns_message.rb +116 -0
  520. data/lib/aws/sqs/request.rb +67 -0
  521. data/lib/aws/storage_gateway.rb +73 -0
  522. data/lib/aws/storage_gateway/client.rb +472 -0
  523. data/lib/aws/storage_gateway/config.rb +18 -0
  524. data/lib/aws/storage_gateway/errors.rb +22 -0
  525. data/lib/aws/storage_gateway/request.rb +28 -0
  526. data/lib/aws/sts.rb +163 -0
  527. data/lib/aws/sts/client.rb +157 -0
  528. data/lib/aws/sts/config.rb +18 -0
  529. data/lib/aws/sts/errors.rb +22 -0
  530. data/lib/aws/sts/federated_session.rb +56 -0
  531. data/lib/aws/sts/policy.rb +30 -0
  532. data/lib/aws/sts/request.rb +29 -0
  533. data/lib/aws/sts/session.rb +48 -0
  534. data/lib/aws/version.rb +18 -0
  535. data/lib/net/http/connection_pool.rb +226 -0
  536. data/lib/net/http/connection_pool/connection.rb +189 -0
  537. data/lib/net/http/connection_pool/session.rb +126 -0
  538. data/rails/init.rb +15 -0
  539. metadata +632 -0
@@ -0,0 +1,180 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ module AWS
15
+ class IAM
16
+
17
+ # @attr_reader [Symbol] status The status of this access key.
18
+ # Status may be +:active+ or +:inactive+.
19
+ #
20
+ class AccessKey < Resource
21
+
22
+ # @param [String] access_key_id The id of this access key.
23
+ # @param [Hash] options
24
+ # @option [String] :user The IAM user this access key belongs to.
25
+ # If +:user+ is omitted then this access key belongs to the
26
+ # AWS account.
27
+ def initialize access_key_id, options = {}
28
+ @id = access_key_id
29
+ options[:secret_value] = nil unless options.has_key?(:secret_value)
30
+ @user = options[:user]
31
+ @user ? super(@user, options) : super(options)
32
+ end
33
+
34
+ # @return [User,nil] Returns the user this access key belongs to.
35
+ # Returns +nil+ if this access key belongs to the AWS account and not
36
+ # a specific user.
37
+ attr_reader :user
38
+
39
+ # @return [String] Returns the access key id.
40
+ attr_reader :id
41
+
42
+ alias_method :access_key_id, :id
43
+
44
+ attribute :secret_value, :from => :secret_access_key, :static => true
45
+
46
+ protected :secret_value
47
+
48
+ mutable_attribute :status, :to_sym => true
49
+
50
+ protected :status=
51
+
52
+ populates_from(:create_access_key) do |resp|
53
+ resp.access_key if matches_response_object?(resp.access_key)
54
+ end
55
+
56
+ populates_from(:list_access_keys) do |resp|
57
+ resp.access_key_metadata.find {|k| matches_response_object?(k) }
58
+ end
59
+
60
+ # Returns the secret access key.
61
+ #
62
+ # You can only access the secret for newly created access
63
+ # keys. Calling +secret+ on existing access keys raises an error.
64
+ #
65
+ # @example Getting the secret from a newly created access key
66
+ #
67
+ # access_key = iam.access_keys.create
68
+ # access_key.secret
69
+ # #=> 'SECRET_ACCESS_KEY'
70
+ #
71
+ # @example Failing to get the secret from an existing access key.
72
+ #
73
+ # access_key = iam.access_keys.first
74
+ # access_key.secret
75
+ # #=> raises a runtime error
76
+ #
77
+ # @return [String] Returns the secret access key.
78
+ def secret
79
+ secret_value or raise 'secret is only available for new access keys'
80
+ end
81
+
82
+ alias_method :secret_access_key, :secret
83
+
84
+ # @return [String,nil] Returns the name of the user this access key
85
+ # belogns to. If the access key belongs to the account, +nil+ is
86
+ # returned.
87
+ def user_name
88
+ @user ? @user.name : nil
89
+ end
90
+
91
+ # @return [Boolean] Returns true if this access key is active.
92
+ def active?
93
+ status == :active
94
+ end
95
+
96
+ # @return [Boolean] Returns true if this access key is inactive.
97
+ def inactive?
98
+ status == :inactive
99
+ end
100
+
101
+ # Activates this access key.
102
+ #
103
+ # @example
104
+ # access_key.activate!
105
+ # access_key.status
106
+ # # => :active
107
+ #
108
+ # @return [nil]
109
+ def activate!
110
+ self.status = 'Active'
111
+ nil
112
+ end
113
+
114
+ # Deactivates this access key.
115
+ #
116
+ # @example
117
+ # access_key.deactivate!
118
+ # access_key.status
119
+ # # => :inactive
120
+ #
121
+ # @return [nil]
122
+ # @return [nil]
123
+ def deactivate!
124
+ self.status = 'Inactive'
125
+ nil
126
+ end
127
+
128
+ # Deletes the access key.
129
+ def delete
130
+ client.delete_access_key(resource_options)
131
+ nil
132
+ end
133
+
134
+ # Returns a hash that should be saved somewhere safe.
135
+ #
136
+ # access_keys = iam.access_keys.create
137
+ # access_keys.credentials
138
+ # #=> { :access_key_id => '...', :secret_access_key => '...' }
139
+ #
140
+ # You can also use these credentials to make requests:
141
+ #
142
+ # s3 = AWS::S3.new(access_keys.credentials)
143
+ # s3.buckets.create('newbucket')
144
+ #
145
+ # @return [Hash] Returns a hash with the access key id and
146
+ # secret access key.
147
+ def credentials
148
+ { :access_key_id => id, :secret_access_key => secret }
149
+ end
150
+
151
+ # @private
152
+ protected
153
+ def resource_identifiers
154
+ identifiers = []
155
+ identifiers << [:access_key_id, id]
156
+ identifiers << [:user_name, user.name] if user
157
+ identifiers
158
+ end
159
+
160
+ # IAM does not provide a request for "get access keys".
161
+ # Also note, we do not page the response. This is because
162
+ # restrictions on how many access keys an account / user may
163
+ # have is fewer than one page of results.
164
+ # @private
165
+ protected
166
+ def get_resource attribute
167
+ options = user ? { :user_name => user.name } : {}
168
+ client.list_access_keys(options)
169
+ end
170
+
171
+ # @private
172
+ protected
173
+ def matches_response_object? obj
174
+ user_name = obj.respond_to?(:user_name) ? obj.user_name : nil
175
+ obj.access_key_id == self.id and user_name == self.user_name
176
+ end
177
+
178
+ end
179
+ end
180
+ end
@@ -0,0 +1,128 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ module AWS
15
+ class IAM
16
+
17
+ # Both AWS accounts and IAM users can have access keys (maximum of 2).
18
+ # You can create new keys so that you can rotate out your old keys.
19
+ # You can create, delete, activate and deactivate access keys.
20
+ #
21
+ # == Create New Access Keys
22
+ #
23
+ # # for the aws account
24
+ # access_keys = iam.access_keys.create
25
+ #
26
+ # # for an iam user
27
+ # user_access_keys = iam.users['johndoe'].access_keys.create
28
+ #
29
+ # == Secret
30
+ #
31
+ # Make sure after creating an access to retrieve the secret access key
32
+ # and save it somewhere safe.
33
+ #
34
+ # access_keys = iam.access_keys.create
35
+ # secret = access_keys.secret
36
+ #
37
+ # If you try to access the secret on an access key that was not newly
38
+ # created an error will be raised. AWS will only give the secret for
39
+ # a newly created access key:
40
+ #
41
+ # access_keys = iam.access_keys.first
42
+ # access_keys.secret
43
+ # #=> oops, raises a runtime error
44
+ #
45
+ class AccessKeyCollection
46
+
47
+ include Collection
48
+
49
+ # @param [Hash] options
50
+ # @option options [User] :user If present, this collection will only
51
+ # represent the access keys for the given user.
52
+ def initialize options = {}
53
+ @user = options[:user]
54
+ @user ? super(@user, options) : super(options)
55
+ end
56
+
57
+ # @return [User,nil] Returns the user these accesss keys belong to.
58
+ # If this returns +nil+ then these access keys belong to the
59
+ # AWS account.
60
+ attr_reader :user
61
+
62
+ def create
63
+
64
+ options = {}
65
+ options[:user_name] = user.name if user
66
+
67
+ resp = client.create_access_key(options)
68
+
69
+ AccessKey.new_from(:create_access_key, resp.access_key,
70
+ resp.access_key.access_key_id, new_options)
71
+
72
+ end
73
+
74
+ # @param [String] access_key_id The ID of the access key.
75
+ # @return [AccessKey] Returns a reference to the access key with
76
+ # the given +access_key_id+.
77
+ def [] access_key_id
78
+ AccessKey.new(access_key_id, new_options)
79
+ end
80
+
81
+ # Deletes all of the access keys from this collection.
82
+ #
83
+ # iam.users['someuser'].access_keys.clear
84
+ #
85
+ # @return [nil]
86
+ def clear
87
+ each{|access_key| access_key.delete }
88
+ nil
89
+ end
90
+
91
+ # Yields once for each access key. You can limit the number of
92
+ # access keys yielded using +:limit+.
93
+ #
94
+ # @param [Hash] options
95
+ # @option options [Integer] :limit The maximum number of access keys
96
+ # to yield.
97
+ # @option options [Integer] :batch_size The maximum number of
98
+ # access keys received each service reqeust.
99
+ # @yieldparam [AccessKey] access_key
100
+ # @return [nil]
101
+ def each options = {}, &block
102
+ each_options = options.dup
103
+ each_options[:user_name] = user.name if user
104
+ super(each_options, &block)
105
+ end
106
+
107
+ # @private
108
+ protected
109
+ def each_item response, &block
110
+ response.access_key_metadata.each do |item|
111
+
112
+ access_key = AccessKey.new_from(:list_access_keys, item,
113
+ item.access_key_id, new_options)
114
+
115
+ yield(access_key)
116
+
117
+ end
118
+ end
119
+
120
+ # @private
121
+ protected
122
+ def new_options
123
+ user ? { :user => user } : { :config => config }
124
+ end
125
+
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,79 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ module AWS
15
+ class IAM
16
+
17
+ # @private
18
+ #
19
+ # Currently IAM exposes the account alias in a collection, as if you
20
+ # could create/manage multiple aliases for a single account. However,
21
+ # creating a 2nd alias replaces the first, it does not add an additional
22
+ # alias.
23
+ #
24
+ # Because the API is modeled as a collection this class could be used
25
+ # to work with it, but instead we consume this by the IAM class for
26
+ # the following methods:
27
+ #
28
+ # * create_account_alias
29
+ # * account_alias
30
+ # * remove_account_alias
31
+ #
32
+ # If IAM allows accounts to have multiple aliases, then those previous
33
+ # 3 methods will be deprecated and this interface will be exposed.
34
+ class AccountAliasCollection
35
+
36
+ include Collection
37
+
38
+ # Creates an AWS account alias.
39
+ #
40
+ # iam.account_aliases.create('myaccountalias')
41
+ #
42
+ # For information about account alias restrictions and usage,
43
+ # see http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?AccountAlias.html.
44
+ #
45
+ # @param [String] account_alias
46
+ # @return [String] Returns the account_alias string that was passed.
47
+ def create account_alias
48
+ client.create_account_alias(:account_alias => account_alias)
49
+ account_alias
50
+ end
51
+
52
+ # Delete an AWS account alias.
53
+ #
54
+ # iam.account_aliases.delete('myaccountalias')
55
+ #
56
+ # @param [String] account_alias The account alias to delete.
57
+ # @return [nil]
58
+ def delete account_alias
59
+ client.delete_account_alias(:account_alias => account_alias)
60
+ nil
61
+ end
62
+
63
+ # @private
64
+ protected
65
+ def request_method
66
+ :list_account_aliases
67
+ end
68
+
69
+ # @private
70
+ protected
71
+ def each_item response, &block
72
+ response.data[:account_aliases].each do |account_alias|
73
+ yield(account_alias)
74
+ end
75
+ end
76
+
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,1092 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ module AWS
15
+ class IAM
16
+
17
+ # Client class for AWS Identity and Access Management (IAM).
18
+ class Client < Core::QueryClient
19
+
20
+ # @private
21
+ CACHEABLE_REQUESTS = Set[
22
+ :get_group,
23
+ :get_group_policy,
24
+ :get_instance_profile,
25
+ :get_role_policy,
26
+ :list_groups,
27
+ :list_group_policies,
28
+ :list_groups_for_user,
29
+ :list_instance_profiles,
30
+ :list_instance_profiles_for_role,
31
+ :list_role_policies,
32
+ :list_roles,
33
+ :list_server_certificates,
34
+ :list_virtual_mfa_devices,
35
+ ]
36
+
37
+ # client methods #
38
+
39
+ # @!method add_role_to_instance_profile(options = {})
40
+ # Calls the AddRoleToInstanceProfile API operation.
41
+ # @param [Hash] options
42
+ # * +:instance_profile_name+ - *required* - (String) Name of the
43
+ # instance profile to update.
44
+ # * +:role_name+ - *required* - (String) Name of the role to add.
45
+ # @return [Core::Response]
46
+
47
+ # @!method add_user_to_group(options = {})
48
+ # Calls the AddUserToGroup API operation.
49
+ # @param [Hash] options
50
+ # * +:group_name+ - *required* - (String) Name of the group to update.
51
+ # * +:user_name+ - *required* - (String) Name of the user to add.
52
+ # @return [Core::Response]
53
+
54
+ # @!method change_password(options = {})
55
+ # Calls the ChangePassword API operation.
56
+ # @param [Hash] options
57
+ # * +:old_password+ - *required* - (String)
58
+ # * +:new_password+ - *required* - (String)
59
+ # @return [Core::Response]
60
+
61
+ # @!method create_access_key(options = {})
62
+ # Calls the CreateAccessKey API operation.
63
+ # @param [Hash] options
64
+ # * +:user_name+ - (String) The user name that the new key will belong
65
+ # to.
66
+ # @return [Core::Response]
67
+ # The #data method of the response object returns
68
+ # a hash with the following structure:
69
+ # * +:access_key+ - (Hash)
70
+ # * +:user_name+ - (String)
71
+ # * +:access_key_id+ - (String)
72
+ # * +:status+ - (String)
73
+ # * +:secret_access_key+ - (String)
74
+ # * +:create_date+ - (Time)
75
+
76
+ # @!method create_account_alias(options = {})
77
+ # Calls the CreateAccountAlias API operation.
78
+ # @param [Hash] options
79
+ # * +:account_alias+ - *required* - (String) Name of the account alias
80
+ # to create.
81
+ # @return [Core::Response]
82
+
83
+ # @!method create_group(options = {})
84
+ # Calls the CreateGroup API operation.
85
+ # @param [Hash] options
86
+ # * +:path+ - (String) The path to the group. For more information
87
+ # about paths, see Identifiers for IAM Entities in Using AWS Identity
88
+ # and Access Management. This parameter is optional. If it is not
89
+ # included, it defaults to a slash (/).
90
+ # * +:group_name+ - *required* - (String) Name of the group to create.
91
+ # Do not include the path in this value.
92
+ # @return [Core::Response]
93
+ # The #data method of the response object returns
94
+ # a hash with the following structure:
95
+ # * +:group+ - (Hash)
96
+ # * +:path+ - (String)
97
+ # * +:group_name+ - (String)
98
+ # * +:group_id+ - (String)
99
+ # * +:arn+ - (String)
100
+ # * +:create_date+ - (Time)
101
+
102
+ # @!method create_instance_profile(options = {})
103
+ # Calls the CreateInstanceProfile API operation.
104
+ # @param [Hash] options
105
+ # * +:instance_profile_name+ - *required* - (String) Name of the
106
+ # instance profile to create.
107
+ # * +:path+ - (String) The path to the instance profile. For more
108
+ # information about paths, see Identifiers for IAM Entities in Using
109
+ # AWS Identity and Access Management. This parameter is optional. If
110
+ # it is not included, it defaults to a slash (/).
111
+ # @return [Core::Response]
112
+ # The #data method of the response object returns
113
+ # a hash with the following structure:
114
+ # * +:instance_profile+ - (Hash)
115
+ # * +:path+ - (String)
116
+ # * +:instance_profile_name+ - (String)
117
+ # * +:instance_profile_id+ - (String)
118
+ # * +:arn+ - (String)
119
+ # * +:create_date+ - (Time)
120
+ # * +:roles+ - (Array<Hash>)
121
+ # * +:path+ - (String)
122
+ # * +:role_name+ - (String)
123
+ # * +:role_id+ - (String)
124
+ # * +:arn+ - (String)
125
+ # * +:create_date+ - (Time)
126
+ # * +:assume_role_policy_document+ - (String)
127
+
128
+ # @!method create_login_profile(options = {})
129
+ # Calls the CreateLoginProfile API operation.
130
+ # @param [Hash] options
131
+ # * +:user_name+ - *required* - (String) Name of the user to create a
132
+ # password for.
133
+ # * +:password+ - *required* - (String) The new password for the user
134
+ # name.
135
+ # @return [Core::Response]
136
+ # The #data method of the response object returns
137
+ # a hash with the following structure:
138
+ # * +:login_profile+ - (Hash)
139
+ # * +:user_name+ - (String)
140
+ # * +:create_date+ - (Time)
141
+
142
+ # @!method create_role(options = {})
143
+ # Calls the CreateRole API operation.
144
+ # @param [Hash] options
145
+ # * +:path+ - (String) The path to the role. For more information about
146
+ # paths, see Identifiers for IAM Entities in Using AWS Identity and
147
+ # Access Management. This parameter is optional. If it is not
148
+ # included, it defaults to a slash (/).
149
+ # * +:role_name+ - *required* - (String) Name of the role to create.
150
+ # * +:assume_role_policy_document+ - *required* - (String) The policy
151
+ # that grants an entity permission to assume the role.
152
+ # @return [Core::Response]
153
+ # The #data method of the response object returns
154
+ # a hash with the following structure:
155
+ # * +:role+ - (Hash)
156
+ # * +:path+ - (String)
157
+ # * +:role_name+ - (String)
158
+ # * +:role_id+ - (String)
159
+ # * +:arn+ - (String)
160
+ # * +:create_date+ - (Time)
161
+ # * +:assume_role_policy_document+ - (String)
162
+
163
+ # @!method create_user(options = {})
164
+ # Calls the CreateUser API operation.
165
+ # @param [Hash] options
166
+ # * +:path+ - (String) The path for the user name. For more information
167
+ # about paths, see Identifiers for IAM Entities in Using AWS Identity
168
+ # and Access Management. This parameter is optional. If it is not
169
+ # included, it defaults to a slash (/).
170
+ # * +:user_name+ - *required* - (String) Name of the user to create.
171
+ # @return [Core::Response]
172
+ # The #data method of the response object returns
173
+ # a hash with the following structure:
174
+ # * +:user+ - (Hash)
175
+ # * +:path+ - (String)
176
+ # * +:user_name+ - (String)
177
+ # * +:user_id+ - (String)
178
+ # * +:arn+ - (String)
179
+ # * +:create_date+ - (Time)
180
+
181
+ # @!method create_virtual_mfa_device(options = {})
182
+ # Calls the CreateVirtualMFADevice API operation.
183
+ # @param [Hash] options
184
+ # * +:path+ - (String) The path for the virtual MFA device. For more
185
+ # information about paths, see Identifiers for IAM Entities in Using
186
+ # AWS Identity and Access Management. This parameter is optional. If
187
+ # it is not included, it defaults to a slash (/).
188
+ # * +:virtual_mfa_device_name+ - *required* - (String) The name of the
189
+ # virtual MFA device. Use with path to uniquely identify a virtual
190
+ # MFA device.
191
+ # @return [Core::Response]
192
+ # The #data method of the response object returns
193
+ # a hash with the following structure:
194
+ # * +:virtual_mfa_device+ - (Hash)
195
+ # * +:serial_number+ - (String)
196
+ # * +:base_32_string_seed+ - (String)
197
+ # * +:qr_code_png+ - (String)
198
+ # * +:user+ - (Hash)
199
+ # * +:path+ - (String)
200
+ # * +:user_name+ - (String)
201
+ # * +:user_id+ - (String)
202
+ # * +:arn+ - (String)
203
+ # * +:create_date+ - (Time)
204
+ # * +:enable_date+ - (Time)
205
+
206
+ # @!method deactivate_mfa_device(options = {})
207
+ # Calls the DeactivateMFADevice API operation.
208
+ # @param [Hash] options
209
+ # * +:user_name+ - *required* - (String) Name of the user whose MFA
210
+ # device you want to deactivate.
211
+ # * +:serial_number+ - *required* - (String) The serial number that
212
+ # uniquely identifies the MFA device. For virtual MFA devices, the
213
+ # serial number is the device ARN.
214
+ # @return [Core::Response]
215
+
216
+ # @!method delete_access_key(options = {})
217
+ # Calls the DeleteAccessKey API operation.
218
+ # @param [Hash] options
219
+ # * +:user_name+ - (String) Name of the user whose key you want to
220
+ # delete.
221
+ # * +:access_key_id+ - *required* - (String) The Access Key ID for the
222
+ # Access Key ID and Secret Access Key you want to delete.
223
+ # @return [Core::Response]
224
+
225
+ # @!method delete_account_alias(options = {})
226
+ # Calls the DeleteAccountAlias API operation.
227
+ # @param [Hash] options
228
+ # * +:account_alias+ - *required* - (String) Name of the account alias
229
+ # to delete.
230
+ # @return [Core::Response]
231
+
232
+ # @!method delete_account_password_policy(options = {})
233
+ # Calls the DeleteAccountPasswordPolicy API operation.
234
+ # @param [Hash] options
235
+ # @return [Core::Response]
236
+
237
+ # @!method delete_group(options = {})
238
+ # Calls the DeleteGroup API operation.
239
+ # @param [Hash] options
240
+ # * +:group_name+ - *required* - (String) Name of the group to delete.
241
+ # @return [Core::Response]
242
+
243
+ # @!method delete_group_policy(options = {})
244
+ # Calls the DeleteGroupPolicy API operation.
245
+ # @param [Hash] options
246
+ # * +:group_name+ - *required* - (String) Name of the group the policy
247
+ # is associated with.
248
+ # * +:policy_name+ - *required* - (String) Name of the policy document
249
+ # to delete.
250
+ # @return [Core::Response]
251
+
252
+ # @!method delete_instance_profile(options = {})
253
+ # Calls the DeleteInstanceProfile API operation.
254
+ # @param [Hash] options
255
+ # * +:instance_profile_name+ - *required* - (String) Name of the
256
+ # instance profile to delete.
257
+ # @return [Core::Response]
258
+
259
+ # @!method delete_login_profile(options = {})
260
+ # Calls the DeleteLoginProfile API operation.
261
+ # @param [Hash] options
262
+ # * +:user_name+ - *required* - (String) Name of the user whose
263
+ # password you want to delete.
264
+ # @return [Core::Response]
265
+
266
+ # @!method delete_role(options = {})
267
+ # Calls the DeleteRole API operation.
268
+ # @param [Hash] options
269
+ # * +:role_name+ - *required* - (String) Name of the role to delete.
270
+ # @return [Core::Response]
271
+
272
+ # @!method delete_role_policy(options = {})
273
+ # Calls the DeleteRolePolicy API operation.
274
+ # @param [Hash] options
275
+ # * +:role_name+ - *required* - (String) Name of the role the
276
+ # associated with the policy.
277
+ # * +:policy_name+ - *required* - (String) Name of the policy document
278
+ # to delete.
279
+ # @return [Core::Response]
280
+
281
+ # @!method delete_server_certificate(options = {})
282
+ # Calls the DeleteServerCertificate API operation.
283
+ # @param [Hash] options
284
+ # * +:server_certificate_name+ - *required* - (String) The name of the
285
+ # server certificate you want to delete.
286
+ # @return [Core::Response]
287
+
288
+ # @!method delete_signing_certificate(options = {})
289
+ # Calls the DeleteSigningCertificate API operation.
290
+ # @param [Hash] options
291
+ # * +:user_name+ - (String) Name of the user the signing certificate
292
+ # belongs to.
293
+ # * +:certificate_id+ - *required* - (String) ID of the signing
294
+ # certificate to delete.
295
+ # @return [Core::Response]
296
+
297
+ # @!method delete_user(options = {})
298
+ # Calls the DeleteUser API operation.
299
+ # @param [Hash] options
300
+ # * +:user_name+ - *required* - (String) Name of the user to delete.
301
+ # @return [Core::Response]
302
+
303
+ # @!method delete_user_policy(options = {})
304
+ # Calls the DeleteUserPolicy API operation.
305
+ # @param [Hash] options
306
+ # * +:user_name+ - *required* - (String) Name of the user the policy is
307
+ # associated with.
308
+ # * +:policy_name+ - *required* - (String) Name of the policy document
309
+ # to delete.
310
+ # @return [Core::Response]
311
+
312
+ # @!method delete_virtual_mfa_device(options = {})
313
+ # Calls the DeleteVirtualMFADevice API operation.
314
+ # @param [Hash] options
315
+ # * +:serial_number+ - *required* - (String) The serial number that
316
+ # uniquely identifies the MFA device. For virtual MFA devices, the
317
+ # serial number is the same as the ARN.
318
+ # @return [Core::Response]
319
+
320
+ # @!method enable_mfa_device(options = {})
321
+ # Calls the EnableMFADevice API operation.
322
+ # @param [Hash] options
323
+ # * +:user_name+ - *required* - (String) Name of the user for whom you
324
+ # want to enable the MFA device.
325
+ # * +:serial_number+ - *required* - (String) The serial number that
326
+ # uniquely identifies the MFA device. For virtual MFA devices, the
327
+ # serial number is the device ARN.
328
+ # * +:authentication_code_1+ - *required* - (String) An authentication
329
+ # code emitted by the device.
330
+ # * +:authentication_code_2+ - *required* - (String) A subsequent
331
+ # authentication code emitted by the device.
332
+ # @return [Core::Response]
333
+
334
+ # @!method get_account_password_policy(options = {})
335
+ # Calls the GetAccountPasswordPolicy API operation.
336
+ # @param [Hash] options
337
+ # @return [Core::Response]
338
+ # The #data method of the response object returns
339
+ # a hash with the following structure:
340
+ # * +:password_policy+ - (Hash)
341
+ # * +:minimum_password_length+ - (Integer)
342
+ # * +:require_symbols+ - (Boolean)
343
+ # * +:require_numbers+ - (Boolean)
344
+ # * +:require_uppercase_characters+ - (Boolean)
345
+ # * +:require_lowercase_characters+ - (Boolean)
346
+ # * +:allow_users_to_change_password+ - (Boolean)
347
+
348
+ # @!method get_account_summary(options = {})
349
+ # Calls the GetAccountSummary API operation.
350
+ # @param [Hash] options
351
+ # @return [Core::Response]
352
+ # The #data method of the response object returns
353
+ # a hash with the following structure:
354
+ # * +:summary_map+ - (Hash<String,Integer>)
355
+
356
+ # @!method get_group(options = {})
357
+ # Calls the GetGroup API operation.
358
+ # @param [Hash] options
359
+ # * +:group_name+ - *required* - (String) Name of the group.
360
+ # * +:marker+ - (String) Use this only when paginating results, and
361
+ # only in a subsequent request after you've received a response where
362
+ # the results are truncated. Set it to the value of the Marker
363
+ # element in the response you just received.
364
+ # * +:max_items+ - (Integer) Use this only when paginating results to
365
+ # indicate the maximum number of user names you want in the response.
366
+ # If there are additional user names beyond the maximum you specify,
367
+ # the IsTruncated response element is +true+ .
368
+ # @return [Core::Response]
369
+ # The #data method of the response object returns
370
+ # a hash with the following structure:
371
+ # * +:group+ - (Hash)
372
+ # * +:path+ - (String)
373
+ # * +:group_name+ - (String)
374
+ # * +:group_id+ - (String)
375
+ # * +:arn+ - (String)
376
+ # * +:create_date+ - (Time)
377
+ # * +:users+ - (Array<Hash>)
378
+ # * +:path+ - (String)
379
+ # * +:user_name+ - (String)
380
+ # * +:user_id+ - (String)
381
+ # * +:arn+ - (String)
382
+ # * +:create_date+ - (Time)
383
+ # * +:is_truncated+ - (Boolean)
384
+ # * +:marker+ - (String)
385
+
386
+ # @!method get_group_policy(options = {})
387
+ # Calls the GetGroupPolicy API operation.
388
+ # @param [Hash] options
389
+ # * +:group_name+ - *required* - (String) Name of the group the policy
390
+ # is associated with.
391
+ # * +:policy_name+ - *required* - (String) Name of the policy document
392
+ # to get.
393
+ # @return [Core::Response]
394
+ # The #data method of the response object returns
395
+ # a hash with the following structure:
396
+ # * +:group_name+ - (String)
397
+ # * +:policy_name+ - (String)
398
+ # * +:policy_document+ - (String)
399
+
400
+ # @!method get_instance_profile(options = {})
401
+ # Calls the GetInstanceProfile API operation.
402
+ # @param [Hash] options
403
+ # * +:instance_profile_name+ - *required* - (String) Name of the
404
+ # instance profile to get information about.
405
+ # @return [Core::Response]
406
+ # The #data method of the response object returns
407
+ # a hash with the following structure:
408
+ # * +:instance_profile+ - (Hash)
409
+ # * +:path+ - (String)
410
+ # * +:instance_profile_name+ - (String)
411
+ # * +:instance_profile_id+ - (String)
412
+ # * +:arn+ - (String)
413
+ # * +:create_date+ - (Time)
414
+ # * +:roles+ - (Array<Hash>)
415
+ # * +:path+ - (String)
416
+ # * +:role_name+ - (String)
417
+ # * +:role_id+ - (String)
418
+ # * +:arn+ - (String)
419
+ # * +:create_date+ - (Time)
420
+ # * +:assume_role_policy_document+ - (String)
421
+
422
+ # @!method get_login_profile(options = {})
423
+ # Calls the GetLoginProfile API operation.
424
+ # @param [Hash] options
425
+ # * +:user_name+ - *required* - (String) Name of the user whose login
426
+ # profile you want to retrieve.
427
+ # @return [Core::Response]
428
+ # The #data method of the response object returns
429
+ # a hash with the following structure:
430
+ # * +:login_profile+ - (Hash)
431
+ # * +:user_name+ - (String)
432
+ # * +:create_date+ - (Time)
433
+
434
+ # @!method get_role(options = {})
435
+ # Calls the GetRole API operation.
436
+ # @param [Hash] options
437
+ # * +:role_name+ - *required* - (String) Name of the role to get
438
+ # information about.
439
+ # @return [Core::Response]
440
+ # The #data method of the response object returns
441
+ # a hash with the following structure:
442
+ # * +:role+ - (Hash)
443
+ # * +:path+ - (String)
444
+ # * +:role_name+ - (String)
445
+ # * +:role_id+ - (String)
446
+ # * +:arn+ - (String)
447
+ # * +:create_date+ - (Time)
448
+ # * +:assume_role_policy_document+ - (String)
449
+
450
+ # @!method get_role_policy(options = {})
451
+ # Calls the GetRolePolicy API operation.
452
+ # @param [Hash] options
453
+ # * +:role_name+ - *required* - (String) Name of the role associated
454
+ # with the policy.
455
+ # * +:policy_name+ - *required* - (String) Name of the policy document
456
+ # to get.
457
+ # @return [Core::Response]
458
+ # The #data method of the response object returns
459
+ # a hash with the following structure:
460
+ # * +:role_name+ - (String)
461
+ # * +:policy_name+ - (String)
462
+ # * +:policy_document+ - (String)
463
+
464
+ # @!method get_server_certificate(options = {})
465
+ # Calls the GetServerCertificate API operation.
466
+ # @param [Hash] options
467
+ # * +:server_certificate_name+ - *required* - (String) The name of the
468
+ # server certificate you want to retrieve information about.
469
+ # @return [Core::Response]
470
+ # The #data method of the response object returns
471
+ # a hash with the following structure:
472
+ # * +:server_certificate+ - (Hash)
473
+ # * +:server_certificate_metadata+ - (Hash)
474
+ # * +:path+ - (String)
475
+ # * +:server_certificate_name+ - (String)
476
+ # * +:server_certificate_id+ - (String)
477
+ # * +:arn+ - (String)
478
+ # * +:upload_date+ - (Time)
479
+ # * +:certificate_body+ - (String)
480
+ # * +:certificate_chain+ - (String)
481
+
482
+ # @!method get_user(options = {})
483
+ # Calls the GetUser API operation.
484
+ # @param [Hash] options
485
+ # * +:user_name+ - (String) Name of the user to get information about.
486
+ # This parameter is optional. If it is not included, it defaults to
487
+ # the user making the request.
488
+ # @return [Core::Response]
489
+ # The #data method of the response object returns
490
+ # a hash with the following structure:
491
+ # * +:user+ - (Hash)
492
+ # * +:path+ - (String)
493
+ # * +:user_name+ - (String)
494
+ # * +:user_id+ - (String)
495
+ # * +:arn+ - (String)
496
+ # * +:create_date+ - (Time)
497
+
498
+ # @!method get_user_policy(options = {})
499
+ # Calls the GetUserPolicy API operation.
500
+ # @param [Hash] options
501
+ # * +:user_name+ - *required* - (String) Name of the user who the
502
+ # policy is associated with.
503
+ # * +:policy_name+ - *required* - (String) Name of the policy document
504
+ # to get.
505
+ # @return [Core::Response]
506
+ # The #data method of the response object returns
507
+ # a hash with the following structure:
508
+ # * +:user_name+ - (String)
509
+ # * +:policy_name+ - (String)
510
+ # * +:policy_document+ - (String)
511
+
512
+ # @!method list_access_keys(options = {})
513
+ # Calls the ListAccessKeys API operation.
514
+ # @param [Hash] options
515
+ # * +:user_name+ - (String) Name of the user.
516
+ # * +:marker+ - (String) Use this parameter only when paginating
517
+ # results, and only in a subsequent request after you've received a
518
+ # response where the results are truncated. Set it to the value of
519
+ # the Marker element in the response you just received.
520
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
521
+ # results to indicate the maximum number of keys you want in the
522
+ # response. If there are additional keys beyond the maximum you
523
+ # specify, the IsTruncated response element is +true+ .
524
+ # @return [Core::Response]
525
+ # The #data method of the response object returns
526
+ # a hash with the following structure:
527
+ # * +:access_key_metadata+ - (Array<Hash>)
528
+ # * +:user_name+ - (String)
529
+ # * +:access_key_id+ - (String)
530
+ # * +:status+ - (String)
531
+ # * +:create_date+ - (Time)
532
+ # * +:is_truncated+ - (Boolean)
533
+ # * +:marker+ - (String)
534
+
535
+ # @!method list_account_aliases(options = {})
536
+ # Calls the ListAccountAliases API operation.
537
+ # @param [Hash] options
538
+ # * +:marker+ - (String) Use this only when paginating results, and
539
+ # only in a subsequent request after you've received a response where
540
+ # the results are truncated. Set it to the value of the Marker
541
+ # element in the response you just received.
542
+ # * +:max_items+ - (Integer) Use this only when paginating results to
543
+ # indicate the maximum number of account aliases you want in the
544
+ # response. If there are additional account aliases beyond the
545
+ # maximum you specify, the IsTruncated response element is +true+ .
546
+ # @return [Core::Response]
547
+ # The #data method of the response object returns
548
+ # a hash with the following structure:
549
+ # * +:account_aliases+ - (Array<String>)
550
+ # * +:is_truncated+ - (Boolean)
551
+ # * +:marker+ - (String)
552
+
553
+ # @!method list_group_policies(options = {})
554
+ # Calls the ListGroupPolicies API operation.
555
+ # @param [Hash] options
556
+ # * +:group_name+ - *required* - (String) The name of the group to list
557
+ # policies for.
558
+ # * +:marker+ - (String) Use this only when paginating results, and
559
+ # only in a subsequent request after you've received a response where
560
+ # the results are truncated. Set it to the value of the Marker
561
+ # element in the response you just received.
562
+ # * +:max_items+ - (Integer) Use this only when paginating results to
563
+ # indicate the maximum number of policy names you want in the
564
+ # response. If there are additional policy names beyond the maximum
565
+ # you specify, the IsTruncated response element is +true+ .
566
+ # @return [Core::Response]
567
+ # The #data method of the response object returns
568
+ # a hash with the following structure:
569
+ # * +:policy_names+ - (Array<String>)
570
+ # * +:is_truncated+ - (Boolean)
571
+ # * +:marker+ - (String)
572
+
573
+ # @!method list_groups(options = {})
574
+ # Calls the ListGroups API operation.
575
+ # @param [Hash] options
576
+ # * +:path_prefix+ - (String) The path prefix for filtering the
577
+ # results. For example: /division_abc/subdivision_xyz/, which would
578
+ # get all groups whose path starts with
579
+ # /division_abc/subdivision_xyz/. This parameter is optional. If it
580
+ # is not included, it defaults to a slash (/), listing all groups.
581
+ # * +:marker+ - (String) Use this only when paginating results, and
582
+ # only in a subsequent request after you've received a response where
583
+ # the results are truncated. Set it to the value of the Marker
584
+ # element in the response you just received.
585
+ # * +:max_items+ - (Integer) Use this only when paginating results to
586
+ # indicate the maximum number of groups you want in the response. If
587
+ # there are additional groups beyond the maximum you specify, the
588
+ # IsTruncated response element is +true+ .
589
+ # @return [Core::Response]
590
+ # The #data method of the response object returns
591
+ # a hash with the following structure:
592
+ # * +:groups+ - (Array<Hash>)
593
+ # * +:path+ - (String)
594
+ # * +:group_name+ - (String)
595
+ # * +:group_id+ - (String)
596
+ # * +:arn+ - (String)
597
+ # * +:create_date+ - (Time)
598
+ # * +:is_truncated+ - (Boolean)
599
+ # * +:marker+ - (String)
600
+
601
+ # @!method list_groups_for_user(options = {})
602
+ # Calls the ListGroupsForUser API operation.
603
+ # @param [Hash] options
604
+ # * +:user_name+ - *required* - (String) The name of the user to list
605
+ # groups for.
606
+ # * +:marker+ - (String) Use this only when paginating results, and
607
+ # only in a subsequent request after you've received a response where
608
+ # the results are truncated. Set it to the value of the Marker
609
+ # element in the response you just received.
610
+ # * +:max_items+ - (Integer) Use this only when paginating results to
611
+ # indicate the maximum number of groups you want in the response. If
612
+ # there are additional groups beyond the maximum you specify, the
613
+ # IsTruncated response element is +true+ .
614
+ # @return [Core::Response]
615
+ # The #data method of the response object returns
616
+ # a hash with the following structure:
617
+ # * +:groups+ - (Array<Hash>)
618
+ # * +:path+ - (String)
619
+ # * +:group_name+ - (String)
620
+ # * +:group_id+ - (String)
621
+ # * +:arn+ - (String)
622
+ # * +:create_date+ - (Time)
623
+ # * +:is_truncated+ - (Boolean)
624
+ # * +:marker+ - (String)
625
+
626
+ # @!method list_instance_profiles(options = {})
627
+ # Calls the ListInstanceProfiles API operation.
628
+ # @param [Hash] options
629
+ # * +:path_prefix+ - (String) The path prefix for filtering the
630
+ # results. For example: /application_abc/component_xyz/, which would
631
+ # get all instance profiles whose path starts with
632
+ # /application_abc/component_xyz/. This parameter is optional. If it
633
+ # is not included, it defaults to a slash (/), listing all instance
634
+ # profiles.
635
+ # * +:marker+ - (String) Use this parameter only when paginating
636
+ # results, and only in a subsequent request after you've received a
637
+ # response where the results are truncated. Set it to the value of
638
+ # the Marker element in the response you just received.
639
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
640
+ # results to indicate the maximum number of user names you want in
641
+ # the response. If there are additional user names beyond the maximum
642
+ # you specify, the IsTruncated response element is +true+ .
643
+ # @return [Core::Response]
644
+ # The #data method of the response object returns
645
+ # a hash with the following structure:
646
+ # * +:instance_profiles+ - (Array<Hash>)
647
+ # * +:path+ - (String)
648
+ # * +:instance_profile_name+ - (String)
649
+ # * +:instance_profile_id+ - (String)
650
+ # * +:arn+ - (String)
651
+ # * +:create_date+ - (Time)
652
+ # * +:roles+ - (Array<Hash>)
653
+ # * +:path+ - (String)
654
+ # * +:role_name+ - (String)
655
+ # * +:role_id+ - (String)
656
+ # * +:arn+ - (String)
657
+ # * +:create_date+ - (Time)
658
+ # * +:assume_role_policy_document+ - (String)
659
+ # * +:is_truncated+ - (Boolean)
660
+ # * +:marker+ - (String)
661
+
662
+ # @!method list_instance_profiles_for_role(options = {})
663
+ # Calls the ListInstanceProfilesForRole API operation.
664
+ # @param [Hash] options
665
+ # * +:role_name+ - *required* - (String) The name of the role to list
666
+ # instance profiles for.
667
+ # * +:marker+ - (String) Use this parameter only when paginating
668
+ # results, and only in a subsequent request after you've received a
669
+ # response where the results are truncated. Set it to the value of
670
+ # the Marker element in the response you just received.
671
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
672
+ # results to indicate the maximum number of user names you want in
673
+ # the response. If there are additional user names beyond the maximum
674
+ # you specify, the IsTruncated response element is +true+ .
675
+ # @return [Core::Response]
676
+ # The #data method of the response object returns
677
+ # a hash with the following structure:
678
+ # * +:instance_profiles+ - (Array<Hash>)
679
+ # * +:path+ - (String)
680
+ # * +:instance_profile_name+ - (String)
681
+ # * +:instance_profile_id+ - (String)
682
+ # * +:arn+ - (String)
683
+ # * +:create_date+ - (Time)
684
+ # * +:roles+ - (Array<Hash>)
685
+ # * +:path+ - (String)
686
+ # * +:role_name+ - (String)
687
+ # * +:role_id+ - (String)
688
+ # * +:arn+ - (String)
689
+ # * +:create_date+ - (Time)
690
+ # * +:assume_role_policy_document+ - (String)
691
+ # * +:is_truncated+ - (Boolean)
692
+ # * +:marker+ - (String)
693
+
694
+ # @!method list_mfa_devices(options = {})
695
+ # Calls the ListMFADevices API operation.
696
+ # @param [Hash] options
697
+ # * +:user_name+ - (String) Name of the user whose MFA devices you want
698
+ # to list.
699
+ # * +:marker+ - (String) Use this only when paginating results, and
700
+ # only in a subsequent request after you've received a response where
701
+ # the results are truncated. Set it to the value of the Marker
702
+ # element in the response you just received.
703
+ # * +:max_items+ - (Integer) Use this only when paginating results to
704
+ # indicate the maximum number of MFA devices you want in the
705
+ # response. If there are additional MFA devices beyond the maximum
706
+ # you specify, the IsTruncated response element is +true+ .
707
+ # @return [Core::Response]
708
+ # The #data method of the response object returns
709
+ # a hash with the following structure:
710
+ # * +:mfa_devices+ - (Array<Hash>)
711
+ # * +:user_name+ - (String)
712
+ # * +:serial_number+ - (String)
713
+ # * +:enable_date+ - (Time)
714
+ # * +:is_truncated+ - (Boolean)
715
+ # * +:marker+ - (String)
716
+
717
+ # @!method list_role_policies(options = {})
718
+ # Calls the ListRolePolicies API operation.
719
+ # @param [Hash] options
720
+ # * +:role_name+ - *required* - (String) The name of the role to list
721
+ # policies for.
722
+ # * +:marker+ - (String) Use this parameter only when paginating
723
+ # results, and only in a subsequent request after you've received a
724
+ # response where the results are truncated. Set it to the value of
725
+ # the Marker element in the response you just received.
726
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
727
+ # results to indicate the maximum number of user names you want in
728
+ # the response. If there are additional user names beyond the maximum
729
+ # you specify, the IsTruncated response element is +true+ .
730
+ # @return [Core::Response]
731
+ # The #data method of the response object returns
732
+ # a hash with the following structure:
733
+ # * +:policy_names+ - (Array<String>)
734
+ # * +:is_truncated+ - (Boolean)
735
+ # * +:marker+ - (String)
736
+
737
+ # @!method list_roles(options = {})
738
+ # Calls the ListRoles API operation.
739
+ # @param [Hash] options
740
+ # * +:path_prefix+ - (String) The path prefix for filtering the
741
+ # results. For example: /application_abc/component_xyz/, which would
742
+ # get all roles whose path starts with
743
+ # /application_abc/component_xyz/. This parameter is optional. If it
744
+ # is not included, it defaults to a slash (/), listing all roles.
745
+ # * +:marker+ - (String) Use this parameter only when paginating
746
+ # results, and only in a subsequent request after you've received a
747
+ # response where the results are truncated. Set it to the value of
748
+ # the Marker element in the response you just received.
749
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
750
+ # results to indicate the maximum number of user names you want in
751
+ # the response. If there are additional user names beyond the maximum
752
+ # you specify, the IsTruncated response element is +true+ .
753
+ # @return [Core::Response]
754
+ # The #data method of the response object returns
755
+ # a hash with the following structure:
756
+ # * +:roles+ - (Array<Hash>)
757
+ # * +:path+ - (String)
758
+ # * +:role_name+ - (String)
759
+ # * +:role_id+ - (String)
760
+ # * +:arn+ - (String)
761
+ # * +:create_date+ - (Time)
762
+ # * +:assume_role_policy_document+ - (String)
763
+ # * +:is_truncated+ - (Boolean)
764
+ # * +:marker+ - (String)
765
+
766
+ # @!method list_server_certificates(options = {})
767
+ # Calls the ListServerCertificates API operation.
768
+ # @param [Hash] options
769
+ # * +:path_prefix+ - (String) The path prefix for filtering the
770
+ # results. For example: /company/servercerts would get all server
771
+ # certificates for which the path starts with /company/servercerts.
772
+ # This parameter is optional. If it is not included, it defaults to a
773
+ # slash (/), listing all server certificates.
774
+ # * +:marker+ - (String) Use this only when paginating results, and
775
+ # only in a subsequent request after you've received a response where
776
+ # the results are truncated. Set it to the value of the Marker
777
+ # element in the response you just received.
778
+ # * +:max_items+ - (Integer) Use this only when paginating results to
779
+ # indicate the maximum number of server certificates you want in the
780
+ # response. If there are additional server certificates beyond the
781
+ # maximum you specify, the IsTruncated response element will be set
782
+ # to +true+ .
783
+ # @return [Core::Response]
784
+ # The #data method of the response object returns
785
+ # a hash with the following structure:
786
+ # * +:server_certificate_metadata_list+ - (Array<Hash>)
787
+ # * +:path+ - (String)
788
+ # * +:server_certificate_name+ - (String)
789
+ # * +:server_certificate_id+ - (String)
790
+ # * +:arn+ - (String)
791
+ # * +:upload_date+ - (Time)
792
+ # * +:is_truncated+ - (Boolean)
793
+ # * +:marker+ - (String)
794
+
795
+ # @!method list_signing_certificates(options = {})
796
+ # Calls the ListSigningCertificates API operation.
797
+ # @param [Hash] options
798
+ # * +:user_name+ - (String) The name of the user.
799
+ # * +:marker+ - (String) Use this only when paginating results, and
800
+ # only in a subsequent request after you've received a response where
801
+ # the results are truncated. Set it to the value of the Marker
802
+ # element in the response you just received.
803
+ # * +:max_items+ - (Integer) Use this only when paginating results to
804
+ # indicate the maximum number of certificate IDs you want in the
805
+ # response. If there are additional certificate IDs beyond the
806
+ # maximum you specify, the IsTruncated response element is +true+ .
807
+ # @return [Core::Response]
808
+ # The #data method of the response object returns
809
+ # a hash with the following structure:
810
+ # * +:certificates+ - (Array<Hash>)
811
+ # * +:user_name+ - (String)
812
+ # * +:certificate_id+ - (String)
813
+ # * +:certificate_body+ - (String)
814
+ # * +:status+ - (String)
815
+ # * +:upload_date+ - (Time)
816
+ # * +:is_truncated+ - (Boolean)
817
+ # * +:marker+ - (String)
818
+
819
+ # @!method list_user_policies(options = {})
820
+ # Calls the ListUserPolicies API operation.
821
+ # @param [Hash] options
822
+ # * +:user_name+ - *required* - (String) The name of the user to list
823
+ # policies for.
824
+ # * +:marker+ - (String) Use this only when paginating results, and
825
+ # only in a subsequent request after you've received a response where
826
+ # the results are truncated. Set it to the value of the Marker
827
+ # element in the response you just received.
828
+ # * +:max_items+ - (Integer) Use this only when paginating results to
829
+ # indicate the maximum number of policy names you want in the
830
+ # response. If there are additional policy names beyond the maximum
831
+ # you specify, the IsTruncated response element is +true+ .
832
+ # @return [Core::Response]
833
+ # The #data method of the response object returns
834
+ # a hash with the following structure:
835
+ # * +:policy_names+ - (Array<String>)
836
+ # * +:is_truncated+ - (Boolean)
837
+ # * +:marker+ - (String)
838
+
839
+ # @!method list_users(options = {})
840
+ # Calls the ListUsers API operation.
841
+ # @param [Hash] options
842
+ # * +:path_prefix+ - (String) The path prefix for filtering the
843
+ # results. For example: /division_abc/subdivision_xyz/, which would
844
+ # get all user names whose path starts with
845
+ # /division_abc/subdivision_xyz/. This parameter is optional. If it
846
+ # is not included, it defaults to a slash (/), listing all user
847
+ # names.
848
+ # * +:marker+ - (String) Use this parameter only when paginating
849
+ # results, and only in a subsequent request after you've received a
850
+ # response where the results are truncated. Set it to the value of
851
+ # the Marker element in the response you just received.
852
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
853
+ # results to indicate the maximum number of user names you want in
854
+ # the response. If there are additional user names beyond the maximum
855
+ # you specify, the IsTruncated response element is +true+ .
856
+ # @return [Core::Response]
857
+ # The #data method of the response object returns
858
+ # a hash with the following structure:
859
+ # * +:users+ - (Array<Hash>)
860
+ # * +:path+ - (String)
861
+ # * +:user_name+ - (String)
862
+ # * +:user_id+ - (String)
863
+ # * +:arn+ - (String)
864
+ # * +:create_date+ - (Time)
865
+ # * +:is_truncated+ - (Boolean)
866
+ # * +:marker+ - (String)
867
+
868
+ # @!method list_virtual_mfa_devices(options = {})
869
+ # Calls the ListVirtualMFADevices API operation.
870
+ # @param [Hash] options
871
+ # * +:assignment_status+ - (String) The status (unassigned or assigned)
872
+ # of the devices to list. If you do not specify an AssignmentStatus,
873
+ # the action defaults to Any which lists both assigned and unassigned
874
+ # virtual MFA devices.
875
+ # * +:marker+ - (String) Use this parameter only when paginating
876
+ # results, and only in a subsequent request after you've received a
877
+ # response where the results are truncated. Set it to the value of
878
+ # the Marker element in the response you just received.
879
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
880
+ # results to indicate the maximum number of user names you want in
881
+ # the response. If there are additional user names beyond the maximum
882
+ # you specify, the IsTruncated response element is +true+ .
883
+ # @return [Core::Response]
884
+ # The #data method of the response object returns
885
+ # a hash with the following structure:
886
+ # * +:virtual_mfa_devices+ - (Array<Hash>)
887
+ # * +:serial_number+ - (String)
888
+ # * +:base_32_string_seed+ - (String)
889
+ # * +:qr_code_png+ - (String)
890
+ # * +:user+ - (Hash)
891
+ # * +:path+ - (String)
892
+ # * +:user_name+ - (String)
893
+ # * +:user_id+ - (String)
894
+ # * +:arn+ - (String)
895
+ # * +:create_date+ - (Time)
896
+ # * +:enable_date+ - (Time)
897
+ # * +:is_truncated+ - (Boolean)
898
+ # * +:marker+ - (String)
899
+
900
+ # @!method put_group_policy(options = {})
901
+ # Calls the PutGroupPolicy API operation.
902
+ # @param [Hash] options
903
+ # * +:group_name+ - *required* - (String) Name of the group to
904
+ # associate the policy with.
905
+ # * +:policy_name+ - *required* - (String) Name of the policy document.
906
+ # * +:policy_document+ - *required* - (String) The policy document.
907
+ # @return [Core::Response]
908
+
909
+ # @!method put_role_policy(options = {})
910
+ # Calls the PutRolePolicy API operation.
911
+ # @param [Hash] options
912
+ # * +:role_name+ - *required* - (String) Name of the role to associate
913
+ # the policy with.
914
+ # * +:policy_name+ - *required* - (String) Name of the policy document.
915
+ # * +:policy_document+ - *required* - (String) The policy document.
916
+ # @return [Core::Response]
917
+
918
+ # @!method put_user_policy(options = {})
919
+ # Calls the PutUserPolicy API operation.
920
+ # @param [Hash] options
921
+ # * +:user_name+ - *required* - (String) Name of the user to associate
922
+ # the policy with.
923
+ # * +:policy_name+ - *required* - (String) Name of the policy document.
924
+ # * +:policy_document+ - *required* - (String) The policy document.
925
+ # @return [Core::Response]
926
+
927
+ # @!method remove_role_from_instance_profile(options = {})
928
+ # Calls the RemoveRoleFromInstanceProfile API operation.
929
+ # @param [Hash] options
930
+ # * +:instance_profile_name+ - *required* - (String) Name of the
931
+ # instance profile to update.
932
+ # * +:role_name+ - *required* - (String) Name of the role to remove.
933
+ # @return [Core::Response]
934
+
935
+ # @!method remove_user_from_group(options = {})
936
+ # Calls the RemoveUserFromGroup API operation.
937
+ # @param [Hash] options
938
+ # * +:group_name+ - *required* - (String) Name of the group to update.
939
+ # * +:user_name+ - *required* - (String) Name of the user to remove.
940
+ # @return [Core::Response]
941
+
942
+ # @!method resync_mfa_device(options = {})
943
+ # Calls the ResyncMFADevice API operation.
944
+ # @param [Hash] options
945
+ # * +:user_name+ - *required* - (String) Name of the user whose MFA
946
+ # device you want to resynchronize.
947
+ # * +:serial_number+ - *required* - (String) Serial number that
948
+ # uniquely identifies the MFA device.
949
+ # * +:authentication_code_1+ - *required* - (String) An authentication
950
+ # code emitted by the device.
951
+ # * +:authentication_code_2+ - *required* - (String) A subsequent
952
+ # authentication code emitted by the device.
953
+ # @return [Core::Response]
954
+
955
+ # @!method update_access_key(options = {})
956
+ # Calls the UpdateAccessKey API operation.
957
+ # @param [Hash] options
958
+ # * +:user_name+ - (String) Name of the user whose key you want to
959
+ # update.
960
+ # * +:access_key_id+ - *required* - (String) The Access Key ID of the
961
+ # Secret Access Key you want to update.
962
+ # * +:status+ - *required* - (String) The status you want to assign to
963
+ # the Secret Access Key. Active means the key can be used for API
964
+ # calls to AWS, while Inactive means the key cannot be used.
965
+ # @return [Core::Response]
966
+
967
+ # @!method update_account_password_policy(options = {})
968
+ # Calls the UpdateAccountPasswordPolicy API operation.
969
+ # @param [Hash] options
970
+ # * +:minimum_password_length+ - (Integer)
971
+ # * +:require_symbols+ - (Boolean)
972
+ # * +:require_numbers+ - (Boolean)
973
+ # * +:require_uppercase_characters+ - (Boolean)
974
+ # * +:require_lowercase_characters+ - (Boolean)
975
+ # * +:allow_users_to_change_password+ - (Boolean)
976
+ # @return [Core::Response]
977
+
978
+ # @!method update_assume_role_policy(options = {})
979
+ # Calls the UpdateAssumeRolePolicy API operation.
980
+ # @param [Hash] options
981
+ # * +:role_name+ - *required* - (String) Name of the role to update.
982
+ # * +:policy_document+ - *required* - (String) The policy that grants
983
+ # an entity permission to assume the role.
984
+ # @return [Core::Response]
985
+
986
+ # @!method update_group(options = {})
987
+ # Calls the UpdateGroup API operation.
988
+ # @param [Hash] options
989
+ # * +:group_name+ - *required* - (String) Name of the group to update.
990
+ # If you're changing the name of the group, this is the original
991
+ # name.
992
+ # * +:new_path+ - (String) New path for the group. Only include this if
993
+ # changing the group's path.
994
+ # * +:new_group_name+ - (String) New name for the group. Only include
995
+ # this if changing the group's name.
996
+ # @return [Core::Response]
997
+
998
+ # @!method update_login_profile(options = {})
999
+ # Calls the UpdateLoginProfile API operation.
1000
+ # @param [Hash] options
1001
+ # * +:user_name+ - *required* - (String) Name of the user whose
1002
+ # password you want to update.
1003
+ # * +:password+ - (String) The new password for the user name.
1004
+ # @return [Core::Response]
1005
+
1006
+ # @!method update_server_certificate(options = {})
1007
+ # Calls the UpdateServerCertificate API operation.
1008
+ # @param [Hash] options
1009
+ # * +:server_certificate_name+ - *required* - (String) The name of the
1010
+ # server certificate that you want to update.
1011
+ # * +:new_path+ - (String) The new path for the server certificate.
1012
+ # Include this only if you are updating the server certificate's
1013
+ # path.
1014
+ # * +:new_server_certificate_name+ - (String) The new name for the
1015
+ # server certificate. Include this only if you are updating the
1016
+ # server certificate's name.
1017
+ # @return [Core::Response]
1018
+
1019
+ # @!method update_signing_certificate(options = {})
1020
+ # Calls the UpdateSigningCertificate API operation.
1021
+ # @param [Hash] options
1022
+ # * +:user_name+ - (String) Name of the user the signing certificate
1023
+ # belongs to.
1024
+ # * +:certificate_id+ - *required* - (String) The ID of the signing
1025
+ # certificate you want to update.
1026
+ # * +:status+ - *required* - (String) The status you want to assign to
1027
+ # the certificate. Active means the certificate can be used for API
1028
+ # calls to AWS, while Inactive means the certificate cannot be used.
1029
+ # @return [Core::Response]
1030
+
1031
+ # @!method update_user(options = {})
1032
+ # Calls the UpdateUser API operation.
1033
+ # @param [Hash] options
1034
+ # * +:user_name+ - *required* - (String) Name of the user to update. If
1035
+ # you're changing the name of the user, this is the original user
1036
+ # name.
1037
+ # * +:new_path+ - (String) New path for the user. Include this
1038
+ # parameter only if you're changing the user's path.
1039
+ # * +:new_user_name+ - (String) New name for the user. Include this
1040
+ # parameter only if you're changing the user's name.
1041
+ # @return [Core::Response]
1042
+
1043
+ # @!method upload_server_certificate(options = {})
1044
+ # Calls the UploadServerCertificate API operation.
1045
+ # @param [Hash] options
1046
+ # * +:path+ - (String) The path for the server certificate. For more
1047
+ # information about paths, see Identifiers for IAM Entities in Using
1048
+ # AWS Identity and Access Management. This parameter is optional. If
1049
+ # it is not included, it defaults to a slash (/).
1050
+ # * +:server_certificate_name+ - *required* - (String) The name for the
1051
+ # server certificate. Do not include the path in this value.
1052
+ # * +:certificate_body+ - *required* - (String) The contents of the
1053
+ # public key certificate in PEM-encoded format.
1054
+ # * +:private_key+ - *required* - (String) The contents of the private
1055
+ # key in PEM-encoded format.
1056
+ # * +:certificate_chain+ - (String) The contents of the certificate
1057
+ # chain. This is typically a concatenation of the PEM-encoded public
1058
+ # key certificates of the chain.
1059
+ # @return [Core::Response]
1060
+ # The #data method of the response object returns
1061
+ # a hash with the following structure:
1062
+ # * +:server_certificate_metadata+ - (Hash)
1063
+ # * +:path+ - (String)
1064
+ # * +:server_certificate_name+ - (String)
1065
+ # * +:server_certificate_id+ - (String)
1066
+ # * +:arn+ - (String)
1067
+ # * +:upload_date+ - (Time)
1068
+
1069
+ # @!method upload_signing_certificate(options = {})
1070
+ # Calls the UploadSigningCertificate API operation.
1071
+ # @param [Hash] options
1072
+ # * +:user_name+ - (String) Name of the user the signing certificate is
1073
+ # for.
1074
+ # * +:certificate_body+ - *required* - (String) The contents of the
1075
+ # signing certificate.
1076
+ # @return [Core::Response]
1077
+ # The #data method of the response object returns
1078
+ # a hash with the following structure:
1079
+ # * +:certificate+ - (Hash)
1080
+ # * +:user_name+ - (String)
1081
+ # * +:certificate_id+ - (String)
1082
+ # * +:certificate_body+ - (String)
1083
+ # * +:status+ - (String)
1084
+ # * +:upload_date+ - (Time)
1085
+
1086
+ # end client methods #
1087
+
1088
+ define_client_methods('2010-05-08')
1089
+
1090
+ end
1091
+ end
1092
+ end