aws-sdk-iam 1.10.0 → 1.11.0

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