aws-sdk-iam 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4e0e8264ae9a1ffb4abe8ad8babf12f0e5fe0d92
4
- data.tar.gz: 4866d92032752b4d0417d38b30d8a9bae7030459
3
+ metadata.gz: cc0636365ed9720bb55841bdabe7079105981216
4
+ data.tar.gz: f75122d9c7c20d98ed4ffef0b298306cae8ccf3c
5
5
  SHA512:
6
- metadata.gz: 26e9d742568f633021a3cd56d0a80e8a7c36f8bbff55674b6e625b8f02d81e8563c86214542fb164f2e3cc464370743d7e10290f03f68987c521222c9b64934e
7
- data.tar.gz: a257ddc49cc9e8e1f88a77588b642713e51ef8695bb26fed8e0c1f9b9229ed182dbe0b57c8a3d8431e7842635ac5d77337cff3726157000c767d3433c1011154
6
+ metadata.gz: 077ed12034396909e988a067361df5444005ad2aa82613eb49b8ff9d2c0e02f01a5773040f20cc6352065701f9fecd41a72d4ff911168f19fcc9f965785d8fdc
7
+ data.tar.gz: 0b4d64eed6abd187a39fe25ccad1ea6f74662bc7673b811cdad679e5adc4aacfd796a8eae51e021edce04a95f19795fd975508c0e98a80131b5d034fe35984dd
@@ -64,6 +64,6 @@ require_relative 'aws-sdk-iam/customizations'
64
64
  # @service
65
65
  module Aws::IAM
66
66
 
67
- GEM_VERSION = '1.5.0'
67
+ GEM_VERSION = '1.6.0'
68
68
 
69
69
  end
@@ -251,7 +251,7 @@ module Aws::IAM
251
251
  # Specifies whether IAM user passwords must contain at least one of the
252
252
  # following non-alphanumeric characters:
253
253
  #
254
- # ! @ # $ % ^ & * ( ) \_ + - = \[ \] \\\{ \\} \| '
254
+ # ! @ # $ % ^ & * ( ) \_ + - = \[ \] \\\{ \\} \| '
255
255
  #
256
256
  # If you do not specify a value for this parameter, then the operation
257
257
  # uses the default value of `false`. The result is that passwords do not
@@ -899,6 +899,8 @@ module Aws::IAM
899
899
  # resp.instance_profile.roles[0].assume_role_policy_document #=> String
900
900
  # resp.instance_profile.roles[0].description #=> String
901
901
  # resp.instance_profile.roles[0].max_session_duration #=> Integer
902
+ # resp.instance_profile.roles[0].permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
903
+ # resp.instance_profile.roles[0].permissions_boundary.permissions_boundary_arn #=> String
902
904
  #
903
905
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateInstanceProfile AWS API Documentation
904
906
  #
@@ -1227,6 +1229,7 @@ module Aws::IAM
1227
1229
  # resp.policy.path #=> String
1228
1230
  # resp.policy.default_version_id #=> String
1229
1231
  # resp.policy.attachment_count #=> Integer
1232
+ # resp.policy.permissions_boundary_usage_count #=> Integer
1230
1233
  # resp.policy.is_attachable #=> Boolean
1231
1234
  # resp.policy.description #=> String
1232
1235
  # resp.policy.create_date #=> Time
@@ -1420,6 +1423,10 @@ module Aws::IAM
1420
1423
  #
1421
1424
  # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
1422
1425
  #
1426
+ # @option params [String] :permissions_boundary
1427
+ # The ARN of the policy that is used to set the permissions boundary for
1428
+ # the role.
1429
+ #
1423
1430
  # @return [Types::CreateRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1424
1431
  #
1425
1432
  # * {Types::CreateRoleResponse#role #role} => Types::Role
@@ -1456,6 +1463,7 @@ module Aws::IAM
1456
1463
  # assume_role_policy_document: "policyDocumentType", # required
1457
1464
  # description: "roleDescriptionType",
1458
1465
  # max_session_duration: 1,
1466
+ # permissions_boundary: "arnType",
1459
1467
  # })
1460
1468
  #
1461
1469
  # @example Response structure
@@ -1468,6 +1476,8 @@ module Aws::IAM
1468
1476
  # resp.role.assume_role_policy_document #=> String
1469
1477
  # resp.role.description #=> String
