aws-sdk 1.5.1 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -61,7 +61,7 @@ require 'aws/core/autoloader'
61
61
  module AWS
62
62
 
63
63
  # Current version of the AWS SDK for Ruby
64
- VERSION = "1.5.1"
64
+ VERSION = "1.5.2"
65
65
 
66
66
  register_autoloads(self) do
67
67
  autoload :Errors, 'errors'
@@ -17,7 +17,7 @@ module AWS
17
17
  # Client class for Amazon Elastic Compute Cloud (EC2).
18
18
  class Client < Core::Client
19
19
 
20
- API_VERSION = '2011-12-15'
20
+ API_VERSION = '2012-04-01'
21
21
 
22
22
  extend Core::Client::QueryXML
23
23
 
@@ -39,6 +39,7 @@ module AWS
39
39
  :describe_snapshot_attribute,
40
40
  :describe_snapshots,
41
41
  :describe_subnets,
42
+ :describe_volume_status,
42
43
  :describe_volumes,
43
44
  :describe_vpcs,
44
45
  :describe_vpn_connections,
@@ -1606,6 +1607,7 @@ module AWS
1606
1607
  # * +:group+ - (String)
1607
1608
  # * +:product_codes+ - (Array<Hash>)
1608
1609
  # * +:product_code+ - (String)
1610
+ # * +:type+ - (String)
1609
1611
  # * +:kernel+ - (Hash)
1610
1612
  # * +:value+ - (String)
1611
1613
  # * +:ramdisk+ - (Hash)
@@ -1658,6 +1660,7 @@ module AWS
1658
1660
  # * +:is_public+ - (Boolean)
1659
1661
  # * +:product_codes+ - (Array<Hash>)
1660
1662
  # * +:product_code+ - (String)
1663
+ # * +:type+ - (String)
1661
1664
  # * +:architecture+ - (String)
1662
1665
  # * +:image_type+ - (String)
1663
1666
  # * +:kernel_id+ - (String)
@@ -1725,6 +1728,9 @@ module AWS
1725
1728
  # * +:status+ - (String)
1726
1729
  # * +:attach_time+ - (Time)
1727
1730
  # * +:delete_on_termination+ - (Boolean)
1731
+ # * +:product_codes+ - (Array<Hash>)
1732
+ # * +:product_code+ - (String)
1733
+ # * +:type+ - (String)
1728
1734
  #
1729
1735
  # @return [Core::Response]
1730
1736
  #
@@ -1812,6 +1818,7 @@ module AWS
1812
1818
  # * +:ami_launch_index+ - (Integer)
1813
1819
  # * +:product_codes+ - (Array<Hash>)
1814
1820
  # * +:product_code+ - (String)
1821
+ # * +:type+ - (String)
1815
1822
  # * +:instance_type+ - (String)
1816
1823
  # * +:launch_time+ - (Time)
1817
1824
  # * +:placement+ - (Hash)
@@ -2336,6 +2343,9 @@ module AWS
2336
2343
  # * +:create_volume_permission+ - (Array<Hash>)
2337
2344
  # * +:user_id+ - (String)
2338
2345
  # * +:group+ - (String)
2346
+ # * +:product_codes+ - (Array<Hash>)
2347
+ # * +:product_code+ - (String)
2348
+ # * +:type+ - (String)
2339
2349
  #
2340
2350
  # @return [Core::Response]
2341
2351
  #
@@ -2563,6 +2573,67 @@ module AWS
2563
2573
  #
2564
2574
  define_client_method :describe_tags, 'DescribeTags'
2565
2575
 
