aws-sdk-iam 1.10.0 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,6 +28,8 @@ module Aws::IAM
28
28
  BootstrapDatum = Shapes::BlobShape.new(name: 'BootstrapDatum')
29
29
  ChangePasswordRequest = Shapes::StructureShape.new(name: 'ChangePasswordRequest')
30
30
  ColumnNumber = Shapes::IntegerShape.new(name: 'ColumnNumber')
31
+ ConcurrentModificationException = Shapes::StructureShape.new(name: 'ConcurrentModificationException')
32
+ ConcurrentModificationMessage = Shapes::StringShape.new(name: 'ConcurrentModificationMessage')
31
33
  ContextEntry = Shapes::StructureShape.new(name: 'ContextEntry')
32
34
  ContextEntryListType = Shapes::ListShape.new(name: 'ContextEntryListType')
33
35
  ContextKeyNameType = Shapes::StringShape.new(name: 'ContextKeyNameType')
@@ -190,6 +192,8 @@ module Aws::IAM
190
192
  ListPolicyVersionsResponse = Shapes::StructureShape.new(name: 'ListPolicyVersionsResponse')
191
193
  ListRolePoliciesRequest = Shapes::StructureShape.new(name: 'ListRolePoliciesRequest')
192
194
  ListRolePoliciesResponse = Shapes::StructureShape.new(name: 'ListRolePoliciesResponse')
195
+ ListRoleTagsRequest = Shapes::StructureShape.new(name: 'ListRoleTagsRequest')
196
+ ListRoleTagsResponse = Shapes::StructureShape.new(name: 'ListRoleTagsResponse')
193
197
  ListRolesRequest = Shapes::StructureShape.new(name: 'ListRolesRequest')
194
198
  ListRolesResponse = Shapes::StructureShape.new(name: 'ListRolesResponse')
195
199
  ListSAMLProvidersRequest = Shapes::StructureShape.new(name: 'ListSAMLProvidersRequest')
@@ -204,6 +208,8 @@ module Aws::IAM
204
208
  ListSigningCertificatesResponse = Shapes::StructureShape.new(name: 'ListSigningCertificatesResponse')
205
209
  ListUserPoliciesRequest = Shapes::StructureShape.new(name: 'ListUserPoliciesRequest')
206
210
  ListUserPoliciesResponse = Shapes::StructureShape.new(name: 'ListUserPoliciesResponse')
211
+ ListUserTagsRequest = Shapes::StructureShape.new(name: 'ListUserTagsRequest')
212
+ ListUserTagsResponse = Shapes::StructureShape.new(name: 'ListUserTagsResponse')
207
213
  ListUsersRequest = Shapes::StructureShape.new(name: 'ListUsersRequest')
208
214
  ListUsersResponse = Shapes::StructureShape.new(name: 'ListUsersResponse')
209
215
  ListVirtualMFADevicesRequest = Shapes::StructureShape.new(name: 'ListVirtualMFADevicesRequest')
@@ -286,8 +292,13 @@ module Aws::IAM
286
292
  SimulationPolicyListType = Shapes::ListShape.new(name: 'SimulationPolicyListType')
287
293
  Statement = Shapes::StructureShape.new(name: 'Statement')
288
294
  StatementListType = Shapes::ListShape.new(name: 'StatementListType')
295
+ Tag = Shapes::StructureShape.new(name: 'Tag')
296
+ TagRoleRequest = Shapes::StructureShape.new(name: 'TagRoleRequest')
297
+ TagUserRequest = Shapes::StructureShape.new(name: 'TagUserRequest')
289
298
  UnmodifiableEntityException = Shapes::StructureShape.new(name: 'UnmodifiableEntityException')
290
299
  UnrecognizedPublicKeyEncodingException = Shapes::StructureShape.new(name: 'UnrecognizedPublicKeyEncodingException')
300
+ UntagRoleRequest = Shapes::StructureShape.new(name: 'UntagRoleRequest')
301
+ UntagUserRequest = Shapes::StructureShape.new(name: 'UntagUserRequest')
291
302
  UpdateAccessKeyRequest = Shapes::StructureShape.new(name: 'UpdateAccessKeyRequest')
292
303
  UpdateAccountPasswordPolicyRequest = Shapes::StructureShape.new(name: 'UpdateAccountPasswordPolicyRequest')
293
304
  UpdateAssumeRolePolicyRequest = Shapes::StructureShape.new(name: 'UpdateAssumeRolePolicyRequest')
@@ -407,6 +418,10 @@ module Aws::IAM
407
418
  summaryKeyType = Shapes::StringShape.new(name: 'summaryKeyType')
408
419
  summaryMapType = Shapes::MapShape.new(name: 'summaryMapType')
409
420
  summaryValueType = Shapes::IntegerShape.new(name: 'summaryValueType')
421
+ tagKeyListType = Shapes::ListShape.new(name: 'tagKeyListType')
422
+ tagKeyType = Shapes::StringShape.new(name: 'tagKeyType')
423
+ tagListType = Shapes::ListShape.new(name: 'tagListType')
424
+ tagValueType = Shapes::StringShape.new(name: 'tagValueType')
410
425
  thumbprintListType = Shapes::ListShape.new(name: 'thumbprintListType')
411
426
  thumbprintType = Shapes::StringShape.new(name: 'thumbprintType')
412
427
  unmodifiableEntityMessage = Shapes::StringShape.new(name: 'unmodifiableEntityMessage')
@@ -546,6 +561,7 @@ module Aws::IAM
546
561
  CreateRoleRequest.add_member(:role_name, Shapes::ShapeRef.new(shape: roleNameType, required: true, location_name: "RoleName"))
547
562
  CreateRoleRequest.add_member(:assume_role_policy_document, Shapes::ShapeRef.new(shape: policyDocumentType, required: true, location_name: "AssumeRolePolicyDocument"))
548
563
  CreateRoleRequest.add_member(:description, Shapes::ShapeRef.new(shape: roleDescriptionType, location_name: "Description"))
564
+ CreateRoleRequest.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
549
565
  CreateRoleRequest.add_member(:max_session_duration, Shapes::ShapeRef.new(shape: roleMaxSessionDurationType, location_name: "MaxSessionDuration"))