1470
1478
  # resp.role.max_session_duration #=> Integer
1479
+ # resp.role.permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
1480
+ # resp.role.permissions_boundary.permissions_boundary_arn #=> String
1471
1481
  #
1472
1482
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateRole AWS API Documentation
1473
1483
  #
@@ -1613,6 +1623,8 @@ module Aws::IAM
1613
1623
  # resp.role.assume_role_policy_document #=> String
1614
1624
  # resp.role.description #=> String
1615
1625
  # resp.role.max_session_duration #=> Integer
1626
+ # resp.role.permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
1627
+ # resp.role.permissions_boundary.permissions_boundary_arn #=> String
1616
1628
  #
1617
1629
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceLinkedRole AWS API Documentation
1618
1630
  #
@@ -1735,6 +1747,10 @@ module Aws::IAM
1735
1747
  #
1736
1748
  # [1]: http://wikipedia.org/wiki/regex
1737
1749
  #
1750
+ # @option params [String] :permissions_boundary
1751
+ # The ARN of the policy that is used to set the permissions boundary for
1752
+ # the user.
1753
+ #
1738
1754
  # @return [Types::CreateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1739
1755
  #
1740
1756
  # * {Types::CreateUserResponse#user #user} => Types::User
@@ -1764,6 +1780,7 @@ module Aws::IAM
1764
1780
  # resp = client.create_user({
1765
1781
  # path: "pathType",
1766
1782
  # user_name: "userNameType", # required
1783
+ # permissions_boundary: "arnType",
1767
1784
  # })
1768
1785
  #
1769
1786
  # @example Response structure
@@ -1774,6 +1791,8 @@ module Aws::IAM
1774
1791
  # resp.user.arn #=> String
1775
1792
  # resp.user.create_date #=> Time
1776
1793
  # resp.user.password_last_used #=> Time
1794
+ # resp.user.permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
1795
+ # resp.user.permissions_boundary.permissions_boundary_arn #=> String
1777
1796
  #
1778
1797
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateUser AWS API Documentation
1779
1798
  #
@@ -1858,6 +1877,8 @@ module Aws::IAM
1858
1877
  # resp.virtual_mfa_device.user.arn #=> String
1859
1878
  # resp.virtual_mfa_device.user.create_date #=> Time
1860
1879
  # resp.virtual_mfa_device.user.password_last_used #=> Time
1880
+ # resp.virtual_mfa_device.user.permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
1881
+ # resp.virtual_mfa_device.user.permissions_boundary.permissions_boundary_arn #=> String
1861
1882
  # resp.virtual_mfa_device.enable_date #=> Time
1862
1883
  #
1863
1884
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateVirtualMFADevice AWS API Documentation
@@ -2447,6 +2468,33 @@ module Aws::IAM
2447
2468
  req.send_request(options)
2448
2469
  end
2449
2470
 
2471
+ # Deletes the permissions boundary for the specified IAM role.
2472
+ #
2473
+ # Deleting the permissions boundary for a role might increase its
2474
+ # permissions by allowing anyone who assumes the role to perform all the
2475
+ # actions granted in its permissions policies.
2476
+ #
2477
+ # @option params [required, String] :role_name
2478
+ # The name (friendly name, not ARN) of the IAM role from which you want
2479
+ # to remove the permissions boundary.
2480
+ #
2481
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2482
+ #
2483
+ # @example Request syntax with placeholder values
2484
+ #
2485
+ # resp = client.delete_role_permissions_boundary({
2486
+ # role_name: "roleNameType", # required
2487
+ # })
2488
+ #
2489
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRolePermissionsBoundary AWS API Documentation
2490
+ #
2491
+ # @overload delete_role_permissions_boundary(params = {})
2492
+ # @param [Hash] params ({})
2493
+ def delete_role_permissions_boundary(params = {}, options = {})
2494
+ req = build_request(:delete_role_permissions_boundary, params)
2495
+ req.send_request(options)
2496
+ end
2497
+
2450
2498
  # Deletes the specified inline policy that is embedded in the specified
2451
2499
  # IAM role.
2452
2500
  #
@@ -2850,6 +2898,33 @@ module Aws::IAM
2850
2898
  req.send_request(options)
2851
2899
  end
2852
2900
 