2576
+ # Calls the DescribeVolumeAttribute API operation.
2577
+ # @method describe_volume_attribute(options = {})
2578
+ #
2579
+ # === Options:
2580
+ #
2581
+ # * +:volume_id+ - *required* - (String)
2582
+ # * +:attribute+ - (String)
2583
+ #
2584
+ # === Response Structure:
2585
+ #
2586
+ # * +:volume_id+ - (String)
2587
+ # * +:auto_enable_io+ - (Hash)
2588
+ # * +:value+ - (Boolean)
2589
+ # * +:product_codes+ - (Array<Hash>)
2590
+ # * +:product_code+ - (String)
2591
+ # * +:type+ - (String)
2592
+ #
2593
+ # @return [Core::Response]
2594
+ #
2595
+ define_client_method :describe_volume_attribute, 'DescribeVolumeAttribute'
2596
+
2597
+ # Calls the DescribeVolumeStatus API operation.
2598
+ # @method describe_volume_status(options = {})
2599
+ #
2600
+ # === Options:
2601
+ #
2602
+ # * +:volume_ids+ - (Array<String>)
2603
+ # * +:filters+ - (Array<Hash>)
2604
+ # * +:name+ - (String) Specifies the name of the filter.
2605
+ # * +:values+ - (Array<String>) Contains one or more values for the
2606
+ # filter.
2607
+ # * +:next_token+ - (String)
2608
+ # * +:max_results+ - (Integer)
2609
+ #
2610
+ # === Response Structure:
2611
+ #
2612
+ # * +:volume_status_set+ - (Array<Hash>)
2613
+ # * +:volume_id+ - (String)
2614
+ # * +:availability_zone+ - (String)
2615
+ # * +:volume_status+ - (Hash)
2616
+ # * +:status+ - (String)
2617
+ # * +:details+ - (Array<Hash>)
2618
+ # * +:name+ - (String)
2619
+ # * +:status+ - (String)
2620
+ # * +:events_set+ - (Array<Hash>)
2621
+ # * +:event_type+ - (String)
2622
+ # * +:description+ - (String)
2623
+ # * +:not_before+ - (Time)
2624
+ # * +:not_after+ - (Time)
2625
+ # * +:event_id+ - (String)
2626
+ # * +:actions_set+ - (Array<Hash>)
2627
+ # * +:code+ - (String)
2628
+ # * +:description+ - (String)
2629
+ # * +:event_type+ - (String)
2630
+ # * +:event_id+ - (String)
2631
+ # * +:next_token+ - (String)
2632
+ #
2633
+ # @return [Core::Response]
2634
+ #
2635
+ define_client_method :describe_volume_status, 'DescribeVolumeStatus'
2636
+
2566
2637
  # Calls the DescribeVolumes API operation.
2567
2638
  # @method describe_volumes(options = {})
2568
2639
  #
@@ -2820,6 +2891,21 @@ module AWS
2820
2891
  #
2821
2892
  define_client_method :disassociate_route_table, 'DisassociateRouteTable'
2822
2893
 
2894
+ # Calls the EnableVolumeIO API operation.
2895
+ # @method enable_volume_io(options = {})
2896
+ #
2897
+ # === Options:
2898
+ #
2899
+ # * +:volume_id+ - *required* - (String)
2900
+ #
2901
+ # === Response Structure:
2902
+ #
2903
+ # This method returns no response data.
2904
+ #
2905
+ # @return [Core::Response]
2906
+ #
2907
+ define_client_method :enable_volume_io, 'EnableVolumeIO'
2908
+
2823
2909
  # Calls the GetConsoleOutput API operation.
2824
2910
  # @method get_console_output(options = {})
2825
2911
  #
@@ -2877,8 +2963,9 @@ module AWS
2877
2963
  # group to ensure fast connection speeds.
2878
2964
  # * +:tenancy+ - (String) The allowed tenancy of instances launched
2879
2965
  # into the VPC. A value of default means instances can be launched
2880
- # with any tenancy; a value of dedicated means instances must be
2881
- # launched with tenancy as dedicated.
2966
+ # with any tenancy; a value of dedicated means all instances
2967
+ # launched into the VPC will be launched as dedicated tenancy
2968
+ # regardless of the tenancy assigned to the instance at launch.
2882
2969
  # * +:block_device_mappings+ - (Array<Hash>)
2883
2970
  # * +:virtual_name+ - (String) Specifies the virtual device name.
2884
2971
  # * +:device_name+ - (String) Specifies the device name (e.g.,
@@ -3193,6 +3280,22 @@ module AWS
3193
3280
  #
3194
3281
  define_client_method :modify_snapshot_attribute, 'ModifySnapshotAttribute'
3195
3282
 
3283
+ # Calls the ModifyVolumeAttribute API operation.
3284
+ # @method modify_volume_attribute(options = {})
3285
+ #
3286
+ # === Options:
3287
+ #
3288
+ # * +:volume_id+ - *required* - (String)
3289
+ # * +:auto_enable_io+ - (Boolean)
3290
+ #
3291
+ # === Response Structure:
3292
+ #
3293
+ # This method returns no response data.
3294
+ #
3295
+ # @return [Core::Response]
3296
+ #
3297
+ define_client_method :modify_volume_attribute, 'ModifyVolumeAttribute'
3298
+
3196
3299
  # Calls the MonitorInstances API operation.
3197
3300
  # @method monitor_instances(options = {})
3198
3301
  #
@@ -3418,8 +3521,7 @@ module AWS
3418
3521
  # * +:status+ - (String)
3419
3522
  # * +:start_time+ - (String<ISO8601 datetime>)
3420
3523
  # * +:end_time+ - (String<ISO8601 datetime>)
3421
- # * +:reason_codes+ - (Array<Hash>)
3422
- # * +:reason_code+ - (String)
3524
+ # * +:reason_codes+ - (Array<String>)
3423
3525
  # * +:description+ - (String)
3424
3526
  #
3425
3527
  # === Response Structure:
@@ -3771,8 +3873,9 @@ module AWS
3771
3873
  # ensure fast connection speeds.