550
566
  CreateRoleRequest.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: arnType, location_name: "PermissionsBoundary"))
551
567
  CreateRoleRequest.struct_class = Types::CreateRoleRequest
@@ -577,6 +593,7 @@ module Aws::IAM
577
593
 
578
594
  CreateUserRequest.add_member(:path, Shapes::ShapeRef.new(shape: pathType, location_name: "Path"))
579
595
  CreateUserRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: userNameType, required: true, location_name: "UserName"))
596
+ CreateUserRequest.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
580
597
  CreateUserRequest.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: arnType, location_name: "PermissionsBoundary"))
581
598
  CreateUserRequest.struct_class = Types::CreateUserRequest
582
599
 
@@ -1055,6 +1072,16 @@ module Aws::IAM
1055
1072
  ListRolePoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1056
1073
  ListRolePoliciesResponse.struct_class = Types::ListRolePoliciesResponse
1057
1074
 
1075
+ ListRoleTagsRequest.add_member(:role_name, Shapes::ShapeRef.new(shape: roleNameType, required: true, location_name: "RoleName"))
1076
+ ListRoleTagsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1077
+ ListRoleTagsRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: maxItemsType, location_name: "MaxItems"))
1078
+ ListRoleTagsRequest.struct_class = Types::ListRoleTagsRequest
1079
+
1080
+ ListRoleTagsResponse.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, required: true, location_name: "Tags"))
1081
+ ListRoleTagsResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1082
+ ListRoleTagsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1083
+ ListRoleTagsResponse.struct_class = Types::ListRoleTagsResponse
1084
+
1058
1085
  ListRolesRequest.add_member(:path_prefix, Shapes::ShapeRef.new(shape: pathPrefixType, location_name: "PathPrefix"))
1059
1086
  ListRolesRequest.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1060
1087
  ListRolesRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: maxItemsType, location_name: "MaxItems"))
@@ -1117,6 +1144,16 @@ module Aws::IAM
1117
1144
  ListUserPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1118
1145
  ListUserPoliciesResponse.struct_class = Types::ListUserPoliciesResponse
1119
1146
 
1147
+ ListUserTagsRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: existingUserNameType, required: true, location_name: "UserName"))
1148
+ ListUserTagsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1149
+ ListUserTagsRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: maxItemsType, location_name: "MaxItems"))
1150
+ ListUserTagsRequest.struct_class = Types::ListUserTagsRequest
1151
+
1152
+ ListUserTagsResponse.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, required: true, location_name: "Tags"))
1153
+ ListUserTagsResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1154
+ ListUserTagsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1155
+ ListUserTagsResponse.struct_class = Types::ListUserTagsResponse
1156
+
1120
1157
  ListUsersRequest.add_member(:path_prefix, Shapes::ShapeRef.new(shape: pathPrefixType, location_name: "PathPrefix"))
1121
1158
  ListUsersRequest.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1122
1159
  ListUsersRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: maxItemsType, location_name: "MaxItems"))
@@ -1294,6 +1331,7 @@ module Aws::IAM
1294
1331
  Role.add_member(:create_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "CreateDate"))
1295
1332
  Role.add_member(:assume_role_policy_document, Shapes::ShapeRef.new(shape: policyDocumentType, location_name: "AssumeRolePolicyDocument"))
1296
1333
  Role.add_member(:description, Shapes::ShapeRef.new(shape: roleDescriptionType, location_name: "Description"))
1334
+ Role.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
1297
1335
  Role.add_member(:max_session_duration, Shapes::ShapeRef.new(shape: roleMaxSessionDurationType, location_name: "MaxSessionDuration"))
1298
1336
  Role.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: AttachedPermissionsBoundary, location_name: "PermissionsBoundary"))
1299
1337
  Role.struct_class = Types::Role
@@ -1307,6 +1345,7 @@ module Aws::IAM
1307
1345
  RoleDetail.add_member(:instance_profile_list, Shapes::ShapeRef.new(shape: instanceProfileListType, location_name: "InstanceProfileList"))
1308
1346
  RoleDetail.add_member(:role_policy_list, Shapes::ShapeRef.new(shape: policyDetailListType, location_name: "RolePolicyList"))
1309
1347
  RoleDetail.add_member(:attached_managed_policies, Shapes::ShapeRef.new(shape: attachedPoliciesListType, location_name: "AttachedManagedPolicies"))
1348
+ RoleDetail.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
1310
1349
  RoleDetail.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: AttachedPermissionsBoundary, location_name: "PermissionsBoundary"))
1311
1350
  RoleDetail.struct_class = Types::RoleDetail
1312
1351
 
@@ -1422,6 +1461,26 @@ module Aws::IAM
1422
1461
 
1423
1462
  StatementListType.member = Shapes::ShapeRef.new(shape: Statement)
1424
1463
 
1464
+ Tag.add_member(:key, Shapes::ShapeRef.new(shape: tagKeyType, required: true, location_name: "Key"))
1465
+ Tag.add_member(:value, Shapes::ShapeRef.new(shape: tagValueType, required: true, location_name: "Value"))
1466
+ Tag.struct_class = Types::Tag
1467
+
1468
+ TagRoleRequest.add_member(:role_name, Shapes::ShapeRef.new(shape: roleNameType, required: true, location_name: "RoleName"))
1469
+ TagRoleRequest.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, required: true, location_name: "Tags"))
1470
+ TagRoleRequest.struct_class = Types::TagRoleRequest
1471
+
1472
+ TagUserRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: existingUserNameType, required: true, location_name: "UserName"))
1473
+ TagUserRequest.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, required: true, location_name: "Tags"))
1474
+ TagUserRequest.struct_class = Types::TagUserRequest
1475
+
1476
+ UntagRoleRequest.add_member(:role_name, Shapes::ShapeRef.new(shape: roleNameType, required: true, location_name: "RoleName"))
1477
+ UntagRoleRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: tagKeyListType, required: true, location_name: "TagKeys"))
1478
+ UntagRoleRequest.struct_class = Types::UntagRoleRequest
1479
+
1480
+ UntagUserRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: existingUserNameType, required: true, location_name: "UserName"))
1481
+ UntagUserRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: tagKeyListType, required: true, location_name: "TagKeys"))
1482
+ UntagUserRequest.struct_class = Types::UntagUserRequest
1483
+
1425
1484
  UpdateAccessKeyRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: existingUserNameType, location_name: "UserName"))