2901
+ # Deletes the permissions boundary for the specified IAM user.
2902
+ #
2903
+ # Deleting the permissions boundary for a user might increase its
2904
+ # permissions by allowing the user to perform all the actions granted in
2905
+ # its permissions policies.
2906
+ #
2907
+ # @option params [required, String] :user_name
2908
+ # The name (friendly name, not ARN) of the IAM user from which you want
2909
+ # to remove the permissions boundary.
2910
+ #
2911
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2912
+ #
2913
+ # @example Request syntax with placeholder values
2914
+ #
2915
+ # resp = client.delete_user_permissions_boundary({
2916
+ # user_name: "userNameType", # required
2917
+ # })
2918
+ #
2919
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserPermissionsBoundary AWS API Documentation
2920
+ #
2921
+ # @overload delete_user_permissions_boundary(params = {})
2922
+ # @param [Hash] params ({})
2923
+ def delete_user_permissions_boundary(params = {}, options = {})
2924
+ req = build_request(:delete_user_permissions_boundary, params)
2925
+ req.send_request(options)
2926
+ end
2927
+
2853
2928
  # Deletes the specified inline policy that is embedded in the specified
2854
2929
  # IAM user.
2855
2930
  #
@@ -3350,6 +3425,8 @@ module Aws::IAM
3350
3425
  # resp.user_detail_list[0].attached_managed_policies #=> Array
3351
3426
  # resp.user_detail_list[0].attached_managed_policies[0].policy_name #=> String
3352
3427
  # resp.user_detail_list[0].attached_managed_policies[0].policy_arn #=> String
3428
+ # resp.user_detail_list[0].permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
3429
+ # resp.user_detail_list[0].permissions_boundary.permissions_boundary_arn #=> String
3353
3430
  # resp.group_detail_list #=> Array
3354
3431
  # resp.group_detail_list[0].path #=> String
3355
3432
  # resp.group_detail_list[0].group_name #=> String
@@ -3384,12 +3461,16 @@ module Aws::IAM
3384
3461
  # resp.role_detail_list[0].instance_profile_list[0].roles[0].assume_role_policy_document #=> String
3385
3462
  # resp.role_detail_list[0].instance_profile_list[0].roles[0].description #=> String
3386
3463
  # resp.role_detail_list[0].instance_profile_list[0].roles[0].max_session_duration #=> Integer
3464
+ # resp.role_detail_list[0].instance_profile_list[0].roles[0].permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
3465
+ # resp.role_detail_list[0].instance_profile_list[0].roles[0].permissions_boundary.permissions_boundary_arn #=> String
3387
3466
  # resp.role_detail_list[0].role_policy_list #=> Array
3388
3467
  # resp.role_detail_list[0].role_policy_list[0].policy_name #=> String
3389
3468
  # resp.role_detail_list[0].role_policy_list[0].policy_document #=> String
3390
3469
  # resp.role_detail_list[0].attached_managed_policies #=> Array
3391
3470
  # resp.role_detail_list[0].attached_managed_policies[0].policy_name #=> String
3392
3471
  # resp.role_detail_list[0].attached_managed_policies[0].policy_arn #=> String
3472
+ # resp.role_detail_list[0].permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
3473
+ # resp.role_detail_list[0].permissions_boundary.permissions_boundary_arn #=> String
3393
3474
  # resp.policies #=> Array
3394
3475
  # resp.policies[0].policy_name #=> String
3395
3476
  # resp.policies[0].policy_id #=> String
@@ -3397,6 +3478,7 @@ module Aws::IAM
3397
3478
  # resp.policies[0].path #=> String
3398
3479
  # resp.policies[0].default_version_id #=> String
3399
3480
  # resp.policies[0].attachment_count #=> Integer
3481
+ # resp.policies[0].permissions_boundary_usage_count #=> Integer
3400
3482
  # resp.policies[0].is_attachable #=> Boolean
3401
3483
  # resp.policies[0].description #=> String
3402
3484
  # resp.policies[0].create_date #=> Time
@@ -3776,6 +3858,8 @@ module Aws::IAM
3776
3858
  # resp.users[0].arn #=> String
3777
3859
  # resp.users[0].create_date #=> Time
3778
3860
  # resp.users[0].password_last_used #=> Time
3861
+ # resp.users[0].permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
3862
+ # resp.users[0].permissions_boundary.permissions_boundary_arn #=> String
3779
3863
  # resp.is_truncated #=> Boolean
