aws_sdk 3.1.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 (390) hide show
  1. data/lib/aws-sdk.rb +14 -0
  2. data/lib/aws.rb +49 -0
  3. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +791 -0
  4. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +303 -0
  5. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +540 -0
  6. data/lib/aws/api_config/EC2-2011-12-15.yml +3638 -0
  7. data/lib/aws/api_config/EC2-2012-04-01.yml +3739 -0
  8. data/lib/aws/api_config/ELB-2011-08-15.yml +512 -0
  9. data/lib/aws/api_config/IAM-2010-05-08.yml +1221 -0
  10. data/lib/aws/api_config/SNS-2010-03-31.yml +248 -0
  11. data/lib/aws/api_config/SQS-2011-10-01.yml +314 -0
  12. data/lib/aws/api_config/STS-2011-06-15.yml +54 -0
  13. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +305 -0
  14. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +231 -0
  15. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +721 -0
  16. data/lib/aws/auto_scaling.rb +162 -0
  17. data/lib/aws/auto_scaling/activity.rb +102 -0
  18. data/lib/aws/auto_scaling/activity_collection.rb +82 -0
  19. data/lib/aws/auto_scaling/client.rb +765 -0
  20. data/lib/aws/auto_scaling/config.rb +18 -0
  21. data/lib/aws/auto_scaling/errors.rb +22 -0
  22. data/lib/aws/auto_scaling/group.rb +420 -0
  23. data/lib/aws/auto_scaling/group_collection.rb +96 -0
  24. data/lib/aws/auto_scaling/group_options.rb +146 -0
  25. data/lib/aws/auto_scaling/instance.rb +192 -0
  26. data/lib/aws/auto_scaling/instance_collection.rb +63 -0
  27. data/lib/aws/auto_scaling/launch_configuration.rb +150 -0
  28. data/lib/aws/auto_scaling/launch_configuration_collection.rb +144 -0
  29. data/lib/aws/auto_scaling/notification_configuration.rb +89 -0
  30. data/lib/aws/auto_scaling/notification_configuration_collection.rb +184 -0
  31. data/lib/aws/auto_scaling/request.rb +23 -0
  32. data/lib/aws/auto_scaling/scaling_policy.rb +125 -0
  33. data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
  34. data/lib/aws/auto_scaling/scaling_policy_options.rb +61 -0
  35. data/lib/aws/auto_scaling/scheduled_action.rb +145 -0
  36. data/lib/aws/auto_scaling/scheduled_action_collection.rb +195 -0
  37. data/lib/aws/auto_scaling/tag.rb +59 -0
  38. data/lib/aws/auto_scaling/tag_collection.rb +112 -0
  39. data/lib/aws/cloud_formation.rb +270 -0
  40. data/lib/aws/cloud_formation/client.rb +339 -0
  41. data/lib/aws/cloud_formation/config.rb +18 -0
  42. data/lib/aws/cloud_formation/errors.rb +22 -0
  43. data/lib/aws/cloud_formation/request.rb +29 -0
  44. data/lib/aws/cloud_formation/stack.rb +256 -0
  45. data/lib/aws/cloud_formation/stack_collection.rb +206 -0
  46. data/lib/aws/cloud_formation/stack_event.rb +75 -0
  47. data/lib/aws/cloud_formation/stack_event_collection.rb +47 -0
  48. data/lib/aws/cloud_formation/stack_options.rb +72 -0
  49. data/lib/aws/cloud_formation/stack_output.rb +53 -0
  50. data/lib/aws/cloud_formation/stack_resource.rb +117 -0
  51. data/lib/aws/cloud_formation/stack_resource_collection.rb +84 -0
  52. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +72 -0
  53. data/lib/aws/cloud_formation/stack_summary.rb +71 -0
  54. data/lib/aws/cloud_formation/stack_summary_collection.rb +127 -0
  55. data/lib/aws/core.rb +474 -0
  56. data/lib/aws/core/async_handle.rb +90 -0
  57. data/lib/aws/core/autoloader.rb +64 -0
  58. data/lib/aws/core/cacheable.rb +78 -0
  59. data/lib/aws/core/client.rb +541 -0
  60. data/lib/aws/core/client/query_json.rb +110 -0
  61. data/lib/aws/core/client/query_xml.rb +122 -0
  62. data/lib/aws/core/collection.rb +234 -0
  63. data/lib/aws/core/collection/limitable.rb +99 -0
  64. data/lib/aws/core/collection/simple.rb +90 -0
  65. data/lib/aws/core/configuration.rb +445 -0
  66. data/lib/aws/core/data.rb +242 -0
  67. data/lib/aws/core/default_signer.rb +67 -0
  68. data/lib/aws/core/http/curb_handler.rb +136 -0
  69. data/lib/aws/core/http/handler.rb +77 -0
  70. data/lib/aws/core/http/httparty_handler.rb +114 -0
  71. data/lib/aws/core/http/net_http_handler.rb +85 -0
  72. data/lib/aws/core/http/request.rb +250 -0
  73. data/lib/aws/core/http/response.rb +74 -0
  74. data/lib/aws/core/indifferent_hash.rb +88 -0
  75. data/lib/aws/core/inflection.rb +47 -0
  76. data/lib/aws/core/lazy_error_classes.rb +90 -0
  77. data/lib/aws/core/log_formatter.rb +454 -0
  78. data/lib/aws/core/meta_utils.rb +45 -0
  79. data/lib/aws/core/model.rb +57 -0
  80. data/lib/aws/core/naming.rb +30 -0
  81. data/lib/aws/core/option_grammar.rb +700 -0
  82. data/lib/aws/core/page_result.rb +73 -0
  83. data/lib/aws/core/policy.rb +916 -0
  84. data/lib/aws/core/resource.rb +408 -0
  85. data/lib/aws/core/resource_cache.rb +40 -0
  86. data/lib/aws/core/response.rb +202 -0
  87. data/lib/aws/core/response_cache.rb +50 -0
  88. data/lib/aws/core/service_interface.rb +61 -0
  89. data/lib/aws/core/session_signer.rb +90 -0
  90. data/lib/aws/core/signature/version_2.rb +42 -0
  91. data/lib/aws/core/signature/version_3.rb +73 -0
  92. data/lib/aws/core/signature/version_3_http.rb +72 -0
  93. data/lib/aws/core/signature/version_4.rb +138 -0
  94. data/lib/aws/core/uri_escape.rb +42 -0
  95. data/lib/aws/core/xml/frame.rb +242 -0
  96. data/lib/aws/core/xml/frame_stack.rb +85 -0
  97. data/lib/aws/core/xml/grammar.rb +299 -0
  98. data/lib/aws/core/xml/parser.rb +70 -0
  99. data/lib/aws/core/xml/root_frame.rb +65 -0
  100. data/lib/aws/core/xml/sax_handlers/libxml.rb +47 -0
  101. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
  102. data/lib/aws/core/xml/sax_handlers/ox.rb +41 -0
  103. data/lib/aws/core/xml/sax_handlers/rexml.rb +43 -0
  104. data/lib/aws/core/xml/stub.rb +123 -0
  105. data/lib/aws/dynamo_db.rb +213 -0
  106. data/lib/aws/dynamo_db/attribute_collection.rb +460 -0
  107. data/lib/aws/dynamo_db/batch_get.rb +206 -0
  108. data/lib/aws/dynamo_db/batch_write.rb +251 -0
  109. data/lib/aws/dynamo_db/client.rb +888 -0
  110. data/lib/aws/dynamo_db/config.rb +20 -0
  111. data/lib/aws/dynamo_db/errors.rb +20 -0
  112. data/lib/aws/dynamo_db/expectations.rb +40 -0
  113. data/lib/aws/dynamo_db/item.rb +130 -0
  114. data/lib/aws/dynamo_db/item_collection.rb +852 -0
  115. data/lib/aws/dynamo_db/item_data.rb +31 -0
  116. data/lib/aws/dynamo_db/keys.rb +41 -0
  117. data/lib/aws/dynamo_db/primary_key_element.rb +47 -0
  118. data/lib/aws/dynamo_db/request.rb +28 -0
  119. data/lib/aws/dynamo_db/resource.rb +33 -0
  120. data/lib/aws/dynamo_db/table.rb +489 -0
  121. data/lib/aws/dynamo_db/table_collection.rb +165 -0
  122. data/lib/aws/dynamo_db/types.rb +86 -0
  123. data/lib/aws/ec2.rb +431 -0
  124. data/lib/aws/ec2/attachment.rb +140 -0
  125. data/lib/aws/ec2/attachment_collection.rb +54 -0
  126. data/lib/aws/ec2/availability_zone.rb +87 -0
  127. data/lib/aws/ec2/availability_zone_collection.rb +43 -0
  128. data/lib/aws/ec2/block_device_mappings.rb +53 -0
  129. data/lib/aws/ec2/client.rb +4121 -0
  130. data/lib/aws/ec2/collection.rb +36 -0
  131. data/lib/aws/ec2/config.rb +18 -0
  132. data/lib/aws/ec2/config_transform.rb +63 -0
  133. data/lib/aws/ec2/customer_gateway.rb +90 -0
  134. data/lib/aws/ec2/customer_gateway_collection.rb +73 -0
  135. data/lib/aws/ec2/dhcp_options.rb +106 -0
  136. data/lib/aws/ec2/dhcp_options_collection.rb +87 -0
  137. data/lib/aws/ec2/elastic_ip.rb +157 -0
  138. data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
  139. data/lib/aws/ec2/errors.rb +32 -0
  140. data/lib/aws/ec2/filtered_collection.rb +90 -0
  141. data/lib/aws/ec2/has_permissions.rb +44 -0
  142. data/lib/aws/ec2/image.rb +254 -0
  143. data/lib/aws/ec2/image_collection.rb +228 -0
  144. data/lib/aws/ec2/instance.rb +669 -0
  145. data/lib/aws/ec2/instance_collection.rb +346 -0
  146. data/lib/aws/ec2/internet_gateway.rb +122 -0
  147. data/lib/aws/ec2/internet_gateway/attachment.rb +78 -0
  148. data/lib/aws/ec2/internet_gateway_collection.rb +54 -0
  149. data/lib/aws/ec2/key_pair.rb +82 -0
  150. data/lib/aws/ec2/key_pair_collection.rb +99 -0
  151. data/lib/aws/ec2/network_acl.rb +256 -0
  152. data/lib/aws/ec2/network_acl/association.rb +56 -0
  153. data/lib/aws/ec2/network_acl/entry.rb +147 -0
  154. data/lib/aws/ec2/network_acl_collection.rb +64 -0
  155. data/lib/aws/ec2/network_interface.rb +228 -0
  156. data/lib/aws/ec2/network_interface/attachment.rb +100 -0
  157. data/lib/aws/ec2/network_interface_collection.rb +103 -0
  158. data/lib/aws/ec2/permission_collection.rb +174 -0
  159. data/lib/aws/ec2/region.rb +97 -0
  160. data/lib/aws/ec2/region_collection.rb +51 -0
  161. data/lib/aws/ec2/request.rb +22 -0
  162. data/lib/aws/ec2/reserved_instances.rb +53 -0
  163. data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
  164. data/lib/aws/ec2/reserved_instances_offering.rb +58 -0
  165. data/lib/aws/ec2/reserved_instances_offering_collection.rb +39 -0
  166. data/lib/aws/ec2/resource.rb +161 -0
  167. data/lib/aws/ec2/resource_tag_collection.rb +211 -0
  168. data/lib/aws/ec2/route_table.rb +205 -0
  169. data/lib/aws/ec2/route_table/association.rb +119 -0
  170. data/lib/aws/ec2/route_table/route.rb +113 -0
  171. data/lib/aws/ec2/route_table_collection.rb +72 -0
  172. data/lib/aws/ec2/security_group.rb +458 -0
  173. data/lib/aws/ec2/security_group/egress_ip_permission_collection.rb +63 -0
  174. data/lib/aws/ec2/security_group/ingress_ip_permission_collection.rb +61 -0
  175. data/lib/aws/ec2/security_group/ip_permission.rb +128 -0
  176. data/lib/aws/ec2/security_group_collection.rb +135 -0
  177. data/lib/aws/ec2/snapshot.rb +143 -0
  178. data/lib/aws/ec2/snapshot_collection.rb +131 -0
  179. data/lib/aws/ec2/subnet.rb +161 -0
  180. data/lib/aws/ec2/subnet_collection.rb +115 -0
  181. data/lib/aws/ec2/tag.rb +81 -0
  182. data/lib/aws/ec2/tag_collection.rb +107 -0
  183. data/lib/aws/ec2/tagged_collection.rb +53 -0
  184. data/lib/aws/ec2/tagged_item.rb +85 -0
  185. data/lib/aws/ec2/volume.rb +170 -0
  186. data/lib/aws/ec2/volume_collection.rb +97 -0
  187. data/lib/aws/ec2/vpc.rb +166 -0
  188. data/lib/aws/ec2/vpc_collection.rb +70 -0
  189. data/lib/aws/ec2/vpn_connection.rb +99 -0
  190. data/lib/aws/ec2/vpn_connection/telemetry.rb +49 -0
  191. data/lib/aws/ec2/vpn_connection_collection.rb +96 -0
  192. data/lib/aws/ec2/vpn_gateway.rb +123 -0
  193. data/lib/aws/ec2/vpn_gateway/attachment.rb +45 -0
  194. data/lib/aws/ec2/vpn_gateway_collection.rb +77 -0
  195. data/lib/aws/elb.rb +65 -0
  196. data/lib/aws/elb/availability_zone_collection.rb +138 -0
  197. data/lib/aws/elb/backend_server_policy_collection.rb +140 -0
  198. data/lib/aws/elb/client.rb +539 -0
  199. data/lib/aws/elb/config.rb +18 -0
  200. data/lib/aws/elb/errors.rb +26 -0
  201. data/lib/aws/elb/instance_collection.rb +174 -0
  202. data/lib/aws/elb/listener.rb +189 -0
  203. data/lib/aws/elb/listener_collection.rb +119 -0
  204. data/lib/aws/elb/listener_opts.rb +45 -0
  205. data/lib/aws/elb/load_balancer.rb +253 -0
  206. data/lib/aws/elb/load_balancer_collection.rb +113 -0
  207. data/lib/aws/elb/load_balancer_policy.rb +93 -0
  208. data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
  209. data/lib/aws/elb/request.rb +23 -0
  210. data/lib/aws/errors.rb +122 -0
  211. data/lib/aws/iam.rb +418 -0
  212. data/lib/aws/iam/access_key.rb +180 -0
  213. data/lib/aws/iam/access_key_collection.rb +128 -0
  214. data/lib/aws/iam/account_alias_collection.rb +79 -0
  215. data/lib/aws/iam/client.rb +1609 -0
  216. data/lib/aws/iam/collection.rb +83 -0
  217. data/lib/aws/iam/config.rb +18 -0
  218. data/lib/aws/iam/errors.rb +22 -0
  219. data/lib/aws/iam/group.rb +111 -0
  220. data/lib/aws/iam/group_collection.rb +132 -0
  221. data/lib/aws/iam/group_policy_collection.rb +47 -0
  222. data/lib/aws/iam/group_user_collection.rb +84 -0
  223. data/lib/aws/iam/login_profile.rb +99 -0
  224. data/lib/aws/iam/mfa_device.rb +52 -0
  225. data/lib/aws/iam/mfa_device_collection.rb +127 -0
  226. data/lib/aws/iam/policy.rb +46 -0
  227. data/lib/aws/iam/policy_collection.rb +188 -0
  228. data/lib/aws/iam/request.rb +29 -0
  229. data/lib/aws/iam/resource.rb +71 -0
  230. data/lib/aws/iam/server_certificate.rb +141 -0
  231. data/lib/aws/iam/server_certificate_collection.rb +138 -0
  232. data/lib/aws/iam/signing_certificate.rb +169 -0
  233. data/lib/aws/iam/signing_certificate_collection.rb +131 -0
  234. data/lib/aws/iam/user.rb +205 -0
  235. data/lib/aws/iam/user_collection.rb +133 -0
  236. data/lib/aws/iam/user_group_collection.rb +98 -0
  237. data/lib/aws/iam/user_policy.rb +90 -0
  238. data/lib/aws/iam/user_policy_collection.rb +45 -0
  239. data/lib/aws/iam/virtual_mfa_device.rb +139 -0
  240. data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
  241. data/lib/aws/rails.rb +195 -0
  242. data/lib/aws/record.rb +116 -0
  243. data/lib/aws/record/abstract_base.rb +645 -0
  244. data/lib/aws/record/attributes.rb +384 -0
  245. data/lib/aws/record/conversion.rb +38 -0
  246. data/lib/aws/record/dirty_tracking.rb +285 -0
  247. data/lib/aws/record/errors.rb +143 -0
  248. data/lib/aws/record/exceptions.rb +48 -0
  249. data/lib/aws/record/hash_model.rb +161 -0
  250. data/lib/aws/record/hash_model/attributes.rb +182 -0
  251. data/lib/aws/record/hash_model/finder_methods.rb +172 -0
  252. data/lib/aws/record/hash_model/scope.rb +108 -0
  253. data/lib/aws/record/model.rb +427 -0
  254. data/lib/aws/record/model/attributes.rb +379 -0
  255. data/lib/aws/record/model/finder_methods.rb +232 -0
  256. data/lib/aws/record/model/scope.rb +213 -0
  257. data/lib/aws/record/naming.rb +31 -0
  258. data/lib/aws/record/scope.rb +199 -0
  259. data/lib/aws/record/validations.rb +694 -0
  260. data/lib/aws/record/validator.rb +237 -0
  261. data/lib/aws/record/validators/acceptance.rb +51 -0
  262. data/lib/aws/record/validators/block.rb +38 -0
  263. data/lib/aws/record/validators/confirmation.rb +43 -0
  264. data/lib/aws/record/validators/count.rb +108 -0
  265. data/lib/aws/record/validators/exclusion.rb +43 -0
  266. data/lib/aws/record/validators/format.rb +57 -0
  267. data/lib/aws/record/validators/inclusion.rb +56 -0
  268. data/lib/aws/record/validators/length.rb +107 -0
  269. data/lib/aws/record/validators/method.rb +33 -0
  270. data/lib/aws/record/validators/numericality.rb +138 -0
  271. data/lib/aws/record/validators/presence.rb +45 -0
  272. data/lib/aws/s3.rb +135 -0
  273. data/lib/aws/s3/access_control_list.rb +250 -0
  274. data/lib/aws/s3/acl_object.rb +264 -0
  275. data/lib/aws/s3/bucket.rb +393 -0
  276. data/lib/aws/s3/bucket_collection.rb +143 -0
  277. data/lib/aws/s3/bucket_lifecycle_configuration.rb +360 -0
  278. data/lib/aws/s3/bucket_version_collection.rb +77 -0
  279. data/lib/aws/s3/client.rb +1184 -0
  280. data/lib/aws/s3/client/xml.rb +177 -0
  281. data/lib/aws/s3/config.rb +26 -0
  282. data/lib/aws/s3/data_options.rb +100 -0
  283. data/lib/aws/s3/errors.rb +81 -0
  284. data/lib/aws/s3/multipart_upload.rb +317 -0
  285. data/lib/aws/s3/multipart_upload_collection.rb +68 -0
  286. data/lib/aws/s3/object_collection.rb +337 -0
  287. data/lib/aws/s3/object_metadata.rb +96 -0
  288. data/lib/aws/s3/object_upload_collection.rb +77 -0
  289. data/lib/aws/s3/object_version.rb +143 -0
  290. data/lib/aws/s3/object_version_collection.rb +89 -0
  291. data/lib/aws/s3/paginated_collection.rb +75 -0
  292. data/lib/aws/s3/policy.rb +74 -0
  293. data/lib/aws/s3/prefix_and_delimiter_collection.rb +47 -0
  294. data/lib/aws/s3/prefixed_collection.rb +81 -0
  295. data/lib/aws/s3/presigned_post.rb +553 -0
  296. data/lib/aws/s3/request.rb +201 -0
  297. data/lib/aws/s3/s3_object.rb +1037 -0
  298. data/lib/aws/s3/tree.rb +118 -0
  299. data/lib/aws/s3/tree/branch_node.rb +68 -0
  300. data/lib/aws/s3/tree/child_collection.rb +104 -0
  301. data/lib/aws/s3/tree/leaf_node.rb +94 -0
  302. data/lib/aws/s3/tree/node.rb +22 -0
  303. data/lib/aws/s3/tree/parent.rb +87 -0
  304. data/lib/aws/s3/uploaded_part.rb +80 -0
  305. data/lib/aws/s3/uploaded_part_collection.rb +84 -0
  306. data/lib/aws/simple_db.rb +217 -0
  307. data/lib/aws/simple_db/attribute.rb +154 -0
  308. data/lib/aws/simple_db/attribute_collection.rb +231 -0
  309. data/lib/aws/simple_db/client.rb +349 -0
  310. data/lib/aws/simple_db/config.rb +20 -0
  311. data/lib/aws/simple_db/consistent_read_option.rb +42 -0
  312. data/lib/aws/simple_db/delete_attributes.rb +62 -0
  313. data/lib/aws/simple_db/domain.rb +121 -0
  314. data/lib/aws/simple_db/domain_collection.rb +113 -0
  315. data/lib/aws/simple_db/domain_metadata.rb +110 -0
  316. data/lib/aws/simple_db/errors.rb +55 -0
  317. data/lib/aws/simple_db/expect_condition_option.rb +45 -0
  318. data/lib/aws/simple_db/item.rb +93 -0
  319. data/lib/aws/simple_db/item_collection.rb +649 -0
  320. data/lib/aws/simple_db/item_data.rb +73 -0
  321. data/lib/aws/simple_db/put_attributes.rb +60 -0
  322. data/lib/aws/simple_db/request.rb +23 -0
  323. data/lib/aws/simple_email_service.rb +426 -0
  324. data/lib/aws/simple_email_service/client.rb +286 -0
  325. data/lib/aws/simple_email_service/config.rb +19 -0
  326. data/lib/aws/simple_email_service/email_address_collection.rb +69 -0
  327. data/lib/aws/simple_email_service/errors.rb +22 -0
  328. data/lib/aws/simple_email_service/identity.rb +91 -0
  329. data/lib/aws/simple_email_service/identity_collection.rb +81 -0
  330. data/lib/aws/simple_email_service/quotas.rb +64 -0
  331. data/lib/aws/simple_email_service/request.rb +29 -0
  332. data/lib/aws/simple_workflow.rb +226 -0
  333. data/lib/aws/simple_workflow/activity_task.rb +173 -0
  334. data/lib/aws/simple_workflow/activity_task_collection.rb +123 -0
  335. data/lib/aws/simple_workflow/activity_type.rb +131 -0
  336. data/lib/aws/simple_workflow/activity_type_collection.rb +93 -0
  337. data/lib/aws/simple_workflow/client.rb +1434 -0
  338. data/lib/aws/simple_workflow/config.rb +18 -0
  339. data/lib/aws/simple_workflow/count.rb +49 -0
  340. data/lib/aws/simple_workflow/decision_task.rb +601 -0
  341. data/lib/aws/simple_workflow/decision_task_collection.rb +225 -0
  342. data/lib/aws/simple_workflow/domain.rb +122 -0
  343. data/lib/aws/simple_workflow/domain_collection.rb +169 -0
  344. data/lib/aws/simple_workflow/errors.rb +20 -0
  345. data/lib/aws/simple_workflow/history_event.rb +276 -0
  346. data/lib/aws/simple_workflow/history_event_collection.rb +76 -0
  347. data/lib/aws/simple_workflow/option_formatters.rb +82 -0
  348. data/lib/aws/simple_workflow/request.rb +36 -0
  349. data/lib/aws/simple_workflow/resource.rb +94 -0
  350. data/lib/aws/simple_workflow/type.rb +89 -0
  351. data/lib/aws/simple_workflow/type_collection.rb +140 -0
  352. data/lib/aws/simple_workflow/workflow_execution.rb +386 -0
  353. data/lib/aws/simple_workflow/workflow_execution_collection.rb +617 -0
  354. data/lib/aws/simple_workflow/workflow_type.rb +177 -0
  355. data/lib/aws/simple_workflow/workflow_type_collection.rb +91 -0
  356. data/lib/aws/sns.rb +74 -0
  357. data/lib/aws/sns/client.rb +371 -0
  358. data/lib/aws/sns/config.rb +18 -0
  359. data/lib/aws/sns/errors.rb +22 -0
  360. data/lib/aws/sns/has_delivery_policy.rb +68 -0
  361. data/lib/aws/sns/policy.rb +47 -0
  362. data/lib/aws/sns/request.rb +23 -0
  363. data/lib/aws/sns/subscription.rb +144 -0
  364. data/lib/aws/sns/subscription_collection.rb +80 -0
  365. data/lib/aws/sns/topic.rb +403 -0
  366. data/lib/aws/sns/topic_collection.rb +67 -0
  367. data/lib/aws/sns/topic_subscription_collection.rb +55 -0
  368. data/lib/aws/sqs.rb +79 -0
  369. data/lib/aws/sqs/client.rb +360 -0
  370. data/lib/aws/sqs/config.rb +18 -0
  371. data/lib/aws/sqs/errors.rb +101 -0
  372. data/lib/aws/sqs/policy.rb +48 -0
  373. data/lib/aws/sqs/queue.rb +725 -0
  374. data/lib/aws/sqs/queue_collection.rb +170 -0
  375. data/lib/aws/sqs/received_message.rb +181 -0
  376. data/lib/aws/sqs/received_sns_message.rb +112 -0
  377. data/lib/aws/sqs/request.rb +43 -0
  378. data/lib/aws/sts.rb +152 -0
  379. data/lib/aws/sts/client.rb +105 -0
  380. data/lib/aws/sts/config.rb +18 -0
  381. data/lib/aws/sts/errors.rb +22 -0
  382. data/lib/aws/sts/federated_session.rb +56 -0
  383. data/lib/aws/sts/policy.rb +30 -0
  384. data/lib/aws/sts/request.rb +29 -0
  385. data/lib/aws/sts/session.rb +48 -0
  386. data/lib/net/http/connection_pool.rb +210 -0
  387. data/lib/net/http/connection_pool/connection.rb +132 -0
  388. data/lib/net/http/connection_pool/session.rb +93 -0
  389. data/lib/user.rb +49 -0
  390. metadata +433 -0