1426
1485
  UpdateAccessKeyRequest.add_member(:access_key_id, Shapes::ShapeRef.new(shape: accessKeyIdType, required: true, location_name: "AccessKeyId"))
1427
1486
  UpdateAccessKeyRequest.add_member(:status, Shapes::ShapeRef.new(shape: statusType, required: true, location_name: "Status"))
@@ -1532,6 +1591,7 @@ module Aws::IAM
1532
1591
  User.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
1533
1592
  User.add_member(:create_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "CreateDate"))
1534
1593
  User.add_member(:password_last_used, Shapes::ShapeRef.new(shape: dateType, location_name: "PasswordLastUsed"))
1594
+ User.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
1535
1595
  User.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: AttachedPermissionsBoundary, location_name: "PermissionsBoundary"))
1536
1596
  User.struct_class = Types::User
1537
1597
 
@@ -1543,6 +1603,7 @@ module Aws::IAM
1543
1603
  UserDetail.add_member(:user_policy_list, Shapes::ShapeRef.new(shape: policyDetailListType, location_name: "UserPolicyList"))
1544
1604
  UserDetail.add_member(:group_list, Shapes::ShapeRef.new(shape: groupNameListType, location_name: "GroupList"))
1545
1605
  UserDetail.add_member(:attached_managed_policies, Shapes::ShapeRef.new(shape: attachedPoliciesListType, location_name: "AttachedManagedPolicies"))
1606
+ UserDetail.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
1546
1607
  UserDetail.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: AttachedPermissionsBoundary, location_name: "PermissionsBoundary"))
1547
1608
  UserDetail.struct_class = Types::UserDetail
1548
1609
 
@@ -1592,6 +1653,10 @@ module Aws::IAM
1592
1653
  summaryMapType.key = Shapes::ShapeRef.new(shape: summaryKeyType)
1593
1654
  summaryMapType.value = Shapes::ShapeRef.new(shape: summaryValueType)
1594
1655
 
1656
+ tagKeyListType.member = Shapes::ShapeRef.new(shape: tagKeyType)
1657
+
1658
+ tagListType.member = Shapes::ShapeRef.new(shape: Tag)
1659
+
1595
1660
  thumbprintListType.member = Shapes::ShapeRef.new(shape: thumbprintType)
1596
1661
 
1597
1662
  userDetailListType.member = Shapes::ShapeRef.new(shape: UserDetail)
@@ -1815,6 +1880,7 @@ module Aws::IAM
1815
1880
  o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1816
1881
  o.errors << Shapes::ShapeRef.new(shape: EntityAlreadyExistsException)
1817
1882
  o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
1883
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1818
1884
  o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
1819
1885
  end)
1820
1886
 
@@ -1862,6 +1928,8 @@ module Aws::IAM
1862
1928
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1863
1929
  o.errors << Shapes::ShapeRef.new(shape: EntityAlreadyExistsException)
1864
1930
  o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
1931
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1932
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1865
1933
  o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
1866
1934
  end)
1867
1935
 
@@ -2015,6 +2083,7 @@ module Aws::IAM
2015
2083
  o.errors << Shapes::ShapeRef.new(shape: DeleteConflictException)
2016
2084
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2017
2085
  o.errors << Shapes::ShapeRef.new(shape: UnmodifiableEntityException)
2086
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
2018
2087
  o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
2019
2088
  end)
2020
2089
 
@@ -2114,6 +2183,7 @@ module Aws::IAM
2114
2183
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2115
2184
  o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
2116
2185
  o.errors << Shapes::ShapeRef.new(shape: DeleteConflictException)
2186
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
2117
2187
  o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
2118
2188
  end)
2119
2189
 
@@ -2713,6 +2783,16 @@ module Aws::IAM
2713
2783
  )
2714
2784
  end)
2715
2785
 
2786
+ api.add_operation(:list_role_tags, Seahorse::Model::Operation.new.tap do |o|
2787
+ o.name = "ListRoleTags"
2788
+ o.http_method = "POST"
2789
+ o.http_request_uri = "/"
2790
+ o.input = Shapes::ShapeRef.new(shape: ListRoleTagsRequest)
2791
+ o.output = Shapes::ShapeRef.new(shape: ListRoleTagsResponse)
2792
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
2793
+ o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
2794
+ end)
2795
+
2716
2796
  api.add_operation(:list_roles, Seahorse::Model::Operation.new.tap do |o|
2717
2797
  o.name = "ListRoles"
2718
2798
  o.http_method = "POST"
@@ -2814,6 +2894,16 @@ module Aws::IAM
2814
2894
  )
2815
2895
  end)
2816
2896
 
2897
+ api.add_operation(:list_user_tags, Seahorse::Model::Operation.new.tap do |o|
2898
+ o.name = "ListUserTags"
2899
+ o.http_method = "POST"
2900
+ o.http_request_uri = "/"
2901
+ o.input = Shapes::ShapeRef.new(shape: ListUserTagsRequest)
2902
+ o.output = Shapes::ShapeRef.new(shape: ListUserTagsResponse)
2903
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
2904
+ o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
2905
+ end)
2906
+
2817
2907
  api.add_operation(:list_users, Seahorse::Model::Operation.new.tap do |o|
2818
2908
  o.name = "ListUsers"
2819
2909
  o.http_method = "POST"
@@ -3009,6 +3099,54 @@ module Aws::IAM
3009
3099
  )
3010
3100
  end)
3011
3101
 