3772
3874
  # * +:tenancy+ - (String) The allowed tenancy of instances launched
3773
3875
  # into the VPC. A value of default means instances can be launched
3774
- # with any tenancy; a value of dedicated means instances must be
3775
- # launched with tenancy as dedicated.
3876
+ # with any tenancy; a value of dedicated means all instances launched
3877
+ # into the VPC will be launched as dedicated tenancy regardless of
3878
+ # the tenancy assigned to the instance at launch.
3776
3879
  # * +:kernel_id+ - (String) The ID of the kernel with which to launch the
3777
3880
  # instance.
3778
3881
  # * +:ramdisk_id+ - (String) The ID of the RAM disk with which to launch
@@ -3848,6 +3951,7 @@ module AWS
3848
3951
  # * +:ami_launch_index+ - (Integer)
3849
3952
  # * +:product_codes+ - (Array<Hash>)
3850
3953
  # * +:product_code+ - (String)
3954
+ # * +:type+ - (String)
3851
3955
  # * +:instance_type+ - (String)
3852
3956
  # * +:launch_time+ - (Time)
3853
3957
  # * +:placement+ - (Hash)
@@ -17,6 +17,33 @@ module AWS
17
17
  class EC2
18
18
 
19
19
  # Represents a network interface in EC2.
20
+ #
21
+ # @attr [String] description
22
+ #
23
+ # @attr_reader [String] vpc_id
24
+ #
25
+ # @attr_reader [String] subnet_id
26
+ #
27
+ # @attr_reader [String] owner_id
28
+ #
29
+ # @attr_reader [Symbol] status
30
+ #
31
+ # @attr_reader [String] private_ip_address
32
+ #
33
+ # @attr_reader [String] private_dns_name
34
+ #
35
+ # @attr_reader [String] availability_zone_name
36
+ #
37
+ # @attr_reader [String] mac_address
38
+ #
39
+ # @attr_reader [Hash,nil] association Returns a hash of
40
+ # details about the association between this network interface
41
+ # and an elastic ip address.
42
+ #
43
+ # @attr [Boolean] source_dest_check
44
+ #
45
+ # @attr [Boolean] requester_managed
46
+ #
20
47
  class NetworkInterface < Resource
21
48
 
22
49
  include TaggedItem
@@ -45,10 +72,24 @@ module AWS
45
72
 
46
73
  attribute :private_dns_name, :static => true
47
74
 
75
+ attribute :mac_address, :static => true
76
+
77
+ attribute :availability_zone_name,
78
+ :as => :availability_zone,
79
+ :static => true
80
+
48
81
  mutable_attribute :source_dest_check
49
82
 
50
83
  alias_method :source_dest_check?, :source_dest_check
51
84
 
85
+ attribute :requester_managed
86
+
87
+ alias_method :requester_managed?, :requester_managed
88
+
89
+ attribute :association do
90
+ translates_output {|assoc| assoc.to_hash }
91
+ end
92
+
52
93
  attribute :attachment_details, :as => :attachment
53
94
 
54
95
  protected :attachment_details
@@ -76,6 +117,19 @@ module AWS
76
117
  Subnet.new(subnet_id, :vpc_id => vpc_id, :config => config)
77
118
  end
78
119
 
120
+ # @return [ElasticIp,nil]
121
+ def elastic_ip
122
+ if association = self.association
123
+ opts = association.merge(:config => config)
124
+ ElasticIp.new(association[:public_ip], opts)
125
+ end
126
+ end
127
+
128
+ # @return [AvailabilityZone]
129
+ def availability_zone
130
+ AvailabilityZone.new(availability_zone_name, :config => config)
131
+ end
132
+
79
133
  # @return [Array<SecurityGroup>]
80
134
  def security_groups
81
135
  groups.collect do |g|
@@ -106,6 +160,7 @@ module AWS
106
160
  end
107
161
  end
108
162
 
163
+ # @return [Attachment,nil]
109
164
  def attachment
110
165
  if details = attachment_details
111
166
  Attachment.new(self, details)
@@ -47,6 +47,7 @@ module AWS
47
47
  #
48
48
  # @attr_reader [Time] create_time The time at which the volume
49
49
  # was created.
50
+ #
50
51
  class Volume < Resource
51
52
 
52
53
  include TaggedItem
@@ -23,17 +23,40 @@ module AWS
23
23
 
24
24
  # @private
25
25
  CACHEABLE_REQUESTS = Set[
26
+ :get_group,
27
+ :get_group_policy,
28
+ :get_instance_profile,
29
+ :get_role_policy,
26
30
  :list_groups,
27
31
  :list_group_policies,
28
32
  :list_groups_for_user,
33
+ :list_instance_profiles,
34
+ :list_instance_profiles_for_role,
35
+ :list_role_policies,
36
+ :list_roles,
29
37
  :list_server_certificates,
30
38
  :list_virtual_mfa_devices,
31
- :get_group,
32
- :get_group_policy
33
39
  ]