3780
3864
  # resp.marker #=> String
3781
3865
  #
@@ -3941,6 +4025,8 @@ module Aws::IAM
3941
4025
  # resp.instance_profile.roles[0].assume_role_policy_document #=> String
3942
4026
  # resp.instance_profile.roles[0].description #=> String
3943
4027
  # resp.instance_profile.roles[0].max_session_duration #=> Integer
4028
+ # resp.instance_profile.roles[0].permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
4029
+ # resp.instance_profile.roles[0].permissions_boundary.permissions_boundary_arn #=> String
3944
4030
  #
3945
4031
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetInstanceProfile AWS API Documentation
3946
4032
  #
@@ -4104,6 +4190,7 @@ module Aws::IAM
4104
4190
  # resp.policy.path #=> String
4105
4191
  # resp.policy.default_version_id #=> String
4106
4192
  # resp.policy.attachment_count #=> Integer
4193
+ # resp.policy.permissions_boundary_usage_count #=> Integer
4107
4194
  # resp.policy.is_attachable #=> Boolean
4108
4195
  # resp.policy.description #=> String
4109
4196
  # resp.policy.create_date #=> Time
@@ -4268,6 +4355,8 @@ module Aws::IAM
4268
4355
  # resp.role.assume_role_policy_document #=> String
4269
4356
  # resp.role.description #=> String
4270
4357
  # resp.role.max_session_duration #=> Integer
4358
+ # resp.role.permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
4359
+ # resp.role.permissions_boundary.permissions_boundary_arn #=> String
4271
4360
  #
4272
4361
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRole AWS API Documentation
4273
4362
  #
@@ -4632,6 +4721,8 @@ module Aws::IAM
4632
4721
  # resp.user.arn #=> String
4633
4722
  # resp.user.create_date #=> Time
4634
4723
  # resp.user.password_last_used #=> Time
4724
+ # resp.user.permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
4725
+ # resp.user.permissions_boundary.permissions_boundary_arn #=> String
4635
4726
  #
4636
4727
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUser AWS API Documentation
4637
4728
  #
@@ -5234,6 +5325,17 @@ module Aws::IAM
5234
5325
  #
5235
5326
  # [1]: http://wikipedia.org/wiki/regex
5236
5327
  #
5328
+ # @option params [String] :policy_usage_filter
5329
+ # The policy usage method to use for filtering the results.
5330
+ #
5331
+ # To list only permissions policies,
5332
+ # set `PolicyUsageFilter` to `PermissionsPolicy`. To list only the
5333
+ # policies used to set permissions boundaries, set the value
5334
+ # to `PermissionsBoundary`.
5335
+ #
5336
+ # This parameter is optional. If it is not included, all policies are
5337
+ # returned.
5338
+ #
5237
5339
  # @option params [String] :marker
5238
5340
  # Use this parameter only when paginating results and only after you
5239
5341
  # receive a response indicating that the results are truncated. Set it
@@ -5266,6 +5368,7 @@ module Aws::IAM
5266
5368
  # policy_arn: "arnType", # required
5267
5369
  # entity_filter: "User", # accepts User, Role, Group, LocalManagedPolicy, AWSManagedPolicy
5268
5370
  # path_prefix: "pathType",
5371
+ # policy_usage_filter: "PermissionsPolicy", # accepts PermissionsPolicy, PermissionsBoundary
5269
5372
  # marker: "markerType",
5270
5373
  # max_items: 1,
5271
5374
  # })
@@ -5671,6 +5774,8 @@ module Aws::IAM
5671
5774
  # resp.instance_profiles[0].roles[0].assume_role_policy_document #=> String
5672
5775
  # resp.instance_profiles[0].roles[0].description #=> String
5673
5776
  # resp.instance_profiles[0].roles[0].max_session_duration #=> Integer
5777
+ # resp.instance_profiles[0].roles[0].permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
5778
+ # resp.instance_profiles[0].roles[0].permissions_boundary.permissions_boundary_arn #=> String
5674
5779
  # resp.is_truncated #=> Boolean
5675
5780
  # resp.marker #=> String
5676
5781
  #
@@ -5756,6 +5861,8 @@ module Aws::IAM
5756
5861
  # resp.instance_profiles[0].roles[0].assume_role_policy_document #=> String
5757
5862
  # resp.instance_profiles[0].roles[0].description #=> String