3102
+ api.add_operation(:tag_role, Seahorse::Model::Operation.new.tap do |o|
3103
+ o.name = "TagRole"
3104
+ o.http_method = "POST"
3105
+ o.http_request_uri = "/"
3106
+ o.input = Shapes::ShapeRef.new(shape: TagRoleRequest)
3107
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3108
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
3109
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
3110
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
3111
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
3112
+ o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
3113
+ end)
3114
+
3115
+ api.add_operation(:tag_user, Seahorse::Model::Operation.new.tap do |o|
3116
+ o.name = "TagUser"
3117
+ o.http_method = "POST"
3118
+ o.http_request_uri = "/"
3119
+ o.input = Shapes::ShapeRef.new(shape: TagUserRequest)
3120
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3121
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
3122
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
3123
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
3124
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
3125
+ o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
3126
+ end)
3127
+
3128
+ api.add_operation(:untag_role, Seahorse::Model::Operation.new.tap do |o|
3129
+ o.name = "UntagRole"
3130
+ o.http_method = "POST"
3131
+ o.http_request_uri = "/"
3132
+ o.input = Shapes::ShapeRef.new(shape: UntagRoleRequest)
3133
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3134
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
3135
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
3136
+ o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
3137
+ end)
3138
+
3139
+ api.add_operation(:untag_user, Seahorse::Model::Operation.new.tap do |o|
3140
+ o.name = "UntagUser"
3141
+ o.http_method = "POST"
3142
+ o.http_request_uri = "/"
3143
+ o.input = Shapes::ShapeRef.new(shape: UntagUserRequest)
3144
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3145
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
3146
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
3147
+ o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
3148
+ end)
3149
+
3012
3150
  api.add_operation(:update_access_key, Seahorse::Model::Operation.new.tap do |o|
3013
3151
  o.name = "UpdateAccessKey"
3014
3152
  o.http_method = "POST"
@@ -3166,6 +3304,7 @@ module Aws::IAM
3166
3304
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
3167
3305
  o.errors << Shapes::ShapeRef.new(shape: EntityAlreadyExistsException)
3168
3306
  o.errors << Shapes::ShapeRef.new(shape: EntityTemporarilyUnmodifiableException)
3307
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
3169
3308
  o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
3170
3309
  end)
3171
3310
 
@@ -101,6 +101,18 @@ module Aws::IAM
101
101
  data[:password_last_used]
102
102
  end
103
103
 
104
+ # A list of tags that are associated with the specified user. For more
105
+ # information about tagging, see [Tagging IAM Identities][1] in the *IAM
106
+ # User Guide*.
107
+ #
108
+ #
109
+ #
110
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
111
+ # @return [Array<Types::Tag>]
112
+ def tags
113
+ data[:tags]
114
+ end
115
+
104
116
  # The ARN of the policy used to set the permissions boundary for the
105
117
  # user.
106
118
  #
@@ -344,6 +344,12 @@ module Aws::IAM
344
344
  # role_name: "roleNameType", # required
345
345
  # assume_role_policy_document: "policyDocumentType", # required
346
346
  # description: "roleDescriptionType",
347
+ # tags: [
348
+ # {
349
+ # key: "tagKeyType", # required
350
+ # value: "tagValueType", # required
351
+ # },
352
+ # ],
347
353
  # max_session_duration: 1,
348
354
  # permissions_boundary: "arnType",
349
355
  # })
@@ -401,6 +407,21 @@ module Aws::IAM
401
407
  # [1]: http://wikipedia.org/wiki/regex
402
408
  # @option options [String] :description
403
409
  # A description of the role.
410
+ # @option options [Array<Types::Tag>] :tags
411
+ # A list of tags that you want to attach to the newly created role. Each
412
+ # tag consists of a key name and an associated value. For more
413
+ # information about tagging, see [Tagging IAM Identities][1] in the *IAM
414
+ # User Guide*.
415
+ #
416
+ # <note markdown="1"> If any one of the tags is invalid or if you exceed the allowed number
417
+ # of tags per role, then the entire request fails and the role is not
418
+ # created.
419
+ #
420
+ # </note>
421
+ #
422
+ #
423
+ #
424
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
404
425
  # @option options [Integer] :max_session_duration
405
426
  # The maximum session duration (in seconds) that you want to set for the
406
427
  # specified role. If you do not specify a value for this setting, the
@@ -635,6 +656,12 @@ module Aws::IAM
635
656
  # user = iam.create_user({
636
657
  # path: "pathType",
637
658
  # user_name: "userNameType", # required
659
+ # tags: [
660
+ # {
661
+ # key: "tagKeyType", # required
662
+ # value: "tagValueType", # required
663
+ # },
664
+ # ],
638
665
  # permissions_boundary: "arnType",
639
666
  # })
640
667
  # @param [Hash] options ({})
@@ -668,6 +695,21 @@ module Aws::IAM
668
695
  #
669
696
  #
670
697
  # [1]: http://wikipedia.org/wiki/regex
698
+ # @option options [Array<Types::Tag>] :tags
699
+ # A list of tags that you want to attach to the newly created user. Each
700
+ # tag consists of a key name and an associated value. For more
701
+ # information about tagging, see [Tagging IAM Identities][1] in the *IAM
702
+ # User Guide*.
703
+ #
704
+ # <note markdown="1"> If any one of the tags is invalid or if you exceed the allowed number
705
+ # of tags per user, then the entire request fails and the user is not
706
+ # created.
707
+ #
708
+ # </note>
709
+ #
710
+ #
711
+ #
712
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
671
713
  # @option options [String] :permissions_boundary
672
714
  # The ARN of the policy that is used to set the permissions boundary for
673
715
  # the user.
@@ -89,6 +89,18 @@ module Aws::IAM
89
89
  data[:description]
90
90
  end
91
91
 
92
+ # A list of tags that are attached to the specified role. For more
93
+ # information about tagging, see [Tagging IAM Identities][1] in the *IAM
94
+ # User Guide*.
95
+ #
96
+ #
97
+ #
98
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
99
+ # @return [Array<Types::Tag>]
100
+ def tags
101
+ data[:tags]
102
+ end
103
+
92
104
  # The maximum session duration (in seconds) for the specified role.
93
105
  # Anyone who uses the AWS CLI or API to assume the role can specify the
94
106
  # duration using the optional `DurationSeconds` API parameter or
@@ -1076,6 +1076,12 @@ module Aws::IAM
1076
1076
  # role_name: "roleNameType", # required
1077
1077
  # assume_role_policy_document: "policyDocumentType", # required
1078
1078
  # description: "roleDescriptionType",
1079
+ # tags: [
1080
+ # {
1081
+ # key: "tagKeyType", # required
1082
+ # value: "tagValueType", # required
1083
+ # },
1084
+ # ],
1079
1085
  # max_session_duration: 1,