@@ -0,0 +1,180 @@
1
+ # Copyright 2011-2012 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, :as => :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-2012 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-2012 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.account_aliases.each do |account_alias|
73
+ yield(account_alias)
74
+ end
75
+ end
76
+
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,1609 @@
1
+ # Copyright 2011-2012 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::Client
19
+
20
+ API_VERSION = '2010-05-08'
21
+
22
+ extend Core::Client::QueryXML
23
+
24
+ # @private
25
+ CACHEABLE_REQUESTS = Set[
26
+ :get_group,
27
+ :get_group_policy,
28
+ :get_instance_profile,
29
+ :get_role_policy,
30
+ :list_groups,
31
+ :list_group_policies,
32
+ :list_groups_for_user,
33
+ :list_instance_profiles,
34
+ :list_instance_profiles_for_role,
35
+ :list_role_policies,
36
+ :list_roles,
37
+ :list_server_certificates,
38
+ :list_virtual_mfa_devices,
39
+ ]
40
+
41
+ ## client methods ##
42
+
43
+ # Calls the AddRoleToInstanceProfile API operation.
44
+ # @method add_role_to_instance_profile(options = {})
45
+ #
46
+ # === Options:
47
+ #
48
+ # * +:instance_profile_name+ - *required* - (String) Name of the instance
49
+ # profile to update.
50
+ # * +:role_name+ - *required* - (String) Name of the role to add.
51
+ #
52
+ # === Response Structure:
53
+ #
54
+ # This method returns no response data.
55
+ #
56
+ # @return [Core::Response]
57
+ #
58
+ define_client_method :add_role_to_instance_profile, 'AddRoleToInstanceProfile'
59
+
60
+ # Calls the AddUserToGroup API operation.
61
+ # @method add_user_to_group(options = {})
62
+ #
63
+ # === Options:
64
+ #
65
+ # * +:group_name+ - *required* - (String) Name of the group to update.
66
+ # * +:user_name+ - *required* - (String) Name of the user to add.
67
+ #
68
+ # === Response Structure:
69
+ #
70
+ # This method returns no response data.
71
+ #
72
+ # @return [Core::Response]
73
+ #
74
+ define_client_method :add_user_to_group, 'AddUserToGroup'
75
+
76
+ # Calls the ChangePassword API operation.
77
+ # @method change_password(options = {})
78
+ #
79
+ # === Options:
80
+ #
81
+ # * +:old_password+ - *required* - (String)
82
+ # * +:new_password+ - *required* - (String)
83
+ #
84
+ # === Response Structure:
85
+ #
86
+ # This method returns no response data.
87
+ #
88
+ # @return [Core::Response]
89
+ #
90
+ define_client_method :change_password, 'ChangePassword'
91
+
92
+ # Calls the CreateAccessKey API operation.
93
+ # @method create_access_key(options = {})
94
+ #
95
+ # === Options:
96
+ #
97
+ # * +:user_name+ - (String) The user name that the new key will belong
98
+ # to.
99
+ #
100
+ # === Response Structure:
101
+ #
102
+ # * +:access_key+ - (Hash)
103
+ # * +:user_name+ - (String)
104
+ # * +:access_key_id+ - (String)
105
+ # * +:status+ - (String)
106
+ # * +:secret_access_key+ - (String)
107
+ # * +:create_date+ - (Time)
108
+ #
109
+ # @return [Core::Response]
110
+ #
111
+ define_client_method :create_access_key, 'CreateAccessKey'
112
+
113
+ # Calls the CreateAccountAlias API operation.
114
+ # @method create_account_alias(options = {})
115
+ #
116
+ # === Options:
117
+ #
118
+ # * +:account_alias+ - *required* - (String) Name of the account alias to
119
+ # create.
120
+ #
121
+ # === Response Structure:
122
+ #
123
+ # This method returns no response data.
124
+ #
125
+ # @return [Core::Response]
126
+ #
127
+ define_client_method :create_account_alias, 'CreateAccountAlias'
128
+
129
+ # Calls the CreateGroup API operation.
130
+ # @method create_group(options = {})
131
+ #
132
+ # === Options:
133
+ #
134
+ # * +:path+ - (String) The path to the group. For more information about
135
+ # paths, see Identifiers for IAM Entities in Using AWS Identity and
136
+ # Access Management. This parameter is optional. If it is not included,
137
+ # it defaults to a slash (/).
138
+ # * +:group_name+ - *required* - (String) Name of the group to create. Do
139
+ # not include the path in this value.
140
+ #
141
+ # === Response Structure:
142
+ #
143
+ # * +:group+ - (Hash)
144
+ # * +:path+ - (String)
145
+ # * +:group_name+ - (String)
146
+ # * +:group_id+ - (String)
147
+ # * +:arn+ - (String)
148
+ # * +:create_date+ - (Time)
149
+ #
150
+ # @return [Core::Response]
151
+ #
152
+ define_client_method :create_group, 'CreateGroup'
153
+
154
+ # Calls the CreateInstanceProfile API operation.
155
+ # @method create_instance_profile(options = {})
156
+ #
157
+ # === Options:
158
+ #
159
+ # * +:instance_profile_name+ - *required* - (String) Name of the instance
160
+ # profile to create.
161
+ # * +:path+ - (String) The path to the instance profile. For more
162
+ # information about paths, see Identifiers for IAM Entities in Using
163
+ # AWS Identity and Access Management. This parameter is optional. If it
164
+ # is not included, it defaults to a slash (/).
165
+ #
166
+ # === Response Structure:
167
+ #
168
+ # * +:instance_profile+ - (Hash)
169
+ # * +:path+ - (String)
170
+ # * +:instance_profile_name+ - (String)
171
+ # * +:instance_profile_id+ - (String)
172
+ # * +:arn+ - (String)
173
+ # * +:create_date+ - (Time)
174
+ # * +:roles+ - (Array<Hash>)
175
+ # * +:path+ - (String)
176
+ # * +:role_name+ - (String)
177
+ # * +:role_id+ - (String)
178
+ # * +:arn+ - (String)
179
+ # * +:create_date+ - (Time)
180
+ # * +:assume_role_policy_document+ - (String)
181
+ #
182
+ # @return [Core::Response]
183
+ #
184
+ define_client_method :create_instance_profile, 'CreateInstanceProfile'
185
+
186
+ # Calls the CreateLoginProfile API operation.
187
+ # @method create_login_profile(options = {})
188
+ #
189
+ # === Options:
190
+ #
191
+ # * +:user_name+ - *required* - (String) Name of the user to create a
192
+ # password for.
193
+ # * +:password+ - *required* - (String) The new password for the user
194
+ # name.
195
+ #
196
+ # === Response Structure:
197
+ #
198
+ # * +:login_profile+ - (Hash)
199
+ # * +:user_name+ - (String)
200
+ # * +:create_date+ - (Time)
201
+ #
202
+ # @return [Core::Response]
203
+ #
204
+ define_client_method :create_login_profile, 'CreateLoginProfile'
205
+
206
+ # Calls the CreateRole API operation.
207
+ # @method create_role(options = {})
208
+ #
209
+ # === Options:
210
+ #
211
+ # * +:path+ - (String) The path to the role. For more information about
212
+ # paths, see Identifiers for IAM Entities in Using AWS Identity and
213
+ # Access Management. This parameter is optional. If it is not included,
214
+ # it defaults to a slash (/).
215
+ # * +:role_name+ - *required* - (String) Name of the role to create.
216
+ # * +:assume_role_policy_document+ - *required* - (String) The policy
217
+ # govering by who and under what conditions the role can be assumed.
218
+ #
219
+ # === Response Structure:
220
+ #
221
+ # * +:role+ - (Hash)
222
+ # * +:path+ - (String)
223
+ # * +:role_name+ - (String)
224
+ # * +:role_id+ - (String)
225
+ # * +:arn+ - (String)
226
+ # * +:create_date+ - (Time)
227
+ # * +:assume_role_policy_document+ - (String)
228
+ #
229
+ # @return [Core::Response]
230
+ #
231
+ define_client_method :create_role, 'CreateRole'
232
+
233
+ # Calls the CreateUser API operation.
234
+ # @method create_user(options = {})
235
+ #
236
+ # === Options:
237
+ #
238
+ # * +:path+ - (String) The path for the user name. For more information
239
+ # about paths, see Identifiers for IAM Entities in Using AWS Identity
240
+ # and Access Management. This parameter is optional. If it is not
241
+ # included, it defaults to a slash (/).
242
+ # * +:user_name+ - *required* - (String) Name of the user to create.
243
+ #
244
+ # === Response Structure:
245
+ #
246
+ # * +:user+ - (Hash)
247
+ # * +:path+ - (String)
248
+ # * +:user_name+ - (String)
249
+ # * +:user_id+ - (String)
250
+ # * +:arn+ - (String)
251
+ # * +:create_date+ - (Time)
252
+ #
253
+ # @return [Core::Response]
254
+ #
255
+ define_client_method :create_user, 'CreateUser'
256
+
257
+ # Calls the CreateVirtualMFADevice API operation.
258
+ # @method create_virtual_mfa_device(options = {})
259
+ #
260
+ # === Options:
261
+ #
262
+ # * +:path+ - (String) The path for the virtual MFA device. For more
263
+ # information about paths, see Identifiers for IAM Entities in Using
264
+ # AWS Identity and Access Management. This parameter is optional. If it
265
+ # is not included, it defaults to a slash (/).
266
+ # * +:virtual_mfa_device_name+ - *required* - (String) The name of the
267
+ # virtual MFA device. Use with path to uniquely identify a virtual MFA
268
+ # device.
269
+ #
270
+ # === Response Structure:
271
+ #
272
+ # * +:virtual_mfa_device+ - (Hash)
273
+ # * +:serial_number+ - (String)
274
+ # * +:base_32_string_seed+ - (String)
275
+ # * +:qr_code_png+ - (String)
276
+ # * +:user+ - (Hash)
277
+ # * +:path+ - (String)
278
+ # * +:user_name+ - (String)
279
+ # * +:user_id+ - (String)
280
+ # * +:arn+ - (String)
281
+ # * +:create_date+ - (Time)
282
+ # * +:enable_date+ - (Time)
283
+ #
284
+ # @return [Core::Response]
285
+ #
286
+ define_client_method :create_virtual_mfa_device, 'CreateVirtualMFADevice'
287
+
288
+ # Calls the DeactivateMFADevice API operation.
289
+ # @method deactivate_mfa_device(options = {})
290
+ #
291
+ # === Options:
292
+ #
293
+ # * +:user_name+ - *required* - (String) Name of the user whose MFA
294
+ # device you want to deactivate.
295
+ # * +:serial_number+ - *required* - (String) The serial number that
296
+ # uniquely identifies the MFA device. For virtual MFA devices, the
297
+ # serial number is the device ARN.
298
+ #
299
+ # === Response Structure:
300
+ #
301
+ # This method returns no response data.
302
+ #
303
+ # @return [Core::Response]
304
+ #
305
+ define_client_method :deactivate_mfa_device, 'DeactivateMFADevice'
306
+
307
+ # Calls the DeleteAccessKey API operation.
308
+ # @method delete_access_key(options = {})
309
+ #
310
+ # === Options:
311
+ #
312
+ # * +:user_name+ - (String) Name of the user whose key you want to
313
+ # delete.
314
+ # * +:access_key_id+ - *required* - (String) The Access Key ID for the
315
+ # Access Key ID and Secret Access Key you want to delete.
316
+ #
317
+ # === Response Structure:
318
+ #
319
+ # This method returns no response data.
320
+ #
321
+ # @return [Core::Response]
322
+ #
323
+ define_client_method :delete_access_key, 'DeleteAccessKey'
324
+
325
+ # Calls the DeleteAccountAlias API operation.
326
+ # @method delete_account_alias(options = {})
327
+ #
328
+ # === Options:
329
+ #
330
+ # * +:account_alias+ - *required* - (String) Name of the account alias to
331
+ # delete.
332
+ #
333
+ # === Response Structure:
334
+ #
335
+ # This method returns no response data.
336
+ #
337
+ # @return [Core::Response]
338
+ #
339
+ define_client_method :delete_account_alias, 'DeleteAccountAlias'
340
+
341
+ # Calls the DeleteAccountPasswordPolicy API operation.
342
+ # @method delete_account_password_policy(options = {})
343
+ #
344
+ # === Options:
345
+ #
346
+ # This method accepts no options.
347
+ #
348
+ # === Response Structure:
349
+ #
350
+ # This method returns no response data.
351
+ #
352
+ # @return [Core::Response]
353
+ #
354
+ define_client_method :delete_account_password_policy, 'DeleteAccountPasswordPolicy'
355
+
356
+ # Calls the DeleteGroup API operation.
357
+ # @method delete_group(options = {})
358
+ #
359
+ # === Options:
360
+ #
361
+ # * +:group_name+ - *required* - (String) Name of the group to delete.
362
+ #
363
+ # === Response Structure:
364
+ #
365
+ # This method returns no response data.
366
+ #
367
+ # @return [Core::Response]
368
+ #
369
+ define_client_method :delete_group, 'DeleteGroup'
370
+
371
+ # Calls the DeleteGroupPolicy API operation.
372
+ # @method delete_group_policy(options = {})
373
+ #
374
+ # === Options:
375
+ #
376
+ # * +:group_name+ - *required* - (String) Name of the group the policy is
377
+ # associated with.
378
+ # * +:policy_name+ - *required* - (String) Name of the policy document to
379
+ # delete.
380
+ #
381
+ # === Response Structure:
382
+ #
383
+ # This method returns no response data.
384
+ #
385
+ # @return [Core::Response]
386
+ #
387
+ define_client_method :delete_group_policy, 'DeleteGroupPolicy'
388
+
389
+ # Calls the DeleteInstanceProfile API operation.
390
+ # @method delete_instance_profile(options = {})
391
+ #
392
+ # === Options:
393
+ #
394
+ # * +:instance_profile_name+ - *required* - (String) Name of the instance
395
+ # profile to delete.
396
+ #
397
+ # === Response Structure:
398
+ #
399
+ # This method returns no response data.
400
+ #
401
+ # @return [Core::Response]
402
+ #
403
+ define_client_method :delete_instance_profile, 'DeleteInstanceProfile'
404
+
405
+ # Calls the DeleteLoginProfile API operation.
406
+ # @method delete_login_profile(options = {})
407
+ #
408
+ # === Options:
409
+ #
410
+ # * +:user_name+ - *required* - (String) Name of the user whose password
411
+ # you want to delete.
412
+ #
413
+ # === Response Structure:
414
+ #
415
+ # This method returns no response data.
416
+ #
417
+ # @return [Core::Response]
418
+ #
419
+ define_client_method :delete_login_profile, 'DeleteLoginProfile'
420
+
421
+ # Calls the DeleteRole API operation.
422
+ # @method delete_role(options = {})
423
+ #
424
+ # === Options:
425
+ #
426
+ # * +:role_name+ - *required* - (String) Name of the role to delete.
427
+ #
428
+ # === Response Structure:
429
+ #
430
+ # This method returns no response data.
431
+ #
432
+ # @return [Core::Response]
433
+ #
434
+ define_client_method :delete_role, 'DeleteRole'
435
+
436
+ # Calls the DeleteRolePolicy API operation.
437
+ # @method delete_role_policy(options = {})
438
+ #
439
+ # === Options:
440
+ #
441
+ # * +:role_name+ - *required* - (String) Name of the role the policy is
442
+ # associated with.
443
+ # * +:policy_name+ - *required* - (String) Name of the policy document to
444
+ # delete.
445
+ #
446
+ # === Response Structure:
447
+ #
448
+ # This method returns no response data.
449
+ #
450
+ # @return [Core::Response]
451
+ #
452
+ define_client_method :delete_role_policy, 'DeleteRolePolicy'
453
+
454
+ # Calls the DeleteServerCertificate API operation.
455
+ # @method delete_server_certificate(options = {})
456
+ #
457
+ # === Options:
458
+ #
459
+ # * +:server_certificate_name+ - *required* - (String) The name of the
460
+ # server certificate you want to delete.
461
+ #
462
+ # === Response Structure:
463
+ #
464
+ # This method returns no response data.
465
+ #
466
+ # @return [Core::Response]
467
+ #
468
+ define_client_method :delete_server_certificate, 'DeleteServerCertificate'
469
+
470
+ # Calls the DeleteSigningCertificate API operation.
471
+ # @method delete_signing_certificate(options = {})
472
+ #
473
+ # === Options:
474
+ #
475
+ # * +:user_name+ - (String) Name of the user the signing certificate
476
+ # belongs to.
477
+ # * +:certificate_id+ - *required* - (String) ID of the signing
478
+ # certificate to delete.
479
+ #
480
+ # === Response Structure:
481
+ #
482
+ # This method returns no response data.
483
+ #
484
+ # @return [Core::Response]
485
+ #
486
+ define_client_method :delete_signing_certificate, 'DeleteSigningCertificate'
487
+
488
+ # Calls the DeleteUser API operation.
489
+ # @method delete_user(options = {})
490
+ #
491
+ # === Options:
492
+ #
493
+ # * +:user_name+ - *required* - (String) Name of the user to delete.
494
+ #
495
+ # === Response Structure:
496
+ #
497
+ # This method returns no response data.
498
+ #
499
+ # @return [Core::Response]
500
+ #
501
+ define_client_method :delete_user, 'DeleteUser'
502
+
503
+ # Calls the DeleteUserPolicy API operation.
504
+ # @method delete_user_policy(options = {})
505
+ #
506
+ # === Options:
507
+ #
508
+ # * +:user_name+ - *required* - (String) Name of the user the policy is
509
+ # associated with.
510
+ # * +:policy_name+ - *required* - (String) Name of the policy document to
511
+ # delete.
512
+ #
513
+ # === Response Structure:
514
+ #
515
+ # This method returns no response data.
516
+ #
517
+ # @return [Core::Response]
518
+ #
519
+ define_client_method :delete_user_policy, 'DeleteUserPolicy'
520
+
521
+ # Calls the DeleteVirtualMFADevice API operation.
522
+ # @method delete_virtual_mfa_device(options = {})
523
+ #
524
+ # === Options:
525
+ #
526
+ # * +:serial_number+ - *required* - (String) The serial number that
527
+ # uniquely identifies the MFA device. For virtual MFA devices, the
528
+ # serial number is the same as the ARN.
529
+ #
530
+ # === Response Structure:
531
+ #
532
+ # This method returns no response data.
533
+ #
534
+ # @return [Core::Response]
535
+ #
536
+ define_client_method :delete_virtual_mfa_device, 'DeleteVirtualMFADevice'
537
+
538
+ # Calls the EnableMFADevice API operation.
539
+ # @method enable_mfa_device(options = {})
540
+ #
541
+ # === Options:
542
+ #
543
+ # * +:user_name+ - *required* - (String) Name of the user for whom you
544
+ # want to enable the MFA device.
545
+ # * +:serial_number+ - *required* - (String) The serial number that
546
+ # uniquely identifies the MFA device. For virtual MFA devices, the
547
+ # serial number is the device ARN.
548
+ # * +:authentication_code_1+ - *required* - (String) An authentication
549
+ # code emitted by the device.
550
+ # * +:authentication_code_2+ - *required* - (String) A subsequent
551
+ # authentication code emitted by the device.
552
+ #
553
+ # === Response Structure:
554
+ #
555
+ # This method returns no response data.
556
+ #
557
+ # @return [Core::Response]
558
+ #
559
+ define_client_method :enable_mfa_device, 'EnableMFADevice'
560
+
561
+ # Calls the GetAccountPasswordPolicy API operation.
562
+ # @method get_account_password_policy(options = {})
563
+ #
564
+ # === Options:
565
+ #
566
+ # This method accepts no options.
567
+ #
568
+ # === Response Structure:
569
+ #
570
+ # * +:password_policy+ - (Hash)
571
+ # * +:minimum_password_length+ - (Integer)
572
+ # * +:require_symbols+ - (Boolean)
573
+ # * +:require_numbers+ - (Boolean)
574
+ # * +:require_uppercase_characters+ - (Boolean)
575
+ # * +:require_lowercase_characters+ - (Boolean)
576
+ # * +:allow_users_to_change_password+ - (Boolean)
577
+ #
578
+ # @return [Core::Response]
579
+ #
580
+ define_client_method :get_account_password_policy, 'GetAccountPasswordPolicy'
581
+
582
+ # Calls the GetAccountSummary API operation.
583
+ # @method get_account_summary(options = {})
584
+ #
585
+ # === Options:
586
+ #
587
+ # This method accepts no options.
588
+ #
589
+ # === Response Structure:
590
+ #
591
+ # * +:summary_map+ - (Hash<String,Integer>)
592
+ #
593
+ # @return [Core::Response]
594
+ #
595
+ define_client_method :get_account_summary, 'GetAccountSummary'
596
+
597
+ # Calls the GetGroup API operation.
598
+ # @method get_group(options = {})
599
+ #
600
+ # === Options:
601
+ #
602
+ # * +:group_name+ - *required* - (String) Name of the group.
603
+ # * +:marker+ - (String) Use this only when paginating results, and only
604
+ # in a subsequent request after you've received a response where the
605
+ # results are truncated. Set it to the value of the Marker element in
606
+ # the response you just received.
607
+ # * +:max_items+ - (Integer) Use this only when paginating results to
608
+ # indicate the maximum number of user names you want in the response.
609
+ # If there are additional user names beyond the maximum you specify,
610
+ # the IsTruncated response element is +true+ .
611
+ #
612
+ # === Response Structure:
613
+ #
614
+ # * +:group+ - (Hash)
615
+ # * +:path+ - (String)
616
+ # * +:group_name+ - (String)
617
+ # * +:group_id+ - (String)
618
+ # * +:arn+ - (String)
619
+ # * +:create_date+ - (Time)
620
+ # * +:users+ - (Array<Hash>)
621
+ # * +:path+ - (String)
622
+ # * +:user_name+ - (String)
623
+ # * +:user_id+ - (String)
624
+ # * +:arn+ - (String)
625
+ # * +:create_date+ - (Time)
626
+ # * +:is_truncated+ - (Boolean)
627
+ # * +:marker+ - (String)
628
+ #
629
+ # @return [Core::Response]
630
+ #
631
+ define_client_method :get_group, 'GetGroup'
632
+
633
+ # Calls the GetGroupPolicy API operation.
634
+ # @method get_group_policy(options = {})
635
+ #
636
+ # === Options:
637
+ #
638
+ # * +:group_name+ - *required* - (String) Name of the group the policy is
639
+ # associated with.
640
+ # * +:policy_name+ - *required* - (String) Name of the policy document to
641
+ # get.
642
+ #
643
+ # === Response Structure:
644
+ #
645
+ # * +:group_name+ - (String)
646
+ # * +:policy_name+ - (String)
647
+ # * +:policy_document+ - (String)
648
+ #
649
+ # @return [Core::Response]
650
+ #
651
+ define_client_method :get_group_policy, 'GetGroupPolicy'
652
+
653
+ # Calls the GetInstanceProfile API operation.
654
+ # @method get_instance_profile(options = {})
655
+ #
656
+ # === Options:
657
+ #
658
+ # * +:instance_profile_name+ - *required* - (String) Name of the instance
659
+ # profile to get information about.
660
+ #
661
+ # === Response Structure:
662
+ #
663
+ # * +:instance_profile+ - (Hash)
664
+ # * +:path+ - (String)
665
+ # * +:instance_profile_name+ - (String)
666
+ # * +:instance_profile_id+ - (String)
667
+ # * +:arn+ - (String)
668
+ # * +:create_date+ - (Time)
669
+ # * +:roles+ - (Array<Hash>)
670
+ # * +:path+ - (String)
671
+ # * +:role_name+ - (String)
672
+ # * +:role_id+ - (String)
673
+ # * +:arn+ - (String)
674
+ # * +:create_date+ - (Time)
675
+ # * +:assume_role_policy_document+ - (String)
676
+ #
677
+ # @return [Core::Response]
678
+ #
679
+ define_client_method :get_instance_profile, 'GetInstanceProfile'
680
+
681
+ # Calls the GetLoginProfile API operation.
682
+ # @method get_login_profile(options = {})
683
+ #
684
+ # === Options:
685
+ #
686
+ # * +:user_name+ - *required* - (String) Name of the user whose login
687
+ # profile you want to retrieve.
688
+ #
689
+ # === Response Structure:
690
+ #
691
+ # * +:login_profile+ - (Hash)
692
+ # * +:user_name+ - (String)
693
+ # * +:create_date+ - (Time)
694
+ #
695
+ # @return [Core::Response]
696
+ #
697
+ define_client_method :get_login_profile, 'GetLoginProfile'
698
+
699
+ # Calls the GetRole API operation.
700
+ # @method get_role(options = {})
701
+ #
702
+ # === Options:
703
+ #
704
+ # * +:role_name+ - *required* - (String) Name of the role to get
705
+ # information about.
706
+ #
707
+ # === Response Structure:
708
+ #
709
+ # * +:role+ - (Hash)
710
+ # * +:path+ - (String)
711
+ # * +:role_name+ - (String)
712
+ # * +:role_id+ - (String)
713
+ # * +:arn+ - (String)
714
+ # * +:create_date+ - (Time)
715
+ # * +:assume_role_policy_document+ - (String)
716
+ #
717
+ # @return [Core::Response]
718
+ #
719
+ define_client_method :get_role, 'GetRole'
720
+
721
+ # Calls the GetRolePolicy API operation.
722
+ # @method get_role_policy(options = {})
723
+ #
724
+ # === Options:
725
+ #
726
+ # * +:role_name+ - *required* - (String) Name of the role who the policy
727
+ # is associated with.
728
+ # * +:policy_name+ - *required* - (String) Name of the policy document to
729
+ # get.
730
+ #
731
+ # === Response Structure:
732
+ #
733
+ # * +:role_name+ - (String)
734
+ # * +:policy_name+ - (String)
735
+ # * +:policy_document+ - (String)
736
+ #
737
+ # @return [Core::Response]
738
+ #
739
+ define_client_method :get_role_policy, 'GetRolePolicy'
740
+
741
+ # Calls the GetServerCertificate API operation.
742
+ # @method get_server_certificate(options = {})
743
+ #
744
+ # === Options:
745
+ #
746
+ # * +:server_certificate_name+ - *required* - (String) The name of the
747
+ # server certificate you want to retrieve information about.
748
+ #
749
+ # === Response Structure:
750
+ #
751
+ # * +:server_certificate+ - (Hash)
752
+ # * +:server_certificate_metadata+ - (Hash)
753
+ # * +:path+ - (String)
754
+ # * +:server_certificate_name+ - (String)
755
+ # * +:server_certificate_id+ - (String)
756
+ # * +:arn+ - (String)
757
+ # * +:upload_date+ - (Time)
758
+ # * +:certificate_body+ - (String)
759
+ # * +:certificate_chain+ - (String)
760
+ #
761
+ # @return [Core::Response]
762
+ #
763
+ define_client_method :get_server_certificate, 'GetServerCertificate'
764
+
765
+ # Calls the GetUser API operation.
766
+ # @method get_user(options = {})
767
+ #
768
+ # === Options:
769
+ #
770
+ # * +:user_name+ - (String) Name of the user to get information about.
771
+ # This parameter is optional. If it is not included, it defaults to the
772
+ # user making the request.
773
+ #
774
+ # === Response Structure:
775
+ #
776
+ # * +:user+ - (Hash)
777
+ # * +:path+ - (String)
778
+ # * +:user_name+ - (String)
779
+ # * +:user_id+ - (String)
780
+ # * +:arn+ - (String)
781
+ # * +:create_date+ - (Time)
782
+ #
783
+ # @return [Core::Response]
784
+ #
785
+ define_client_method :get_user, 'GetUser'
786
+
787
+ # Calls the GetUserPolicy API operation.
788
+ # @method get_user_policy(options = {})
789
+ #
790
+ # === Options:
791
+ #
792
+ # * +:user_name+ - *required* - (String) Name of the user who the policy
793
+ # is associated with.
794
+ # * +:policy_name+ - *required* - (String) Name of the policy document to
795
+ # get.
796
+ #
797
+ # === Response Structure:
798
+ #
799
+ # * +:user_name+ - (String)
800
+ # * +:policy_name+ - (String)
801
+ # * +:policy_document+ - (String)
802
+ #
803
+ # @return [Core::Response]
804
+ #
805
+ define_client_method :get_user_policy, 'GetUserPolicy'
806
+
807
+ # Calls the ListAccessKeys API operation.
808
+ # @method list_access_keys(options = {})
809
+ #
810
+ # === Options:
811
+ #
812
+ # * +:user_name+ - (String) Name of the user.
813
+ # * +:marker+ - (String) Use this parameter only when paginating results,
814
+ # and only in a subsequent request after you've received a response
815
+ # where the results are truncated. Set it to the value of the Marker
816
+ # element in the response you just received.
817
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
818
+ # results to indicate the maximum number of keys you want in the
819
+ # response. If there are additional keys beyond the maximum you
820
+ # specify, the IsTruncated response element is +true+ .
821
+ #
822
+ # === Response Structure:
823
+ #
824
+ # * +:access_key_metadata+ - (Array<Hash>)
825
+ # * +:user_name+ - (String)
826
+ # * +:access_key_id+ - (String)
827
+ # * +:status+ - (String)
828
+ # * +:create_date+ - (Time)
829
+ # * +:is_truncated+ - (Boolean)
830
+ # * +:marker+ - (String)
831
+ #
832
+ # @return [Core::Response]
833
+ #
834
+ define_client_method :list_access_keys, 'ListAccessKeys'
835
+
836
+ # Calls the ListAccountAliases API operation.
837
+ # @method list_account_aliases(options = {})
838
+ #
839
+ # === Options:
840
+ #
841
+ # * +:marker+ - (String) Use this only when paginating results, and only
842
+ # in a subsequent request after you've received a response where the
843
+ # results are truncated. Set it to the value of the Marker element in
844
+ # the response you just received.
845
+ # * +:max_items+ - (Integer) Use this only when paginating results to
846
+ # indicate the maximum number of account aliases you want in the
847
+ # response. If there are additional account aliases beyond the maximum
848
+ # you specify, the IsTruncated response element is +true+ .
849
+ #
850
+ # === Response Structure:
851
+ #
852
+ # * +:account_aliases+ - (Array<String>)
853
+ # * +:is_truncated+ - (Boolean)
854
+ # * +:marker+ - (String)
855
+ #
856
+ # @return [Core::Response]
857
+ #
858
+ define_client_method :list_account_aliases, 'ListAccountAliases'
859
+
860
+ # Calls the ListGroupPolicies API operation.
861
+ # @method list_group_policies(options = {})
862
+ #
863
+ # === Options:
864
+ #
865
+ # * +:group_name+ - *required* - (String) The name of the group to list
866
+ # policies for.
867
+ # * +:marker+ - (String) Use this only when paginating results, and only
868
+ # in a subsequent request after you've received a response where the
869
+ # results are truncated. Set it to the value of the Marker element in
870
+ # the response you just received.
871
+ # * +:max_items+ - (Integer) Use this only when paginating results to
872
+ # indicate the maximum number of policy names you want in the response.
873
+ # If there are additional policy names beyond the maximum you specify,
874
+ # the IsTruncated response element is +true+ .
875
+ #
876
+ # === Response Structure:
877
+ #
878
+ # * +:policy_names+ - (Array<String>)
879
+ # * +:is_truncated+ - (Boolean)
880
+ # * +:marker+ - (String)
881
+ #
882
+ # @return [Core::Response]
883
+ #
884
+ define_client_method :list_group_policies, 'ListGroupPolicies'
885
+
886
+ # Calls the ListGroups API operation.
887
+ # @method list_groups(options = {})
888
+ #
889
+ # === Options:
890
+ #
891
+ # * +:path_prefix+ - (String) The path prefix for filtering the results.
892
+ # For example: /division_abc/subdivision_xyz/, which would get all
893
+ # groups whose path starts with /division_abc/subdivision_xyz/. This
894
+ # parameter is optional. If it is not included, it defaults to a slash
895
+ # (/), listing all groups.
896
+ # * +:marker+ - (String) Use this only when paginating results, and only
897
+ # in a subsequent request after you've received a response where the
898
+ # results are truncated. Set it to the value of the Marker element in
899
+ # the response you just received.
900
+ # * +:max_items+ - (Integer) Use this only when paginating results to
901
+ # indicate the maximum number of groups you want in the response. If
902
+ # there are additional groups beyond the maximum you specify, the
903
+ # IsTruncated response element is +true+ .
904
+ #
905
+ # === Response Structure:
906
+ #
907
+ # * +:groups+ - (Array<Hash>)
908
+ # * +:path+ - (String)
909
+ # * +:group_name+ - (String)
910
+ # * +:group_id+ - (String)
911
+ # * +:arn+ - (String)
912
+ # * +:create_date+ - (Time)
913
+ # * +:is_truncated+ - (Boolean)
914
+ # * +:marker+ - (String)
915
+ #
916
+ # @return [Core::Response]
917
+ #
918
+ define_client_method :list_groups, 'ListGroups'
919
+
920
+ # Calls the ListGroupsForUser API operation.
921
+ # @method list_groups_for_user(options = {})
922
+ #
923
+ # === Options:
924
+ #
925
+ # * +:user_name+ - *required* - (String) The name of the user to list
926
+ # groups for.
927
+ # * +:marker+ - (String) Use this only when paginating results, and only
928
+ # in a subsequent request after you've received a response where the
929
+ # results are truncated. Set it to the value of the Marker element in
930
+ # the response you just received.
931
+ # * +:max_items+ - (Integer) Use this only when paginating results to
932
+ # indicate the maximum number of groups you want in the response. If
933
+ # there are additional groups beyond the maximum you specify, the
934
+ # IsTruncated response element is +true+ .
935
+ #
936
+ # === Response Structure:
937
+ #
938
+ # * +:groups+ - (Array<Hash>)
939
+ # * +:path+ - (String)
940
+ # * +:group_name+ - (String)
941
+ # * +:group_id+ - (String)
942
+ # * +:arn+ - (String)
943
+ # * +:create_date+ - (Time)
944
+ # * +:is_truncated+ - (Boolean)
945
+ # * +:marker+ - (String)
946
+ #
947
+ # @return [Core::Response]
948
+ #
949
+ define_client_method :list_groups_for_user, 'ListGroupsForUser'
950
+
951
+ # Calls the ListInstanceProfiles API operation.
952
+ # @method list_instance_profiles(options = {})
953
+ #
954
+ # === Options:
955
+ #
956
+ # * +:path_prefix+ - (String) The path prefix for filtering the results.
957
+ # For example: /application_abc/component_xyz/, which would get all
958
+ # instance profiles whose path starts with
959
+ # /application_abc/component_xyz/. This parameter is optional. If it is
960
+ # not included, it defaults to a slash (/), listing all instance
961
+ # profiles.
962
+ # * +:marker+ - (String) Use this parameter only when paginating results,
963
+ # and only in a subsequent request after you've received a response
964
+ # where the results are truncated. Set it to the value of the Marker
965
+ # element in the response you just received.
966
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
967
+ # results to indicate the maximum number of user names you want in the
968
+ # response. If there are additional user names beyond the maximum you
969
+ # specify, the IsTruncated response element is +true+ .
970
+ #
971
+ # === Response Structure:
972
+ #
973
+ # * +:instance_profiles+ - (Array<Hash>)
974
+ # * +:path+ - (String)
975
+ # * +:instance_profile_name+ - (String)
976
+ # * +:instance_profile_id+ - (String)
977
+ # * +:arn+ - (String)
978
+ # * +:create_date+ - (Time)
979
+ # * +:roles+ - (Array<Hash>)
980
+ # * +:path+ - (String)
981
+ # * +:role_name+ - (String)
982
+ # * +:role_id+ - (String)
983
+ # * +:arn+ - (String)
984
+ # * +:create_date+ - (Time)
985
+ # * +:assume_role_policy_document+ - (String)
986
+ # * +:is_truncated+ - (Boolean)
987
+ # * +:marker+ - (String)
988
+ #
989
+ # @return [Core::Response]
990
+ #
991
+ define_client_method :list_instance_profiles, 'ListInstanceProfiles'
992
+
993
+ # Calls the ListInstanceProfilesForRole API operation.
994
+ # @method list_instance_profiles_for_role(options = {})
995
+ #
996
+ # === Options:
997
+ #
998
+ # * +:role_name+ - *required* - (String) The name of the role to list
999
+ # instance profiles for.
1000
+ # * +:marker+ - (String) Use this parameter only when paginating results,
1001
+ # and only in a subsequent request after you've received a response
1002
+ # where the results are truncated. Set it to the value of the Marker
1003
+ # element in the response you just received.
1004
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
1005
+ # results to indicate the maximum number of user names you want in the
1006
+ # response. If there are additional user names beyond the maximum you
1007
+ # specify, the IsTruncated response element is +true+ .
1008
+ #
1009
+ # === Response Structure:
1010
+ #
1011
+ # * +:instance_profiles+ - (Array<Hash>)
1012
+ # * +:path+ - (String)
1013
+ # * +:instance_profile_name+ - (String)
1014
+ # * +:instance_profile_id+ - (String)
1015
+ # * +:arn+ - (String)
1016
+ # * +:create_date+ - (Time)
1017
+ # * +:roles+ - (Array<Hash>)
1018
+ # * +:path+ - (String)
1019
+ # * +:role_name+ - (String)
1020
+ # * +:role_id+ - (String)
1021
+ # * +:arn+ - (String)
1022
+ # * +:create_date+ - (Time)
1023
+ # * +:assume_role_policy_document+ - (String)
1024
+ # * +:is_truncated+ - (Boolean)
1025
+ # * +:marker+ - (String)
1026
+ #
1027
+ # @return [Core::Response]
1028
+ #
1029
+ define_client_method :list_instance_profiles_for_role, 'ListInstanceProfilesForRole'
1030
+
1031
+ # Calls the ListMFADevices API operation.
1032
+ # @method list_mfa_devices(options = {})
1033
+ #
1034
+ # === Options:
1035
+ #
1036
+ # * +:user_name+ - (String) Name of the user whose MFA devices you want
1037
+ # to list.
1038
+ # * +:marker+ - (String) Use this only when paginating results, and only
1039
+ # in a subsequent request after you've received a response where the
1040
+ # results are truncated. Set it to the value of the Marker element in
1041
+ # the response you just received.
1042
+ # * +:max_items+ - (Integer) Use this only when paginating results to
1043
+ # indicate the maximum number of MFA devices you want in the response.
1044
+ # If there are additional MFA devices beyond the maximum you specify,
1045
+ # the IsTruncated response element is +true+ .
1046
+ #
1047
+ # === Response Structure:
1048
+ #
1049
+ # * +:mfa_devices+ - (Array<Hash>)
1050
+ # * +:user_name+ - (String)
1051
+ # * +:serial_number+ - (String)
1052
+ # * +:enable_date+ - (Time)
1053
+ # * +:is_truncated+ - (Boolean)
1054
+ # * +:marker+ - (String)
1055
+ #
1056
+ # @return [Core::Response]
1057
+ #
1058
+ define_client_method :list_mfa_devices, 'ListMFADevices'
1059
+
1060
+ # Calls the ListRolePolicies API operation.
1061
+ # @method list_role_policies(options = {})
1062
+ #
1063
+ # === Options:
1064
+ #
1065
+ # * +:role_name+ - *required* - (String) The name of the role to list
1066
+ # policies for.
1067
+ # * +:marker+ - (String) Use this parameter only when paginating results,
1068
+ # and only in a subsequent request after you've received a response
1069
+ # where the results are truncated. Set it to the value of the Marker
1070
+ # element in the response you just received.
1071
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
1072
+ # results to indicate the maximum number of user names you want in the
1073
+ # response. If there are additional user names beyond the maximum you
1074
+ # specify, the IsTruncated response element is +true+ .
1075
+ #
1076
+ # === Response Structure:
1077
+ #
1078
+ # * +:policy_names+ - (Array<String>)
1079
+ # * +:is_truncated+ - (Boolean)
1080
+ # * +:marker+ - (String)
1081
+ #
1082
+ # @return [Core::Response]
1083
+ #
1084
+ define_client_method :list_role_policies, 'ListRolePolicies'
1085
+
1086
+ # Calls the ListRoles API operation.
1087
+ # @method list_roles(options = {})
1088
+ #
1089
+ # === Options:
1090
+ #
1091
+ # * +:path_prefix+ - (String) The path prefix for filtering the results.
1092
+ # For example: /application_abc/component_xyz/, which would get all
1093
+ # roles whose path starts with /application_abc/component_xyz/. This
1094
+ # parameter is optional. If it is not included, it defaults to a slash
1095
+ # (/), listing all roles.
1096
+ # * +:marker+ - (String) Use this parameter only when paginating results,
1097
+ # and only in a subsequent request after you've received a response
1098
+ # where the results are truncated. Set it to the value of the Marker
1099
+ # element in the response you just received.
1100
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
1101
+ # results to indicate the maximum number of user names you want in the
1102
+ # response. If there are additional user names beyond the maximum you
1103
+ # specify, the IsTruncated response element is +true+ .
1104
+ #
1105
+ # === Response Structure:
1106
+ #
1107
+ # * +:roles+ - (Array<Hash>)
1108
+ # * +:path+ - (String)
1109
+ # * +:role_name+ - (String)
1110
+ # * +:role_id+ - (String)
1111
+ # * +:arn+ - (String)
1112
+ # * +:create_date+ - (Time)
1113
+ # * +:assume_role_policy_document+ - (String)
1114
+ # * +:is_truncated+ - (Boolean)
1115
+ # * +:marker+ - (String)
1116
+ #
1117
+ # @return [Core::Response]
1118
+ #
1119
+ define_client_method :list_roles, 'ListRoles'
1120
+
1121
+ # Calls the ListServerCertificates API operation.
1122
+ # @method list_server_certificates(options = {})
1123
+ #
1124
+ # === Options:
1125
+ #
1126
+ # * +:path_prefix+ - (String) The path prefix for filtering the results.
1127
+ # For example: /company/servercerts would get all server certificates
1128
+ # for which the path starts with /company/servercerts. This parameter
1129
+ # is optional. If it is not included, it defaults to a slash (/),
1130
+ # listing all server certificates.
1131
+ # * +:marker+ - (String) Use this only when paginating results, and only
1132
+ # in a subsequent request after you've received a response where the
1133
+ # results are truncated. Set it to the value of the Marker element in
1134
+ # the response you just received.
1135
+ # * +:max_items+ - (Integer) Use this only when paginating results to
1136
+ # indicate the maximum number of server certificates you want in the
1137
+ # response. If there are additional server certificates beyond the
1138
+ # maximum you specify, the IsTruncated response element will be set to
1139
+ # +true+ .
1140
+ #
1141
+ # === Response Structure:
1142
+ #
1143
+ # * +:server_certificate_metadata_list+ - (Array<Hash>)
1144
+ # * +:path+ - (String)
1145
+ # * +:server_certificate_name+ - (String)
1146
+ # * +:server_certificate_id+ - (String)
1147
+ # * +:arn+ - (String)
1148
+ # * +:upload_date+ - (Time)
1149
+ # * +:is_truncated+ - (Boolean)
1150
+ # * +:marker+ - (String)
1151
+ #
1152
+ # @return [Core::Response]
1153
+ #
1154
+ define_client_method :list_server_certificates, 'ListServerCertificates'
1155
+
1156
+ # Calls the ListSigningCertificates API operation.
1157
+ # @method list_signing_certificates(options = {})
1158
+ #
1159
+ # === Options:
1160
+ #
1161
+ # * +:user_name+ - (String) The name of the user.
1162
+ # * +:marker+ - (String) Use this only when paginating results, and only
1163
+ # in a subsequent request after you've received a response where the
1164
+ # results are truncated. Set it to the value of the Marker element in
1165
+ # the response you just received.
1166
+ # * +:max_items+ - (Integer) Use this only when paginating results to
1167
+ # indicate the maximum number of certificate IDs you want in the
1168
+ # response. If there are additional certificate IDs beyond the maximum
1169
+ # you specify, the IsTruncated response element is +true+ .
1170
+ #
1171
+ # === Response Structure:
1172
+ #
1173
+ # * +:certificates+ - (Array<Hash>)
1174
+ # * +:user_name+ - (String)
1175
+ # * +:certificate_id+ - (String)
1176
+ # * +:certificate_body+ - (String)
1177
+ # * +:status+ - (String)
1178
+ # * +:upload_date+ - (Time)
1179
+ # * +:is_truncated+ - (Boolean)
1180
+ # * +:marker+ - (String)
1181
+ #
1182
+ # @return [Core::Response]
1183
+ #
1184
+ define_client_method :list_signing_certificates, 'ListSigningCertificates'
1185
+
1186
+ # Calls the ListUserPolicies API operation.
1187
+ # @method list_user_policies(options = {})
1188
+ #
1189
+ # === Options:
1190
+ #
1191
+ # * +:user_name+ - *required* - (String) The name of the user to list
1192
+ # policies for.
1193
+ # * +:marker+ - (String) Use this only when paginating results, and only
1194
+ # in a subsequent request after you've received a response where the
1195
+ # results are truncated. Set it to the value of the Marker element in
1196
+ # the response you just received.
1197
+ # * +:max_items+ - (Integer) Use this only when paginating results to
1198
+ # indicate the maximum number of policy names you want in the response.
1199
+ # If there are additional policy names beyond the maximum you specify,
1200
+ # the IsTruncated response element is +true+ .
1201
+ #
1202
+ # === Response Structure:
1203
+ #
1204
+ # * +:policy_names+ - (Array<String>)
1205
+ # * +:is_truncated+ - (Boolean)
1206
+ # * +:marker+ - (String)
1207
+ #
1208
+ # @return [Core::Response]
1209
+ #
1210
+ define_client_method :list_user_policies, 'ListUserPolicies'
1211
+
1212
+ # Calls the ListUsers API operation.
1213
+ # @method list_users(options = {})
1214
+ #
1215
+ # === Options:
1216
+ #
1217
+ # * +:path_prefix+ - (String) The path prefix for filtering the results.
1218
+ # For example: /division_abc/subdivision_xyz/, which would get all user
1219
+ # names whose path starts with /division_abc/subdivision_xyz/. This
1220
+ # parameter is optional. If it is not included, it defaults to a slash
1221
+ # (/), listing all user names.
1222
+ # * +:marker+ - (String) Use this parameter only when paginating results,
1223
+ # and only in a subsequent request after you've received a response
1224
+ # where the results are truncated. Set it to the value of the Marker
1225
+ # element in the response you just received.
1226
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
1227
+ # results to indicate the maximum number of user names you want in the
1228
+ # response. If there are additional user names beyond the maximum you
1229
+ # specify, the IsTruncated response element is +true+ .
1230
+ #
1231
+ # === Response Structure:
1232
+ #
1233
+ # * +:users+ - (Array<Hash>)
1234
+ # * +:path+ - (String)
1235
+ # * +:user_name+ - (String)
1236
+ # * +:user_id+ - (String)
1237
+ # * +:arn+ - (String)
1238
+ # * +:create_date+ - (Time)
1239
+ # * +:is_truncated+ - (Boolean)
1240
+ # * +:marker+ - (String)
1241
+ #
1242
+ # @return [Core::Response]
1243
+ #
1244
+ define_client_method :list_users, 'ListUsers'
1245
+
1246
+ # Calls the ListVirtualMFADevices API operation.
1247
+ # @method list_virtual_mfa_devices(options = {})
1248
+ #
1249
+ # === Options:
1250
+ #
1251
+ # * +:assignment_status+ - (String) The status (unassigned or assigned)
1252
+ # of the devices to list. If you do not specify an AssignmentStatus,
1253
+ # the action defaults to Any which lists both assigned and unassigned
1254
+ # virtual MFA devices.
1255
+ # * +:marker+ - (String) Use this parameter only when paginating results,
1256
+ # and only in a subsequent request after you've received a response
1257
+ # where the results are truncated. Set it to the value of the Marker
1258
+ # element in the response you just received.
1259
+ # * +:max_items+ - (Integer) Use this parameter only when paginating
1260
+ # results to indicate the maximum number of user names you want in the
1261
+ # response. If there are additional user names beyond the maximum you
1262
+ # specify, the IsTruncated response element is +true+ .
1263
+ #
1264
+ # === Response Structure:
1265
+ #
1266
+ # * +:virtual_mfa_devices+ - (Array<Hash>)
1267
+ # * +:serial_number+ - (String)
1268
+ # * +:base_32_string_seed+ - (String)
1269
+ # * +:qr_code_png+ - (String)
1270
+ # * +:user+ - (Hash)
1271
+ # * +:path+ - (String)
1272
+ # * +:user_name+ - (String)
1273
+ # * +:user_id+ - (String)
1274
+ # * +:arn+ - (String)
1275
+ # * +:create_date+ - (Time)
1276
+ # * +:enable_date+ - (Time)
1277
+ # * +:is_truncated+ - (Boolean)
1278
+ # * +:marker+ - (String)
1279
+ #
1280
+ # @return [Core::Response]
1281
+ #
1282
+ define_client_method :list_virtual_mfa_devices, 'ListVirtualMFADevices'
1283
+
1284
+ # Calls the PutGroupPolicy API operation.
1285
+ # @method put_group_policy(options = {})
1286
+ #
1287
+ # === Options:
1288
+ #
1289
+ # * +:group_name+ - *required* - (String) Name of the group to associate
1290
+ # the policy with.
1291
+ # * +:policy_name+ - *required* - (String) Name of the policy document.
1292
+ # * +:policy_document+ - *required* - (String) The policy document.
1293
+ #
1294
+ # === Response Structure:
1295
+ #
1296
+ # This method returns no response data.
1297
+ #
1298
+ # @return [Core::Response]
1299
+ #
1300
+ define_client_method :put_group_policy, 'PutGroupPolicy'
1301
+
1302
+ # Calls the PutRolePolicy API operation.
1303
+ # @method put_role_policy(options = {})
1304
+ #
1305
+ # === Options:
1306
+ #
1307
+ # * +:role_name+ - *required* - (String) Name of the role to associate
1308
+ # the policy with.
1309
+ # * +:policy_name+ - *required* - (String) Name of the policy document.
1310
+ # * +:policy_document+ - *required* - (String) The policy document.
1311
+ #
1312
+ # === Response Structure:
1313
+ #
1314
+ # This method returns no response data.
1315
+ #
1316
+ # @return [Core::Response]
1317
+ #
1318
+ define_client_method :put_role_policy, 'PutRolePolicy'
1319
+
1320
+ # Calls the PutUserPolicy API operation.
1321
+ # @method put_user_policy(options = {})
1322
+ #
1323
+ # === Options:
1324
+ #
1325
+ # * +:user_name+ - *required* - (String) Name of the user to associate
1326
+ # the policy with.
1327
+ # * +:policy_name+ - *required* - (String) Name of the policy document.
1328
+ # * +:policy_document+ - *required* - (String) The policy document.
1329
+ #
1330
+ # === Response Structure:
1331
+ #
1332
+ # This method returns no response data.
1333
+ #
1334
+ # @return [Core::Response]
1335
+ #
1336
+ define_client_method :put_user_policy, 'PutUserPolicy'
1337
+
1338
+ # Calls the RemoveRoleFromInstanceProfile API operation.
1339
+ # @method remove_role_from_instance_profile(options = {})
1340
+ #
1341
+ # === Options:
1342
+ #
1343
+ # * +:instance_profile_name+ - *required* - (String) Name of the instance
1344
+ # profile to update.
1345
+ # * +:role_name+ - *required* - (String) Name of the role to remove.
1346
+ #
1347
+ # === Response Structure:
1348
+ #
1349
+ # This method returns no response data.
1350
+ #
1351
+ # @return [Core::Response]
1352
+ #
1353
+ define_client_method :remove_role_from_instance_profile, 'RemoveRoleFromInstanceProfile'
1354
+
1355
+ # Calls the RemoveUserFromGroup API operation.
1356
+ # @method remove_user_from_group(options = {})
1357
+ #
1358
+ # === Options:
1359
+ #
1360
+ # * +:group_name+ - *required* - (String) Name of the group to update.
1361
+ # * +:user_name+ - *required* - (String) Name of the user to remove.
1362
+ #
1363
+ # === Response Structure:
1364
+ #
1365
+ # This method returns no response data.
1366
+ #
1367
+ # @return [Core::Response]
1368
+ #
1369
+ define_client_method :remove_user_from_group, 'RemoveUserFromGroup'
1370
+
1371
+ # Calls the ResyncMFADevice API operation.
1372
+ # @method resync_mfa_device(options = {})
1373
+ #
1374
+ # === Options:
1375
+ #
1376
+ # * +:user_name+ - *required* - (String) Name of the user whose MFA
1377
+ # device you want to resynchronize.
1378
+ # * +:serial_number+ - *required* - (String) Serial number that uniquely
1379
+ # identifies the MFA device.
1380
+ # * +:authentication_code_1+ - *required* - (String) An authentication
1381
+ # code emitted by the device.
1382
+ # * +:authentication_code_2+ - *required* - (String) A subsequent
1383
+ # authentication code emitted by the device.
1384
+ #
1385
+ # === Response Structure:
1386
+ #
1387
+ # This method returns no response data.
1388
+ #
1389
+ # @return [Core::Response]
1390
+ #
1391
+ define_client_method :resync_mfa_device, 'ResyncMFADevice'
1392
+
1393
+ # Calls the UpdateAccessKey API operation.
1394
+ # @method update_access_key(options = {})
1395
+ #
1396
+ # === Options:
1397
+ #
1398
+ # * +:user_name+ - (String) Name of the user whose key you want to
1399
+ # update.
1400
+ # * +:access_key_id+ - *required* - (String) The Access Key ID of the
1401
+ # Secret Access Key you want to update.
1402
+ # * +:status+ - *required* - (String) The status you want to assign to
1403
+ # the Secret Access Key. Active means the key can be used for API calls
1404
+ # to AWS, while Inactive means the key cannot be used.
1405
+ #
1406
+ # === Response Structure:
1407
+ #
1408
+ # This method returns no response data.
1409
+ #
1410
+ # @return [Core::Response]
1411
+ #
1412
+ define_client_method :update_access_key, 'UpdateAccessKey'
1413
+
1414
+ # Calls the UpdateAccountPasswordPolicy API operation.
1415
+ # @method update_account_password_policy(options = {})
1416
+ #
1417
+ # === Options:
1418
+ #
1419
+ # * +:minimum_password_length+ - (Integer)
1420
+ # * +:require_symbols+ - (Boolean)
1421
+ # * +:require_numbers+ - (Boolean)
1422
+ # * +:require_uppercase_characters+ - (Boolean)
1423
+ # * +:require_lowercase_characters+ - (Boolean)
1424
+ # * +:allow_users_to_change_password+ - (Boolean)
1425
+ #
1426
+ # === Response Structure:
1427
+ #
1428
+ # This method returns no response data.
1429
+ #
1430
+ # @return [Core::Response]
1431
+ #
1432
+ define_client_method :update_account_password_policy, 'UpdateAccountPasswordPolicy'
1433
+
1434
+ # Calls the UpdateAssumeRolePolicy API operation.
1435
+ # @method update_assume_role_policy(options = {})
1436
+ #
1437
+ # === Options:
1438
+ #
1439
+ # * +:role_name+ - *required* - (String) Name of the role to update.
1440
+ # * +:policy_document+ - *required* - (String) The policy govering by who
1441
+ # and under what conditions the role can be assumed.
1442
+ #
1443
+ # === Response Structure:
1444
+ #
1445
+ # This method returns no response data.
1446
+ #
1447
+ # @return [Core::Response]
1448
+ #
1449
+ define_client_method :update_assume_role_policy, 'UpdateAssumeRolePolicy'
1450
+
1451
+ # Calls the UpdateGroup API operation.
1452
+ # @method update_group(options = {})
1453
+ #
1454
+ # === Options:
1455
+ #
1456
+ # * +:group_name+ - *required* - (String) Name of the group to update. If
1457
+ # you're changing the name of the group, this is the original name.
1458
+ # * +:new_path+ - (String) New path for the group. Only include this if
1459
+ # changing the group's path.
1460
+ # * +:new_group_name+ - (String) New name for the group. Only include
1461
+ # this if changing the group's name.
1462
+ #
1463
+ # === Response Structure:
1464
+ #
1465
+ # This method returns no response data.
1466
+ #
1467
+ # @return [Core::Response]
1468
+ #
1469
+ define_client_method :update_group, 'UpdateGroup'
1470
+
1471
+ # Calls the UpdateLoginProfile API operation.
1472
+ # @method update_login_profile(options = {})
1473
+ #
1474
+ # === Options:
1475
+ #
1476
+ # * +:user_name+ - *required* - (String) Name of the user whose password
1477
+ # you want to update.
1478
+ # * +:password+ - (String) The new password for the user name.
1479
+ #
1480
+ # === Response Structure:
1481
+ #
1482
+ # This method returns no response data.
1483
+ #
1484
+ # @return [Core::Response]
1485
+ #
1486
+ define_client_method :update_login_profile, 'UpdateLoginProfile'
1487
+
1488
+ # Calls the UpdateServerCertificate API operation.
1489
+ # @method update_server_certificate(options = {})
1490
+ #
1491
+ # === Options:
1492
+ #
1493
+ # * +:server_certificate_name+ - *required* - (String) The name of the
1494
+ # server certificate that you want to update.
1495
+ # * +:new_path+ - (String) The new path for the server certificate.
1496
+ # Include this only if you are updating the server certificate's path.
1497
+ # * +:new_server_certificate_name+ - (String) The new name for the server
1498
+ # certificate. Include this only if you are updating the server
1499
+ # certificate's name.
1500
+ #
1501
+ # === Response Structure:
1502
+ #
1503
+ # This method returns no response data.
1504
+ #
1505
+ # @return [Core::Response]
1506
+ #
1507
+ define_client_method :update_server_certificate, 'UpdateServerCertificate'
1508
+
1509
+ # Calls the UpdateSigningCertificate API operation.
1510
+ # @method update_signing_certificate(options = {})
1511
+ #
1512
+ # === Options:
1513
+ #
1514
+ # * +:user_name+ - (String) Name of the user the signing certificate
1515
+ # belongs to.
1516
+ # * +:certificate_id+ - *required* - (String) The ID of the signing
1517
+ # certificate you want to update.
1518
+ # * +:status+ - *required* - (String) The status you want to assign to
1519
+ # the certificate. Active means the certificate can be used for API
1520
+ # calls to AWS, while Inactive means the certificate cannot be used.
1521
+ #
1522
+ # === Response Structure:
1523
+ #
1524
+ # This method returns no response data.
1525
+ #
1526
+ # @return [Core::Response]
1527
+ #
1528
+ define_client_method :update_signing_certificate, 'UpdateSigningCertificate'
1529
+
1530
+ # Calls the UpdateUser API operation.
1531
+ # @method update_user(options = {})
1532
+ #
1533
+ # === Options:
1534
+ #
1535
+ # * +:user_name+ - *required* - (String) Name of the user to update. If
1536
+ # you're changing the name of the user, this is the original user name.
1537
+ # * +:new_path+ - (String) New path for the user. Include this parameter
1538
+ # only if you're changing the user's path.
1539
+ # * +:new_user_name+ - (String) New name for the user. Include this
1540
+ # parameter only if you're changing the user's name.
1541
+ #
1542
+ # === Response Structure:
1543
+ #
1544
+ # This method returns no response data.
1545
+ #
1546
+ # @return [Core::Response]
1547
+ #
1548
+ define_client_method :update_user, 'UpdateUser'
1549
+
1550
+ # Calls the UploadServerCertificate API operation.
1551
+ # @method upload_server_certificate(options = {})
1552
+ #
1553
+ # === Options:
1554
+ #
1555
+ # * +:path+ - (String) The path for the server certificate. For more
1556
+ # information about paths, see Identifiers for IAM Entities in Using
1557
+ # AWS Identity and Access Management. This parameter is optional. If it
1558
+ # is not included, it defaults to a slash (/).
1559
+ # * +:server_certificate_name+ - *required* - (String) The name for the
1560
+ # server certificate. Do not include the path in this value.
1561
+ # * +:certificate_body+ - *required* - (String) The contents of the
1562
+ # public key certificate in PEM-encoded format.
1563
+ # * +:private_key+ - *required* - (String) The contents of the private
1564
+ # key in PEM-encoded format.
1565
+ # * +:certificate_chain+ - (String) The contents of the certificate
1566
+ # chain. This is typically a concatenation of the PEM-encoded public
1567
+ # key certificates of the chain.
1568
+ #
1569
+ # === Response Structure:
1570
+ #
1571
+ # * +:server_certificate_metadata+ - (Hash)
1572
+ # * +:path+ - (String)
1573
+ # * +:server_certificate_name+ - (String)
1574
+ # * +:server_certificate_id+ - (String)
1575
+ # * +:arn+ - (String)
1576
+ # * +:upload_date+ - (Time)
1577
+ #
1578
+ # @return [Core::Response]
1579
+ #
1580
+ define_client_method :upload_server_certificate, 'UploadServerCertificate'
1581
+
1582
+ # Calls the UploadSigningCertificate API operation.
1583
+ # @method upload_signing_certificate(options = {})
1584
+ #
1585
+ # === Options:
1586
+ #
1587
+ # * +:user_name+ - (String) Name of the user the signing certificate is
1588
+ # for.
1589
+ # * +:certificate_body+ - *required* - (String) The contents of the
1590
+ # signing certificate.
1591
+ #
1592
+ # === Response Structure:
1593
+ #
1594
+ # * +:certificate+ - (Hash)
1595
+ # * +:user_name+ - (String)
1596
+ # * +:certificate_id+ - (String)
1597
+ # * +:certificate_body+ - (String)
1598
+ # * +:status+ - (String)
1599
+ # * +:upload_date+ - (Time)
1600
+ #
1601
+ # @return [Core::Response]
1602
+ #
1603
+ define_client_method :upload_signing_certificate, 'UploadSigningCertificate'
1604
+
1605
+ ## end client methods ##
1606
+
1607
+ end
1608
+ end
1609
+ end