aws-sdk 1.5.1 → 1.5.2

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.
@@ -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
  #