1080
1086
  # permissions_boundary: "arnType",
1081
1087
  # }
@@ -1141,6 +1147,23 @@ module Aws::IAM
1141
1147
  # A description of the role.
1142
1148
  # @return [String]
1143
1149
  #
1150
+ # @!attribute [rw] tags
1151
+ # A list of tags that you want to attach to the newly created role.
1152
+ # Each tag consists of a key name and an associated value. For more
1153
+ # information about tagging, see [Tagging IAM Identities][1] in the
1154
+ # *IAM User Guide*.
1155
+ #
1156
+ # <note markdown="1"> If any one of the tags is invalid or if you exceed the allowed
1157
+ # number of tags per role, then the entire request fails and the role
1158
+ # is not created.
1159
+ #
1160
+ # </note>
1161
+ #
1162
+ #
1163
+ #
1164
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
1165
+ # @return [Array<Types::Tag>]
1166
+ #
1144
1167
  # @!attribute [rw] max_session_duration
1145
1168
  # The maximum session duration (in seconds) that you want to set for
1146
1169
  # the specified role. If you do not specify a value for this setting,
@@ -1176,6 +1199,7 @@ module Aws::IAM
1176
1199
  :role_name,
1177
1200
  :assume_role_policy_document,
1178
1201
  :description,
1202
+ :tags,
1179
1203
  :max_session_duration,
1180
1204
  :permissions_boundary)
1181
1205
  include Aws::Structure
@@ -1263,9 +1287,20 @@ module Aws::IAM
1263
1287
  # }
1264
1288
  #
1265
1289
  # @!attribute [rw] aws_service_name
1266
- # The AWS service to which this role is attached. You use a string
1267
- # similar to a URL but without the http:// in front. For example:
1268
- # `elasticbeanstalk.amazonaws.com`
1290
+ # The service principal for the AWS service to which this role is
1291
+ # attached. You use a string similar to a URL but without the http://
1292
+ # in front. For example: `elasticbeanstalk.amazonaws.com`.
1293
+ #
1294
+ # Service principals are unique and case-sensitive. To find the exact
1295
+ # service principal for your service-linked role, see [AWS Services
1296
+ # That Work with IAM][1] in the *IAM User Guide* and look for the
1297
+ # services that have <b>Yes </b>in the **Service-Linked Role** column.
1298
+ # Choose the **Yes** link to view the service-linked role
1299
+ # documentation for that service.
1300
+ #
1301
+ #
1302
+ #
1303
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html
1269
1304
  # @return [String]
1270
1305
  #
1271
1306
  # @!attribute [rw] description
@@ -1273,12 +1308,16 @@ module Aws::IAM
1273
1308
  # @return [String]
1274
1309
  #
1275
1310
  # @!attribute [rw] custom_suffix
1276
- # A string that you provide, which is combined with the service name
1277
- # to form the complete role name. If you make multiple requests for
1278
- # the same service, then you must supply a different `CustomSuffix`
1279
- # for each request. Otherwise the request fails with a duplicate role
1280
- # name error. For example, you could add `-1` or `-debug` to the
1281
- # suffix.
1311
+ # A string that you provide, which is combined with the
1312
+ # service-provided prefix to form the complete role name. If you make
1313
+ # multiple requests for the same service, then you must supply a
1314
+ # different `CustomSuffix` for each request. Otherwise the request
1315
+ # fails with a duplicate role name error. For example, you could add
1316
+ # `-1` or `-debug` to the suffix.
1317
+ #
1318
+ # Some services do not support the `CustomSuffix` parameter. If you
1319
+ # provide an optional suffix and the operation fails, try the
1320
+ # operation again without the suffix.
1282
1321
  # @return [String]
1283
1322
  #
1284
1323
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceLinkedRoleRequest AWS API Documentation
@@ -1361,6 +1400,12 @@ module Aws::IAM
1361
1400
  # {
1362
1401
  # path: "pathType",
1363
1402
  # user_name: "userNameType", # required
1403
+ # tags: [
1404
+ # {
1405
+ # key: "tagKeyType", # required
1406
+ # value: "tagValueType", # required
1407
+ # },
1408
+ # ],
1364
1409
  # permissions_boundary: "arnType",
1365
1410
  # }
1366
1411
  #
@@ -1399,6 +1444,23 @@ module Aws::IAM
1399
1444
  # [1]: http://wikipedia.org/wiki/regex
1400
1445
  # @return [String]
1401
1446
  #
1447
+ # @!attribute [rw] tags
1448
+ # A list of tags that you want to attach to the newly created user.
1449
+ # Each tag consists of a key name and an associated value. For more
1450
+ # information about tagging, see [Tagging IAM Identities][1] in the
1451
+ # *IAM User Guide*.
1452
+ #
1453
+ # <note markdown="1"> If any one of the tags is invalid or if you exceed the allowed
1454
+ # number of tags per user, then the entire request fails and the user
1455
+ # is not created.
1456
+ #
1457
+ # </note>
1458
+ #
1459
+ #
1460
+ #
1461
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
1462
+ # @return [Array<Types::Tag>]
1463
+ #
1402
1464
  # @!attribute [rw] permissions_boundary
1403
1465
  # The ARN of the policy that is used to set the permissions boundary
1404
1466
  # for the user.
@@ -1409,6 +1471,7 @@ module Aws::IAM
1409
1471
  class CreateUserRequest < Struct.new(
1410
1472
  :path,
1411
1473
  :user_name,
1474
+ :tags,
1412
1475
  :permissions_boundary)
1413
1476
  include Aws::Structure
1414
1477
  end
@@ -5289,6 +5352,88 @@ module Aws::IAM
5289
5352
  include Aws::Structure
5290
5353
  end
5291
5354
 