5758
5863
  # resp.instance_profiles[0].roles[0].max_session_duration #=> Integer
5864
+ # resp.instance_profiles[0].roles[0].permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
5865
+ # resp.instance_profiles[0].roles[0].permissions_boundary.permissions_boundary_arn #=> String
5759
5866
  # resp.is_truncated #=> Boolean
5760
5867
  # resp.marker #=> String
5761
5868
  #
@@ -5912,6 +6019,17 @@ module Aws::IAM
5912
6019
  #
5913
6020
  # [1]: http://wikipedia.org/wiki/regex
5914
6021
  #
6022
+ # @option params [String] :policy_usage_filter
6023
+ # The policy usage method to use for filtering the results.
6024
+ #
6025
+ # To list only permissions policies,
6026
+ # set `PolicyUsageFilter` to `PermissionsPolicy`. To list only the
6027
+ # policies used to set permissions boundaries, set the value
6028
+ # to `PermissionsBoundary`.
6029
+ #
6030
+ # This parameter is optional. If it is not included, all policies are
6031
+ # returned.
6032
+ #
5915
6033
  # @option params [String] :marker
5916
6034
  # Use this parameter only when paginating results and only after you
5917
6035
  # receive a response indicating that the results are truncated. Set it
@@ -5942,6 +6060,7 @@ module Aws::IAM
5942
6060
  # scope: "All", # accepts All, AWS, Local
5943
6061
  # only_attached: false,
5944
6062
  # path_prefix: "policyPathType",
6063
+ # policy_usage_filter: "PermissionsPolicy", # accepts PermissionsPolicy, PermissionsBoundary
5945
6064
  # marker: "markerType",
5946
6065
  # max_items: 1,
5947
6066
  # })
@@ -5955,6 +6074,7 @@ module Aws::IAM
5955
6074
  # resp.policies[0].path #=> String
5956
6075
  # resp.policies[0].default_version_id #=> String
5957
6076
  # resp.policies[0].attachment_count #=> Integer
6077
+ # resp.policies[0].permissions_boundary_usage_count #=> Integer
5958
6078
  # resp.policies[0].is_attachable #=> Boolean
5959
6079
  # resp.policies[0].description #=> String
5960
6080
  # resp.policies[0].create_date #=> Time
@@ -6191,6 +6311,8 @@ module Aws::IAM
6191
6311
  # resp.roles[0].assume_role_policy_document #=> String
6192
6312
  # resp.roles[0].description #=> String
6193
6313
  # resp.roles[0].max_session_duration #=> Integer
6314
+ # resp.roles[0].permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
6315
+ # resp.roles[0].permissions_boundary.permissions_boundary_arn #=> String
6194
6316
  # resp.is_truncated #=> Boolean
6195
6317
  # resp.marker #=> String
6196
6318
  #
@@ -6734,6 +6856,8 @@ module Aws::IAM
6734
6856
  # resp.users[0].arn #=> String
6735
6857
  # resp.users[0].create_date #=> Time
6736
6858
  # resp.users[0].password_last_used #=> Time
6859
+ # resp.users[0].permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
6860
+ # resp.users[0].permissions_boundary.permissions_boundary_arn #=> String
6737
6861
  # resp.is_truncated #=> Boolean
6738
6862
  # resp.marker #=> String
6739
6863
  #
@@ -6823,6 +6947,8 @@ module Aws::IAM
6823
6947
  # resp.virtual_mfa_devices[0].user.arn #=> String
6824
6948
  # resp.virtual_mfa_devices[0].user.create_date #=> Time
6825
6949
  # resp.virtual_mfa_devices[0].user.password_last_used #=> Time
6950
+ # resp.virtual_mfa_devices[0].user.permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
6951
+ # resp.virtual_mfa_devices[0].user.permissions_boundary.permissions_boundary_arn #=> String
6826
6952
  # resp.virtual_mfa_devices[0].enable_date #=> Time
6827
6953
  # resp.is_truncated #=> Boolean
6828
6954
  # resp.marker #=> String
@@ -6934,6 +7060,50 @@ module Aws::IAM
6934
7060
  req.send_request(options)
6935
7061
  end
6936
7062
 