34
40
 
35
41
  ## client methods ##
36
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
+
37
60
  # Calls the AddUserToGroup API operation.
38
61
  # @method add_user_to_group(options = {})
39
62
  #
@@ -128,6 +151,38 @@ module AWS
128
151
  #
129
152
  define_client_method :create_group, 'CreateGroup'
130
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
+
131
186
  # Calls the CreateLoginProfile API operation.
132
187
  # @method create_login_profile(options = {})
133
188
  #
@@ -148,6 +203,33 @@ module AWS
148
203
  #
149
204
  define_client_method :create_login_profile, 'CreateLoginProfile'
150
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
+
151
233
  # Calls the CreateUser API operation.
152
234
  # @method create_user(options = {})
153
235
  #
@@ -304,6 +386,22 @@ module AWS
304
386
  #
305
387
  define_client_method :delete_group_policy, 'DeleteGroupPolicy'
306
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
+
307
405
  # Calls the DeleteLoginProfile API operation.
308
406
  # @method delete_login_profile(options = {})
309
407
  #
@@ -320,6 +418,39 @@ module AWS
320
418
  #
321
419
  define_client_method :delete_login_profile, 'DeleteLoginProfile'
322
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
+
323
454
  # Calls the DeleteServerCertificate API operation.
324
455
  # @method delete_server_certificate(options = {})
325
456
  #
@@ -442,6 +573,7 @@ module AWS
442
573
  # * +:require_numbers+ - (Boolean)
443
574
  # * +:require_uppercase_characters+ - (Boolean)
444
575
  # * +:require_lowercase_characters+ - (Boolean)
576
+ # * +:allow_users_to_change_password+ - (Boolean)
445
577
  #
446
578
  # @return [Core::Response]
447
579
  #
@@ -518,13 +650,41 @@ module AWS
518
650
  #
519
651
  define_client_method :get_group_policy, 'GetGroupPolicy'
520
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
+
521
681
  # Calls the GetLoginProfile API operation.
522
682
  # @method get_login_profile(options = {})
523
683
  #
524
684
  # === Options:
525
685
  #
526
- # * +:user_name+ - *required* - (String) Name of the user whose password
527
- # you want to retrieve.
686
+ # * +:user_name+ - *required* - (String) Name of the user whose login
687
+ # profile you want to retrieve.
528
688
  #
529
689
  # === Response Structure:
530
690
  #
@@ -536,6 +696,48 @@ module AWS
536
696
  #
537
697
  define_client_method :get_login_profile, 'GetLoginProfile'
538
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
+
539
741
  # Calls the GetServerCertificate API operation.
540
742
  # @method get_server_certificate(options = {})
541
743
  #
@@ -746,6 +948,86 @@ module AWS
746
948
  #
747
949
  define_client_method :list_groups_for_user, 'ListGroupsForUser'
748
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
+
749
1031
  # Calls the ListMFADevices API operation.
750
1032
  # @method list_mfa_devices(options = {})
751
1033
  #
@@ -775,6 +1057,67 @@ module AWS
775
1057
  #
776
1058
  define_client_method :list_mfa_devices, 'ListMFADevices'
777
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
+
778
1121
  # Calls the ListServerCertificates API operation.
779
1122
  # @method list_server_certificates(options = {})
780
1123
  #
@@ -956,6 +1299,24 @@ module AWS
956
1299
  #
957
1300
  define_client_method :put_group_policy, 'PutGroupPolicy'
958
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
+
959
1320
  # Calls the PutUserPolicy API operation.
960
1321
  # @method put_user_policy(options = {})
961
1322
  #
@@ -974,6 +1335,23 @@ module AWS
974
1335
  #
975
1336
  define_client_method :put_user_policy, 'PutUserPolicy'
976
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
+
977
1355
  # Calls the RemoveUserFromGroup API operation.
978
1356
  # @method remove_user_from_group(options = {})
979
1357
  #
@@ -1043,6 +1421,7 @@ module AWS
1043
1421
  # * +:require_numbers+ - (Boolean)
1044
1422
  # * +:require_uppercase_characters+ - (Boolean)
1045
1423
  # * +:require_lowercase_characters+ - (Boolean)
1424
+ # * +:allow_users_to_change_password+ - (Boolean)
1046
1425
  #
1047
1426
  # === Response Structure:
1048
1427
  #
@@ -1052,6 +1431,23 @@ module AWS
1052
1431
  #
1053
1432
  define_client_method :update_account_password_policy, 'UpdateAccountPasswordPolicy'
1054
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
+
1055
1451
  # Calls the UpdateGroup API operation.
1056
1452
  # @method update_group(options = {})
1057
1453
  #