5355
+ # @note When making an API call, you may pass ListRoleTagsRequest
5356
+ # data as a hash:
5357
+ #
5358
+ # {
5359
+ # role_name: "roleNameType", # required
5360
+ # marker: "markerType",
5361
+ # max_items: 1,
5362
+ # }
5363
+ #
5364
+ # @!attribute [rw] role_name
5365
+ # The name of the IAM role for which you want to see the list of tags.
5366
+ #
5367
+ # This parameter accepts (through its [regex pattern][1]) a string of
5368
+ # characters that consist of upper and lowercase alphanumeric
5369
+ # characters with no spaces. You can also include any of the following
5370
+ # characters: \_+=,.@-
5371
+ #
5372
+ #
5373
+ #
5374
+ # [1]: http://wikipedia.org/wiki/regex
5375
+ # @return [String]
5376
+ #
5377
+ # @!attribute [rw] marker
5378
+ # Use this parameter only when paginating results and only after you
5379
+ # receive a response indicating that the results are truncated. Set it
5380
+ # to the value of the `Marker` element in the response to indicate
5381
+ # where the next call should start.
5382
+ # @return [String]
5383
+ #
5384
+ # @!attribute [rw] max_items
5385
+ # (Optional) Use this only when paginating results to indicate the
5386
+ # maximum number of items that you want in the response. If additional
5387
+ # items exist beyond the maximum that you specify, the `IsTruncated`
5388
+ # response element is `true`.
5389
+ #
5390
+ # If you do not include this parameter, it defaults to 100. Note that
5391
+ # IAM might return fewer results, even when more results are
5392
+ # available. In that case, the `IsTruncated` response element returns
5393
+ # `true`, and `Marker` contains a value to include in the subsequent
5394
+ # call that tells the service where to continue from.
5395
+ # @return [Integer]
5396
+ #
5397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRoleTagsRequest AWS API Documentation
5398
+ #
5399
+ class ListRoleTagsRequest < Struct.new(
5400
+ :role_name,
5401
+ :marker,
5402
+ :max_items)
5403
+ include Aws::Structure
5404
+ end
5405
+
5406
+ # @!attribute [rw] tags
5407
+ # The list of tags currently that is attached to the role. Each tag
5408
+ # consists of a key name and an associated value. If no tags are
5409
+ # attached to the specified role, the response contains an empty list.
5410
+ # @return [Array<Types::Tag>]
5411
+ #
5412
+ # @!attribute [rw] is_truncated
5413
+ # A flag that indicates whether there are more items to return. If
5414
+ # your results were truncated, you can use the `Marker` request
5415
+ # parameter to make a subsequent pagination request that retrieves
5416
+ # more items. Note that IAM might return fewer than the `MaxItems`
5417
+ # number of results even when more results are available. Check
5418
+ # `IsTruncated` after every call to ensure that you receive all of
5419
+ # your results.
5420
+ # @return [Boolean]
5421
+ #
5422
+ # @!attribute [rw] marker
5423
+ # When `IsTruncated` is `true`, this element is present and contains
5424
+ # the value to use for the `Marker` parameter in a subsequent
5425
+ # pagination request.
5426
+ # @return [String]
5427
+ #
5428
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRoleTagsResponse AWS API Documentation
5429
+ #
5430
+ class ListRoleTagsResponse < Struct.new(
5431
+ :tags,
5432
+ :is_truncated,
5433
+ :marker)
5434
+ include Aws::Structure
5435
+ end
5436
+
5292
5437
  # @note When making an API call, you may pass ListRolesRequest
5293
5438
  # data as a hash:
5294
5439
  #
@@ -5783,6 +5928,88 @@ module Aws::IAM
5783
5928
  include Aws::Structure
5784
5929
  end
5785
5930
 
5931
+ # @note When making an API call, you may pass ListUserTagsRequest
5932
+ # data as a hash:
5933
+ #
5934
+ # {
5935
+ # user_name: "existingUserNameType", # required
5936
+ # marker: "markerType",
5937
+ # max_items: 1,
5938
+ # }
5939
+ #
5940
+ # @!attribute [rw] user_name
5941
+ # The name of the IAM user whose tags you want to see.
5942
+ #
5943
+ # This parameter accepts (through its [regex pattern][1]) a string of
5944
+ # characters that consist of upper and lowercase alphanumeric
5945
+ # characters with no spaces. You can also include any of the following
5946
+ # characters: =,.@-
5947
+ #
5948
+ #
5949
+ #
5950
+ # [1]: http://wikipedia.org/wiki/regex
5951
+ # @return [String]
5952
+ #
5953
+ # @!attribute [rw] marker
5954
+ # Use this parameter only when paginating results and only after you
5955
+ # receive a response indicating that the results are truncated. Set it
5956
+ # to the value of the `Marker` element in the response to indicate
5957
+ # where the next call should start.
5958
+ # @return [String]
5959
+ #
5960
+ # @!attribute [rw] max_items
5961
+ # (Optional) Use this only when paginating results to indicate the
5962
+ # maximum number of items that you want in the response. If additional
5963
+ # items exist beyond the maximum that you specify, the `IsTruncated`
5964
+ # response element is `true`.
5965
+ #
5966
+ # If you do not include this parameter, it defaults to 100. Note that
5967
+ # IAM might return fewer results, even when more results are
5968
+ # available. In that case, the `IsTruncated` response element returns
5969
+ # `true`, and `Marker` contains a value to include in the subsequent
5970
+ # call that tells the service where to continue from.
5971
+ # @return [Integer]
5972
+ #
5973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUserTagsRequest AWS API Documentation
5974
+ #
5975
+ class ListUserTagsRequest < Struct.new(
5976
+ :user_name,
5977
+ :marker,
5978
+ :max_items)
5979
+ include Aws::Structure
5980
+ end
5981
+
5982
+ # @!attribute [rw] tags
5983
+ # The list of tags that are currently attached to the user. Each tag
5984
+ # consists of a key name and an associated value. If no tags are
5985
+ # attached to the specified user, the response contains an empty list.
5986
+ # @return [Array<Types::Tag>]
5987
+ #
5988
+ # @!attribute [rw] is_truncated
5989
+ # A flag that indicates whether there are more items to return. If
5990
+ # your results were truncated, you can use the `Marker` request
5991
+ # parameter to make a subsequent pagination request that retrieves
5992
+ # more items. Note that IAM might return fewer than the `MaxItems`
5993
+ # number of results even when more results are available. Check
5994
+ # `IsTruncated` after every call to ensure that you receive all of
5995
+ # your results.
5996
+ # @return [Boolean]
5997
+ #
5998
+ # @!attribute [rw] marker
5999
+ # When `IsTruncated` is `true`, this element is present and contains
6000
+ # the value to use for the `Marker` parameter in a subsequent
6001
+ # pagination request.
6002
+ # @return [String]
6003
+ #
6004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUserTagsResponse AWS API Documentation
6005
+ #
6006
+ class ListUserTagsResponse < Struct.new(
6007
+ :tags,
6008
+ :is_truncated,
6009
+ :marker)
6010
+ include Aws::Structure
6011
+ end
6012
+
5786
6013
  # @note When making an API call, you may pass ListUsersRequest