7063
+ # Adds or updates the policy that is specified as the IAM role's
7064
+ # permissions boundary. You can use an AWS managed policy or a customer
7065
+ # managed policy to set the boundary for a role. Use the boundary to
7066
+ # control the maximum permissions that the role can have. Setting a
7067
+ # permissions boundary is an advanced feature that can affect the
7068
+ # permissions for the role.
7069
+ #
7070
+ # You cannot set the boundary for a service-linked role.
7071
+ #
7072
+ # Policies used as permissions boundaries do not provide permissions.
7073
+ # You must also attach a permissions policy to the role. To learn how
7074
+ # the effective permissions for a role are evaluated, see [IAM JSON
7075
+ # Policy Evaluation Logic][1] in the IAM User Guide.
7076
+ #
7077
+ #
7078
+ #
7079
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html
7080
+ #
7081
+ # @option params [required, String] :role_name
7082
+ # The name (friendly name, not ARN) of the IAM role for which you want
7083
+ # to set the permissions boundary.
7084
+ #
7085
+ # @option params [required, String] :permissions_boundary
7086
+ # The ARN of the policy that is used to set the permissions boundary for
7087
+ # the role.
7088
+ #
7089
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7090
+ #
7091
+ # @example Request syntax with placeholder values
7092
+ #
7093
+ # resp = client.put_role_permissions_boundary({
7094
+ # role_name: "roleNameType", # required
7095
+ # permissions_boundary: "arnType", # required
7096
+ # })
7097
+ #
7098
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutRolePermissionsBoundary AWS API Documentation
7099
+ #
7100
+ # @overload put_role_permissions_boundary(params = {})
7101
+ # @param [Hash] params ({})
7102
+ def put_role_permissions_boundary(params = {}, options = {})
7103
+ req = build_request(:put_role_permissions_boundary, params)
7104
+ req.send_request(options)
7105
+ end
7106
+
6937
7107
  # Adds or updates an inline policy document that is embedded in the
6938
7108
  # specified IAM role.
6939
7109
  #
@@ -7040,6 +7210,48 @@ module Aws::IAM
7040
7210
  req.send_request(options)
7041
7211
  end
7042
7212
 
7213
+ # Adds or updates the policy that is specified as the IAM user's
7214
+ # permissions boundary. You can use an AWS managed policy or a customer
7215
+ # managed policy to set the boundary for a user. Use the boundary to
7216
+ # control the maximum permissions that the user can have. Setting a
7217
+ # permissions boundary is an advanced feature that can affect the
7218
+ # permissions for the user.
7219
+ #
7220
+ # Policies that are used as permissions boundaries do not provide
7221
+ # permissions. You must also attach a permissions policy to the user. To
7222
+ # learn how the effective permissions for a user are evaluated, see [IAM
7223
+ # JSON Policy Evaluation Logic][1] in the IAM User Guide.
7224
+ #
7225
+ #
7226
+ #
7227
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html
7228
+ #
7229
+ # @option params [required, String] :user_name
7230
+ # The name (friendly name, not ARN) of the IAM user for which you want
7231
+ # to set the permissions boundary.
7232
+ #
7233
+ # @option params [required, String] :permissions_boundary
7234
+ # The ARN of the policy that is used to set the permissions boundary for
7235
+ # the user.
7236
+ #
7237
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7238
+ #
7239
+ # @example Request syntax with placeholder values
7240
+ #
7241
+ # resp = client.put_user_permissions_boundary({
7242
+ # user_name: "userNameType", # required
7243
+ # permissions_boundary: "arnType", # required
7244
+ # })
7245
+ #
7246
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutUserPermissionsBoundary AWS API Documentation
7247
+ #
7248
+ # @overload put_user_permissions_boundary(params = {})
7249
+ # @param [Hash] params ({})
7250
+ def put_user_permissions_boundary(params = {}, options = {})
7251
+ req = build_request(:put_user_permissions_boundary, params)
7252
+ req.send_request(options)
7253
+ end
7254
+
7043
7255
  # Adds or updates an inline policy document that is embedded in the
7044
7256
  # specified IAM user.
7045
7257
  #
@@ -7583,16 +7795,21 @@ module Aws::IAM
7583
7795
  # [1]: http://wikipedia.org/wiki/regex
7584
7796
  #
7585
7797
  # @option params [String] :resource_owner