5787
6014
  # data as a hash:
5788
6015
  #
@@ -7168,6 +7395,16 @@ module Aws::IAM
7168
7395
  # A description of the role that you provide.
7169
7396
  # @return [String]
7170
7397
  #
7398
+ # @!attribute [rw] tags
7399
+ # A list of tags that are attached to the specified role. For more
7400
+ # information about tagging, see [Tagging IAM Identities][1] in the
7401
+ # *IAM User Guide*.
7402
+ #
7403
+ #
7404
+ #
7405
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
7406
+ # @return [Array<Types::Tag>]
7407
+ #
7171
7408
  # @!attribute [rw] max_session_duration
7172
7409
  # The maximum session duration (in seconds) for the specified role.
7173
7410
  # Anyone who uses the AWS CLI or API to assume the role can specify
@@ -7197,6 +7434,7 @@ module Aws::IAM
7197
7434
  :create_date,
7198
7435
  :assume_role_policy_document,
7199
7436
  :description,
7437
+ :tags,
7200
7438
  :max_session_duration,
7201
7439
  :permissions_boundary)
7202
7440
  include Aws::Structure
@@ -7270,6 +7508,16 @@ module Aws::IAM
7270
7508
  # the role's access (permissions) policies.
7271
7509
  # @return [Array<Types::AttachedPolicy>]
7272
7510
  #
7511
+ # @!attribute [rw] tags
7512
+ # A list of tags that are attached to the specified role. For more
7513
+ # information about tagging, see [Tagging IAM Identities][1] in the
7514
+ # *IAM User Guide*.
7515
+ #
7516
+ #
7517
+ #
7518
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
7519
+ # @return [Array<Types::Tag>]
7520
+ #
7273
7521
  # @!attribute [rw] permissions_boundary
7274
7522
  # The ARN of the policy used to set the permissions boundary for the
7275
7523
  # role.
@@ -7294,6 +7542,7 @@ module Aws::IAM
7294
7542
  :instance_profile_list,
7295
7543
  :role_policy_list,
7296
7544
  :attached_managed_policies,
7545
+ :tags,
7297
7546
  :permissions_boundary)
7298
7547
  include Aws::Structure
7299
7548
  end
@@ -8224,6 +8473,199 @@ module Aws::IAM
8224
8473
  include Aws::Structure
8225
8474
  end
8226
8475
 
8476
+ # A structure that represents user-provided metadata that can be
8477
+ # associated with a resource such as an IAM user or role. For more
8478
+ # information about tagging, see [Tagging IAM Identities][1] in the *IAM
8479
+ # User Guide*.
8480
+ #
8481
+ #
8482
+ #
8483
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
8484
+ #
8485
+ # @note When making an API call, you may pass Tag
8486
+ # data as a hash:
8487
+ #
8488
+ # {
8489
+ # key: "tagKeyType", # required
8490
+ # value: "tagValueType", # required
8491
+ # }
8492
+ #
8493
+ # @!attribute [rw] key
8494
+ # The key name that can be used to look up or retrieve the associated
8495
+ # value. For example, `Department` or `Cost Center` are common
8496
+ # choices.
8497
+ # @return [String]
8498
+ #
8499
+ # @!attribute [rw] value
8500
+ # The value associated with this tag. For example, tags with a key
8501
+ # name of `Department` could have values such as `Human Resources`,
8502
+ # `Accounting`, and `Support`. Tags with a key name of `Cost Center`
8503
+ # might have values that consist of the number associated with the
8504
+ # different cost centers in your company. Typically, many resources
8505
+ # have tags with the same key name but with different values.
8506
+ #
8507
+ # <note markdown="1"> AWS always interprets the tag `Value` as a single string. If you
8508
+ # need to store an array, you can store comma-separated values in the
8509
+ # string. However, you must interpret the value in your code.
8510
+ #
8511
+ # </note>
8512
+ # @return [String]
8513
+ #
8514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/Tag AWS API Documentation
8515
+ #
8516
+ class Tag < Struct.new(
8517
+ :key,
8518
+ :value)
8519
+ include Aws::Structure
8520
+ end
8521
+
8522
+ # @note When making an API call, you may pass TagRoleRequest
8523
+ # data as a hash:
8524
+ #
8525
+ # {
8526
+ # role_name: "roleNameType", # required
8527
+ # tags: [ # required
8528
+ # {
8529
+ # key: "tagKeyType", # required
8530
+ # value: "tagValueType", # required
8531
+ # },
8532
+ # ],
8533
+ # }
8534
+ #
8535
+ # @!attribute [rw] role_name
8536
+ # The name of the role that you want to add tags to.
8537
+ #
8538
+ # This parameter accepts (through its [regex pattern][1]) a string of
8539
+ # characters that consist of upper and lowercase alphanumeric
8540
+ # characters with no spaces. You can also include any of the following
8541
+ # characters: \_+=,.@-
8542
+ #
8543
+ #
8544
+ #
8545
+ # [1]: http://wikipedia.org/wiki/regex
8546
+ # @return [String]
8547
+ #
8548
+ # @!attribute [rw] tags
8549
+ # The list of tags that you want to attach to the role. Each tag
8550
+ # consists of a key name and an associated value. You can specify this
8551
+ # with a JSON string.
8552
+ # @return [Array<Types::Tag>]
8553
+ #
8554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/TagRoleRequest AWS API Documentation
8555
+ #
8556
+ class TagRoleRequest < Struct.new(
8557
+ :role_name,
8558
+ :tags)
8559
+ include Aws::Structure
8560
+ end
8561
+
8562
+ # @note When making an API call, you may pass TagUserRequest
8563
+ # data as a hash:
8564
+ #
8565
+ # {
8566
+ # user_name: "existingUserNameType", # required
8567
+ # tags: [ # required
8568
+ # {
8569
+ # key: "tagKeyType", # required
8570
+ # value: "tagValueType", # required
8571
+ # },
8572
+ # ],
8573
+ # }
8574
+ #
8575
+ # @!attribute [rw] user_name
8576
+ # The name of the user that you want to add tags to.
8577
+ #
8578
+ # This parameter accepts (through its [regex pattern][1]) a string of
8579
+ # characters that consist of upper and lowercase alphanumeric
8580
+ # characters with no spaces. You can also include any of the following
8581
+ # characters: =,.@-
8582
+ #
8583
+ #
8584
+ #
8585
+ # [1]: http://wikipedia.org/wiki/regex
8586
+ # @return [String]
8587
+ #
8588
+ # @!attribute [rw] tags
8589
+ # The list of tags that you want to attach to the user. Each tag
8590
+ # consists of a key name and an associated value.
8591
+ # @return [Array<Types::Tag>]
8592
+ #
8593
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/TagUserRequest AWS API Documentation
8594
+ #
8595
+ class TagUserRequest < Struct.new(
8596
+ :user_name,
8597
+ :tags)
8598
+ include Aws::Structure
8599
+ end
8600
+
8601
+ # @note When making an API call, you may pass UntagRoleRequest
8602
+ # data as a hash:
8603
+ #
8604
+ # {
8605
+ # role_name: "roleNameType", # required
8606
+ # tag_keys: ["tagKeyType"], # required
8607
+ # }
8608
+ #
8609
+ # @!attribute [rw] role_name
8610
+ # The name of the IAM role from which you want to remove tags.
8611
+ #
8612
+ # This parameter accepts (through its [regex pattern][1]) a string of
8613
+ # characters that consist of upper and lowercase alphanumeric
8614
+ # characters with no spaces. You can also include any of the following
8615
+ # characters: \_+=,.@-
8616
+ #
8617
+ #
8618
+ #
8619
+ # [1]: http://wikipedia.org/wiki/regex
8620
+ # @return [String]
8621
+ #
8622
+ # @!attribute [rw] tag_keys
8623
+ # A list of key names as a simple array of strings. The tags with
8624
+ # matching keys are removed from the specified role.
8625
+ # @return [Array<String>]
8626
+ #
8627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UntagRoleRequest AWS API Documentation
8628
+ #
8629
+ class UntagRoleRequest < Struct.new(
8630
+ :role_name,
8631
+ :tag_keys)
8632
+ include Aws::Structure
8633
+ end
8634
+
8635
+ # @note When making an API call, you may pass UntagUserRequest
8636
+ # data as a hash:
8637
+ #
8638
+ # {
8639
+ # user_name: "existingUserNameType", # required
8640
+ # tag_keys: ["tagKeyType"], # required
8641
+ # }
8642
+ #
8643
+ # @!attribute [rw] user_name
8644
+ # The name of the IAM user from which you want to remove tags.
8645
+ #
8646
+ # This parameter accepts (through its [regex pattern][1]) a string of
8647
+ # characters that consist of upper and lowercase alphanumeric
8648
+ # characters with no spaces. You can also include any of the following
8649
+ # characters: =,.@-
8650
+ #
8651
+ #
8652
+ #
8653
+ # [1]: http://wikipedia.org/wiki/regex
8654
+ # @return [String]
8655
+ #
8656
+ # @!attribute [rw] tag_keys
8657
+ # A list of key names as a simple array of strings. The tags with
8658
+ # matching keys are removed from the specified user.
8659
+ # @return [Array<String>]
8660
+ #
8661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UntagUserRequest AWS API Documentation
8662
+ #
8663
+ class UntagUserRequest < Struct.new(
8664
+ :user_name,
8665
+ :tag_keys)
8666
+ include Aws::Structure
8667
+ end
8668
+
8227
8669
  # @note When making an API call, you may pass UpdateAccessKeyRequest
8228
8670
  # data as a hash:
8229
8671
  #
@@ -9354,6 +9796,16 @@ module Aws::IAM
9354
9796
  # [2]: http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html
9355
9797
  # @return [Time]
9356
9798
  #
9799
+ # @!attribute [rw] tags
9800
+ # A list of tags that are associated with the specified user. For more
9801
+ # information about tagging, see [Tagging IAM Identities][1] in the
9802
+ # *IAM User Guide*.
9803
+ #
9804
+ #
9805
+ #
9806
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
9807
+ # @return [Array<Types::Tag>]
9808
+ #
9357
9809
  # @!attribute [rw] permissions_boundary
9358
9810
  # The ARN of the policy used to set the permissions boundary for the
9359
9811
  # user.
@@ -9375,6 +9827,7 @@ module Aws::IAM
9375
9827
  :arn,
9376
9828
  :create_date,
9377
9829
  :password_last_used,
9830
+ :tags,
9378
9831
  :permissions_boundary)
9379
9832
  include Aws::Structure
9380
9833
  end
@@ -9441,6 +9894,16 @@ module Aws::IAM
9441
9894
  # A list of the managed policies attached to the user.
9442
9895
  # @return [Array<Types::AttachedPolicy>]
9443
9896
  #
9897
+ # @!attribute [rw] tags
9898
+ # A list of tags that are associated with the specified user. For more
9899
+ # information about tagging, see [Tagging IAM Identities][1] in the
9900
+ # *IAM User Guide*.
9901
+ #
9902
+ #
9903
+ #
9904
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
9905
+ # @return [Array<Types::Tag>]
9906
+ #
9444
9907
  # @!attribute [rw] permissions_boundary
9445
9908
  # The ARN of the policy used to set the permissions boundary for the
9446
9909
  # user.
@@ -9464,6 +9927,7 @@ module Aws::IAM
9464
9927
  :user_policy_list,
9465
9928
  :group_list,
9466
9929
  :attached_managed_policies,
9930
+ :tags,
9467
9931
  :permissions_boundary)
9468
9932
  include Aws::Structure
9469
9933
  end