7586
- # An AWS account ID that specifies the owner of any simulated resource
7587
- # that does not identify its owner in the resource ARN, such as an S3
7588
- # bucket or object. If `ResourceOwner` is specified, it is also used as
7589
- # the account owner of any `ResourcePolicy` included in the simulation.
7590
- # If the `ResourceOwner` parameter is not specified, then the owner of
7591
- # the resources and the resource policy defaults to the account of the
7592
- # identity provided in `CallerArn`. This parameter is required only if
7593
- # you specify a resource-based policy and account that owns the resource
7594
- # is different from the account that owns the simulated calling user
7595
- # `CallerArn`.
7798
+ # An ARN representing the AWS account ID that specifies the owner of any
7799
+ # simulated resource that does not identify its owner in the resource
7800
+ # ARN, such as an S3 bucket or object. If `ResourceOwner` is specified,
7801
+ # it is also used as the account owner of any `ResourcePolicy` included
7802
+ # in the simulation. If the `ResourceOwner` parameter is not specified,
7803
+ # then the owner of the resources and the resource policy defaults to
7804
+ # the account of the identity provided in `CallerArn`. This parameter is
7805
+ # required only if you specify a resource-based policy and account that
7806
+ # owns the resource is different from the account that owns the
7807
+ # simulated calling user `CallerArn`.
7808
+ #
7809
+ # The ARN for an account uses the following syntax:
7810
+ # `arn:aws:iam::AWS-account-ID:root`. For example, to represent the
7811
+ # account with the 112233445566 ID, use the following ARN:
7812
+ # `arn:aws:iam::112233445566-ID:root`.
7596
7813
  #
7597
7814
  # @option params [String] :caller_arn
7598
7815
  # The ARN of the IAM user that you want to use as the simulated caller
@@ -8144,7 +8361,7 @@ module Aws::IAM
8144
8361
  # Specifies whether IAM user passwords must contain at least one of the
8145
8362
  # following non-alphanumeric characters:
8146
8363
  #
8147
- # ! @ # $ % ^ & * ( ) \_ + - = \[ \] \\\{ \\} \| '
8364
+ # ! @ # $ % ^ & * ( ) \_ + - = \[ \] \\\{ \\} \| '
8148
8365
  #
8149
8366
  # If you do not specify a value for this parameter, then the operation
8150
8367
  # uses the default value of `false`. The result is that passwords do not
@@ -8623,6 +8840,8 @@ module Aws::IAM
8623
8840
  # resp.role.assume_role_policy_document #=> String
8624
8841
  # resp.role.description #=> String
8625
8842
  # resp.role.max_session_duration #=> Integer
8843
+ # resp.role.permissions_boundary.permissions_boundary_type #=> String, one of "PermissionsBoundaryPolicy"
8844
+ # resp.role.permissions_boundary.permissions_boundary_arn #=> String
8626
8845
  #
8627
8846
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateRoleDescription AWS API Documentation
8628
8847
  #
@@ -8840,7 +9059,7 @@ module Aws::IAM
8840
9059
  # Sets the status of a service-specific credential to `Active` or
8841
9060
  # `Inactive`. Service-specific credentials that are inactive cannot be
8842
9061
  # used for authentication to the service. This operation can be used to
8843
- # disable a users service-specific credential as part of a credential
9062
+ # disable a user's service-specific credential as part of a credential
8844
9063
  # rotation work flow.
8845
9064
  #
8846
9065
  # @option params [String] :user_name
@@ -9076,7 +9295,9 @@ module Aws::IAM
9076
9295
  #
9077
9296
  # @option params [required, String] :ssh_public_key_body
9078
9297
  # The SSH public key. The public key must be encoded in ssh-rsa format
9079
- # or PEM format.
9298
+ # or PEM format. The miminum bit-length of the public key is 2048 bits.
9299
+ # For example, you can generate a 2048-bit key, and the resulting PEM
9300
+ # file is 1679 bytes long.
9080
9301
  #
9081
9302
  # The [regex pattern][1] used to validate this parameter is a string of
9082
9303
  # characters consisting of the following:
@@ -9431,7 +9652,7 @@ module Aws::IAM
9431
9652
  params: params,
9432
9653
  config: config)
9433
9654
  context[:gem_name] = 'aws-sdk-iam'
9434
- context[:gem_version] = '1.5.0'
9655
+ context[:gem_version] = '1.6.0'
9435
9656
  Seahorse::Client::Request.new(handlers, context)
9436
9657
  end
9437
9658