aws-sdk-iam 1.12.0 → 1.13.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.
@@ -102,13 +102,18 @@ module Aws::IAM
102
102
  DuplicateSSHPublicKeyException = Shapes::StructureShape.new(name: 'DuplicateSSHPublicKeyException')
103
103
  EnableMFADeviceRequest = Shapes::StructureShape.new(name: 'EnableMFADeviceRequest')
104
104
  EntityAlreadyExistsException = Shapes::StructureShape.new(name: 'EntityAlreadyExistsException')
105
+ EntityDetails = Shapes::StructureShape.new(name: 'EntityDetails')
106
+ EntityInfo = Shapes::StructureShape.new(name: 'EntityInfo')
105
107
  EntityTemporarilyUnmodifiableException = Shapes::StructureShape.new(name: 'EntityTemporarilyUnmodifiableException')
106
108
  EntityType = Shapes::StringShape.new(name: 'EntityType')
109
+ ErrorDetails = Shapes::StructureShape.new(name: 'ErrorDetails')
107
110
  EvalDecisionDetailsType = Shapes::MapShape.new(name: 'EvalDecisionDetailsType')
108
111
  EvalDecisionSourceType = Shapes::StringShape.new(name: 'EvalDecisionSourceType')
109
112
  EvaluationResult = Shapes::StructureShape.new(name: 'EvaluationResult')
110
113
  EvaluationResultsListType = Shapes::ListShape.new(name: 'EvaluationResultsListType')
111
114
  GenerateCredentialReportResponse = Shapes::StructureShape.new(name: 'GenerateCredentialReportResponse')
115
+ GenerateServiceLastAccessedDetailsRequest = Shapes::StructureShape.new(name: 'GenerateServiceLastAccessedDetailsRequest')
116
+ GenerateServiceLastAccessedDetailsResponse = Shapes::StructureShape.new(name: 'GenerateServiceLastAccessedDetailsResponse')
112
117
  GetAccessKeyLastUsedRequest = Shapes::StructureShape.new(name: 'GetAccessKeyLastUsedRequest')
113
118
  GetAccessKeyLastUsedResponse = Shapes::StructureShape.new(name: 'GetAccessKeyLastUsedResponse')
114
119
  GetAccountAuthorizationDetailsRequest = Shapes::StructureShape.new(name: 'GetAccountAuthorizationDetailsRequest')
@@ -143,6 +148,10 @@ module Aws::IAM
143
148
  GetSSHPublicKeyResponse = Shapes::StructureShape.new(name: 'GetSSHPublicKeyResponse')
144
149
  GetServerCertificateRequest = Shapes::StructureShape.new(name: 'GetServerCertificateRequest')
145
150
  GetServerCertificateResponse = Shapes::StructureShape.new(name: 'GetServerCertificateResponse')
151
+ GetServiceLastAccessedDetailsRequest = Shapes::StructureShape.new(name: 'GetServiceLastAccessedDetailsRequest')
152
+ GetServiceLastAccessedDetailsResponse = Shapes::StructureShape.new(name: 'GetServiceLastAccessedDetailsResponse')
153
+ GetServiceLastAccessedDetailsWithEntitiesRequest = Shapes::StructureShape.new(name: 'GetServiceLastAccessedDetailsWithEntitiesRequest')
154
+ GetServiceLastAccessedDetailsWithEntitiesResponse = Shapes::StructureShape.new(name: 'GetServiceLastAccessedDetailsWithEntitiesResponse')
146
155
  GetServiceLinkedRoleDeletionStatusRequest = Shapes::StructureShape.new(name: 'GetServiceLinkedRoleDeletionStatusRequest')
147
156
  GetServiceLinkedRoleDeletionStatusResponse = Shapes::StructureShape.new(name: 'GetServiceLinkedRoleDeletionStatusResponse')
148
157
  GetUserPolicyRequest = Shapes::StructureShape.new(name: 'GetUserPolicyRequest')
@@ -186,6 +195,9 @@ module Aws::IAM
186
195
  ListMFADevicesResponse = Shapes::StructureShape.new(name: 'ListMFADevicesResponse')
187
196
  ListOpenIDConnectProvidersRequest = Shapes::StructureShape.new(name: 'ListOpenIDConnectProvidersRequest')
188
197
  ListOpenIDConnectProvidersResponse = Shapes::StructureShape.new(name: 'ListOpenIDConnectProvidersResponse')
198
+ ListPoliciesGrantingServiceAccessEntry = Shapes::StructureShape.new(name: 'ListPoliciesGrantingServiceAccessEntry')
199
+ ListPoliciesGrantingServiceAccessRequest = Shapes::StructureShape.new(name: 'ListPoliciesGrantingServiceAccessRequest')
200
+ ListPoliciesGrantingServiceAccessResponse = Shapes::StructureShape.new(name: 'ListPoliciesGrantingServiceAccessResponse')
189
201
  ListPoliciesRequest = Shapes::StructureShape.new(name: 'ListPoliciesRequest')
190
202
  ListPoliciesResponse = Shapes::StructureShape.new(name: 'ListPoliciesResponse')
191
203
  ListPolicyVersionsRequest = Shapes::StructureShape.new(name: 'ListPolicyVersionsRequest')
@@ -232,6 +244,7 @@ module Aws::IAM
232
244
  PolicyDetail = Shapes::StructureShape.new(name: 'PolicyDetail')
233
245
  PolicyEvaluationDecisionType = Shapes::StringShape.new(name: 'PolicyEvaluationDecisionType')
234
246
  PolicyEvaluationException = Shapes::StructureShape.new(name: 'PolicyEvaluationException')
247
+ PolicyGrantingServiceAccess = Shapes::StructureShape.new(name: 'PolicyGrantingServiceAccess')
235
248
  PolicyGroup = Shapes::StructureShape.new(name: 'PolicyGroup')
236
249
  PolicyGroupListType = Shapes::ListShape.new(name: 'PolicyGroupListType')
237
250
  PolicyIdentifierType = Shapes::StringShape.new(name: 'PolicyIdentifierType')
@@ -280,10 +293,12 @@ module Aws::IAM
280
293
  ServerCertificate = Shapes::StructureShape.new(name: 'ServerCertificate')
281
294
  ServerCertificateMetadata = Shapes::StructureShape.new(name: 'ServerCertificateMetadata')
282
295
  ServiceFailureException = Shapes::StructureShape.new(name: 'ServiceFailureException')
296
+ ServiceLastAccessed = Shapes::StructureShape.new(name: 'ServiceLastAccessed')
283
297
  ServiceNotSupportedException = Shapes::StructureShape.new(name: 'ServiceNotSupportedException')
284
298
  ServiceSpecificCredential = Shapes::StructureShape.new(name: 'ServiceSpecificCredential')
285
299
  ServiceSpecificCredentialMetadata = Shapes::StructureShape.new(name: 'ServiceSpecificCredentialMetadata')
286
300
  ServiceSpecificCredentialsListType = Shapes::ListShape.new(name: 'ServiceSpecificCredentialsListType')
301
+ ServicesLastAccessed = Shapes::ListShape.new(name: 'ServicesLastAccessed')
287
302
  SetDefaultPolicyVersionRequest = Shapes::StructureShape.new(name: 'SetDefaultPolicyVersionRequest')
288
303
  SigningCertificate = Shapes::StructureShape.new(name: 'SigningCertificate')
289
304
  SimulateCustomPolicyRequest = Shapes::StructureShape.new(name: 'SimulateCustomPolicyRequest')
@@ -353,7 +368,9 @@ module Aws::IAM
353
368
  duplicateSSHPublicKeyMessage = Shapes::StringShape.new(name: 'duplicateSSHPublicKeyMessage')
354
369
  encodingType = Shapes::StringShape.new(name: 'encodingType')
355
370
  entityAlreadyExistsMessage = Shapes::StringShape.new(name: 'entityAlreadyExistsMessage')
371
+ entityDetailsListType = Shapes::ListShape.new(name: 'entityDetailsListType')
356
372
  entityListType = Shapes::ListShape.new(name: 'entityListType')
373
+ entityNameType = Shapes::StringShape.new(name: 'entityNameType')
357
374
  entityTemporarilyUnmodifiableMessage = Shapes::StringShape.new(name: 'entityTemporarilyUnmodifiableMessage')
358
375
  existingUserNameType = Shapes::StringShape.new(name: 'existingUserNameType')
359
376
  groupDetailListType = Shapes::ListShape.new(name: 'groupDetailListType')
@@ -363,13 +380,17 @@ module Aws::IAM
363
380
  idType = Shapes::StringShape.new(name: 'idType')
364
381
  instanceProfileListType = Shapes::ListShape.new(name: 'instanceProfileListType')
365
382
  instanceProfileNameType = Shapes::StringShape.new(name: 'instanceProfileNameType')
383
+ integerType = Shapes::IntegerShape.new(name: 'integerType')
366
384
  invalidAuthenticationCodeMessage = Shapes::StringShape.new(name: 'invalidAuthenticationCodeMessage')
367
385
  invalidCertificateMessage = Shapes::StringShape.new(name: 'invalidCertificateMessage')
368
386
  invalidInputMessage = Shapes::StringShape.new(name: 'invalidInputMessage')
369
387
  invalidPublicKeyMessage = Shapes::StringShape.new(name: 'invalidPublicKeyMessage')
370
388
  invalidUserTypeMessage = Shapes::StringShape.new(name: 'invalidUserTypeMessage')
389
+ jobIDType = Shapes::StringShape.new(name: 'jobIDType')
390
+ jobStatusType = Shapes::StringShape.new(name: 'jobStatusType')
371
391
  keyPairMismatchMessage = Shapes::StringShape.new(name: 'keyPairMismatchMessage')
372
392
  limitExceededMessage = Shapes::StringShape.new(name: 'limitExceededMessage')
393
+ listPolicyGrantingServiceAccessResponseListType = Shapes::ListShape.new(name: 'listPolicyGrantingServiceAccessResponseListType')
373
394
  malformedCertificateMessage = Shapes::StringShape.new(name: 'malformedCertificateMessage')
374
395
  malformedPolicyDocumentMessage = Shapes::StringShape.new(name: 'malformedPolicyDocumentMessage')
375
396
  markerType = Shapes::StringShape.new(name: 'markerType')
@@ -388,12 +409,15 @@ module Aws::IAM
388
409
  policyDocumentType = Shapes::StringShape.new(name: 'policyDocumentType')
389
410
  policyDocumentVersionListType = Shapes::ListShape.new(name: 'policyDocumentVersionListType')
390
411
  policyEvaluationErrorMessage = Shapes::StringShape.new(name: 'policyEvaluationErrorMessage')
412
+ policyGrantingServiceAccessListType = Shapes::ListShape.new(name: 'policyGrantingServiceAccessListType')
391
413
  policyListType = Shapes::ListShape.new(name: 'policyListType')
392
414
  policyNameListType = Shapes::ListShape.new(name: 'policyNameListType')
393
415
  policyNameType = Shapes::StringShape.new(name: 'policyNameType')
394
416
  policyNotAttachableMessage = Shapes::StringShape.new(name: 'policyNotAttachableMessage')
417
+ policyOwnerEntityType = Shapes::StringShape.new(name: 'policyOwnerEntityType')
395
418
  policyPathType = Shapes::StringShape.new(name: 'policyPathType')
396
419
  policyScopeType = Shapes::StringShape.new(name: 'policyScopeType')
420
+ policyType = Shapes::StringShape.new(name: 'policyType')
397
421
  policyVersionIdType = Shapes::StringShape.new(name: 'policyVersionIdType')
398
422
  privateKeyType = Shapes::StringShape.new(name: 'privateKeyType')
399
423
  publicKeyFingerprintType = Shapes::StringShape.new(name: 'publicKeyFingerprintType')
@@ -409,6 +433,9 @@ module Aws::IAM
409
433
  serverCertificateNameType = Shapes::StringShape.new(name: 'serverCertificateNameType')
410
434
  serviceFailureExceptionMessage = Shapes::StringShape.new(name: 'serviceFailureExceptionMessage')
411
435
  serviceName = Shapes::StringShape.new(name: 'serviceName')
436
+ serviceNameType = Shapes::StringShape.new(name: 'serviceNameType')
437
+ serviceNamespaceListType = Shapes::ListShape.new(name: 'serviceNamespaceListType')
438
+ serviceNamespaceType = Shapes::StringShape.new(name: 'serviceNamespaceType')
412
439
  serviceNotSupportedMessage = Shapes::StringShape.new(name: 'serviceNotSupportedMessage')
413
440
  servicePassword = Shapes::StringShape.new(name: 'servicePassword')
414
441
  serviceSpecificCredentialId = Shapes::StringShape.new(name: 'serviceSpecificCredentialId')
@@ -561,9 +588,9 @@ module Aws::IAM
561
588
  CreateRoleRequest.add_member(:role_name, Shapes::ShapeRef.new(shape: roleNameType, required: true, location_name: "RoleName"))
562
589
  CreateRoleRequest.add_member(:assume_role_policy_document, Shapes::ShapeRef.new(shape: policyDocumentType, required: true, location_name: "AssumeRolePolicyDocument"))
563
590
  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"))
565
591
  CreateRoleRequest.add_member(:max_session_duration, Shapes::ShapeRef.new(shape: roleMaxSessionDurationType, location_name: "MaxSessionDuration"))
566
592
  CreateRoleRequest.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: arnType, location_name: "PermissionsBoundary"))
593
+ CreateRoleRequest.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
567
594
  CreateRoleRequest.struct_class = Types::CreateRoleRequest
568
595
 
569
596
  CreateRoleResponse.add_member(:role, Shapes::ShapeRef.new(shape: Role, required: true, location_name: "Role"))
@@ -593,8 +620,8 @@ module Aws::IAM
593
620
 
594
621
  CreateUserRequest.add_member(:path, Shapes::ShapeRef.new(shape: pathType, location_name: "Path"))
595
622
  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"))
597
623
  CreateUserRequest.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: arnType, location_name: "PermissionsBoundary"))
624
+ CreateUserRequest.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
598
625
  CreateUserRequest.struct_class = Types::CreateUserRequest
599
626
 
600
627
  CreateUserResponse.add_member(:user, Shapes::ShapeRef.new(shape: User, location_name: "User"))
@@ -710,6 +737,21 @@ module Aws::IAM
710
737
  EnableMFADeviceRequest.add_member(:authentication_code_2, Shapes::ShapeRef.new(shape: authenticationCodeType, required: true, location_name: "AuthenticationCode2"))
711
738
  EnableMFADeviceRequest.struct_class = Types::EnableMFADeviceRequest
712
739
 
740
+ EntityDetails.add_member(:entity_info, Shapes::ShapeRef.new(shape: EntityInfo, required: true, location_name: "EntityInfo"))
741
+ EntityDetails.add_member(:last_authenticated, Shapes::ShapeRef.new(shape: dateType, location_name: "LastAuthenticated"))
742
+ EntityDetails.struct_class = Types::EntityDetails
743
+
744
+ EntityInfo.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
745
+ EntityInfo.add_member(:name, Shapes::ShapeRef.new(shape: userNameType, required: true, location_name: "Name"))
746
+ EntityInfo.add_member(:type, Shapes::ShapeRef.new(shape: policyOwnerEntityType, required: true, location_name: "Type"))
747
+ EntityInfo.add_member(:id, Shapes::ShapeRef.new(shape: idType, required: true, location_name: "Id"))
748
+ EntityInfo.add_member(:path, Shapes::ShapeRef.new(shape: pathType, location_name: "Path"))
749
+ EntityInfo.struct_class = Types::EntityInfo
750
+
751
+ ErrorDetails.add_member(:message, Shapes::ShapeRef.new(shape: stringType, required: true, location_name: "Message"))
752
+ ErrorDetails.add_member(:code, Shapes::ShapeRef.new(shape: stringType, required: true, location_name: "Code"))
753
+ ErrorDetails.struct_class = Types::ErrorDetails
754
+
713
755
  EvalDecisionDetailsType.key = Shapes::ShapeRef.new(shape: EvalDecisionSourceType)
714
756
  EvalDecisionDetailsType.value = Shapes::ShapeRef.new(shape: PolicyEvaluationDecisionType)
715
757
 
@@ -729,6 +771,12 @@ module Aws::IAM
729
771
  GenerateCredentialReportResponse.add_member(:description, Shapes::ShapeRef.new(shape: ReportStateDescriptionType, location_name: "Description"))
730
772
  GenerateCredentialReportResponse.struct_class = Types::GenerateCredentialReportResponse
731
773
 
774
+ GenerateServiceLastAccessedDetailsRequest.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
775
+ GenerateServiceLastAccessedDetailsRequest.struct_class = Types::GenerateServiceLastAccessedDetailsRequest
776
+
777
+ GenerateServiceLastAccessedDetailsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: jobIDType, location_name: "JobId"))
778
+ GenerateServiceLastAccessedDetailsResponse.struct_class = Types::GenerateServiceLastAccessedDetailsResponse
779
+
732
780
  GetAccessKeyLastUsedRequest.add_member(:access_key_id, Shapes::ShapeRef.new(shape: accessKeyIdType, required: true, location_name: "AccessKeyId"))
733
781
  GetAccessKeyLastUsedRequest.struct_class = Types::GetAccessKeyLastUsedRequest
734
782
 
@@ -861,6 +909,35 @@ module Aws::IAM
861
909
  GetServerCertificateResponse.add_member(:server_certificate, Shapes::ShapeRef.new(shape: ServerCertificate, required: true, location_name: "ServerCertificate"))
862
910
  GetServerCertificateResponse.struct_class = Types::GetServerCertificateResponse
863
911
 
912
+ GetServiceLastAccessedDetailsRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: jobIDType, required: true, location_name: "JobId"))
913
+ GetServiceLastAccessedDetailsRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: maxItemsType, location_name: "MaxItems"))
914
+ GetServiceLastAccessedDetailsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
915
+ GetServiceLastAccessedDetailsRequest.struct_class = Types::GetServiceLastAccessedDetailsRequest
916
+
917
+ GetServiceLastAccessedDetailsResponse.add_member(:job_status, Shapes::ShapeRef.new(shape: jobStatusType, required: true, location_name: "JobStatus"))
918
+ GetServiceLastAccessedDetailsResponse.add_member(:job_creation_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "JobCreationDate"))
919
+ GetServiceLastAccessedDetailsResponse.add_member(:services_last_accessed, Shapes::ShapeRef.new(shape: ServicesLastAccessed, required: true, location_name: "ServicesLastAccessed"))
920
+ GetServiceLastAccessedDetailsResponse.add_member(:job_completion_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "JobCompletionDate"))
921
+ GetServiceLastAccessedDetailsResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
922
+ GetServiceLastAccessedDetailsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
923
+ GetServiceLastAccessedDetailsResponse.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
924
+ GetServiceLastAccessedDetailsResponse.struct_class = Types::GetServiceLastAccessedDetailsResponse
925
+
926
+ GetServiceLastAccessedDetailsWithEntitiesRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: jobIDType, required: true, location_name: "JobId"))
927
+ GetServiceLastAccessedDetailsWithEntitiesRequest.add_member(:service_namespace, Shapes::ShapeRef.new(shape: serviceNamespaceType, required: true, location_name: "ServiceNamespace"))
928
+ GetServiceLastAccessedDetailsWithEntitiesRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: maxItemsType, location_name: "MaxItems"))
929
+ GetServiceLastAccessedDetailsWithEntitiesRequest.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
930
+ GetServiceLastAccessedDetailsWithEntitiesRequest.struct_class = Types::GetServiceLastAccessedDetailsWithEntitiesRequest
931
+
932
+ GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:job_status, Shapes::ShapeRef.new(shape: jobStatusType, required: true, location_name: "JobStatus"))
933
+ GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:job_creation_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "JobCreationDate"))
934
+ GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:job_completion_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "JobCompletionDate"))
935
+ GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:entity_details_list, Shapes::ShapeRef.new(shape: entityDetailsListType, required: true, location_name: "EntityDetailsList"))
936
+ GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
937
+ GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
938
+ GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
939
+ GetServiceLastAccessedDetailsWithEntitiesResponse.struct_class = Types::GetServiceLastAccessedDetailsWithEntitiesResponse
940
+
864
941
  GetServiceLinkedRoleDeletionStatusRequest.add_member(:deletion_task_id, Shapes::ShapeRef.new(shape: DeletionTaskIdType, required: true, location_name: "DeletionTaskId"))
865
942
  GetServiceLinkedRoleDeletionStatusRequest.struct_class = Types::GetServiceLinkedRoleDeletionStatusRequest
866
943
 
@@ -1039,6 +1116,20 @@ module Aws::IAM
1039
1116
  ListOpenIDConnectProvidersResponse.add_member(:open_id_connect_provider_list, Shapes::ShapeRef.new(shape: OpenIDConnectProviderListType, location_name: "OpenIDConnectProviderList"))
1040
1117
  ListOpenIDConnectProvidersResponse.struct_class = Types::ListOpenIDConnectProvidersResponse
1041
1118
 
1119
+ ListPoliciesGrantingServiceAccessEntry.add_member(:service_namespace, Shapes::ShapeRef.new(shape: serviceNamespaceType, location_name: "ServiceNamespace"))
1120
+ ListPoliciesGrantingServiceAccessEntry.add_member(:policies, Shapes::ShapeRef.new(shape: policyGrantingServiceAccessListType, location_name: "Policies"))
1121
+ ListPoliciesGrantingServiceAccessEntry.struct_class = Types::ListPoliciesGrantingServiceAccessEntry
1122
+
1123
+ ListPoliciesGrantingServiceAccessRequest.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1124
+ ListPoliciesGrantingServiceAccessRequest.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
1125
+ ListPoliciesGrantingServiceAccessRequest.add_member(:service_namespaces, Shapes::ShapeRef.new(shape: serviceNamespaceListType, required: true, location_name: "ServiceNamespaces"))
1126
+ ListPoliciesGrantingServiceAccessRequest.struct_class = Types::ListPoliciesGrantingServiceAccessRequest
1127
+
1128
+ ListPoliciesGrantingServiceAccessResponse.add_member(:policies_granting_service_access, Shapes::ShapeRef.new(shape: listPolicyGrantingServiceAccessResponseListType, required: true, location_name: "PoliciesGrantingServiceAccess"))
1129
+ ListPoliciesGrantingServiceAccessResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1130
+ ListPoliciesGrantingServiceAccessResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1131
+ ListPoliciesGrantingServiceAccessResponse.struct_class = Types::ListPoliciesGrantingServiceAccessResponse
1132
+
1042
1133
  ListPoliciesRequest.add_member(:scope, Shapes::ShapeRef.new(shape: policyScopeType, location_name: "Scope"))
1043
1134
  ListPoliciesRequest.add_member(:only_attached, Shapes::ShapeRef.new(shape: booleanType, location_name: "OnlyAttached"))
1044
1135
  ListPoliciesRequest.add_member(:path_prefix, Shapes::ShapeRef.new(shape: policyPathType, location_name: "PathPrefix"))
@@ -1237,6 +1328,13 @@ module Aws::IAM
1237
1328
  PolicyDetail.add_member(:policy_document, Shapes::ShapeRef.new(shape: policyDocumentType, location_name: "PolicyDocument"))
1238
1329
  PolicyDetail.struct_class = Types::PolicyDetail
1239
1330
 
1331
+ PolicyGrantingServiceAccess.add_member(:policy_name, Shapes::ShapeRef.new(shape: policyNameType, required: true, location_name: "PolicyName"))
1332
+ PolicyGrantingServiceAccess.add_member(:policy_type, Shapes::ShapeRef.new(shape: policyType, required: true, location_name: "PolicyType"))
1333
+ PolicyGrantingServiceAccess.add_member(:policy_arn, Shapes::ShapeRef.new(shape: arnType, location_name: "PolicyArn"))
1334
+ PolicyGrantingServiceAccess.add_member(:entity_type, Shapes::ShapeRef.new(shape: policyOwnerEntityType, location_name: "EntityType"))
1335
+ PolicyGrantingServiceAccess.add_member(:entity_name, Shapes::ShapeRef.new(shape: entityNameType, location_name: "EntityName"))
1336
+ PolicyGrantingServiceAccess.struct_class = Types::PolicyGrantingServiceAccess
1337
+
1240
1338
  PolicyGroup.add_member(:group_name, Shapes::ShapeRef.new(shape: groupNameType, location_name: "GroupName"))
1241
1339
  PolicyGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: idType, location_name: "GroupId"))
1242
1340
  PolicyGroup.struct_class = Types::PolicyGroup
@@ -1331,9 +1429,9 @@ module Aws::IAM
1331
1429
  Role.add_member(:create_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "CreateDate"))
1332
1430
  Role.add_member(:assume_role_policy_document, Shapes::ShapeRef.new(shape: policyDocumentType, location_name: "AssumeRolePolicyDocument"))
1333
1431
  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"))
1335
1432
  Role.add_member(:max_session_duration, Shapes::ShapeRef.new(shape: roleMaxSessionDurationType, location_name: "MaxSessionDuration"))
1336
1433
  Role.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: AttachedPermissionsBoundary, location_name: "PermissionsBoundary"))
1434
+ Role.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
1337
1435
  Role.struct_class = Types::Role
1338
1436
 
1339
1437
  RoleDetail.add_member(:path, Shapes::ShapeRef.new(shape: pathType, location_name: "Path"))
@@ -1345,8 +1443,8 @@ module Aws::IAM
1345
1443
  RoleDetail.add_member(:instance_profile_list, Shapes::ShapeRef.new(shape: instanceProfileListType, location_name: "InstanceProfileList"))
1346
1444
  RoleDetail.add_member(:role_policy_list, Shapes::ShapeRef.new(shape: policyDetailListType, location_name: "RolePolicyList"))
1347
1445
  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"))
1349
1446
  RoleDetail.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: AttachedPermissionsBoundary, location_name: "PermissionsBoundary"))
1447
+ RoleDetail.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
1350
1448
  RoleDetail.struct_class = Types::RoleDetail
1351
1449
 
1352
1450
  RoleUsageListType.member = Shapes::ShapeRef.new(shape: RoleUsageType)
@@ -1391,6 +1489,13 @@ module Aws::IAM
1391
1489
  ServerCertificateMetadata.add_member(:expiration, Shapes::ShapeRef.new(shape: dateType, location_name: "Expiration"))
1392
1490
  ServerCertificateMetadata.struct_class = Types::ServerCertificateMetadata
1393
1491
 
1492
+ ServiceLastAccessed.add_member(:service_name, Shapes::ShapeRef.new(shape: serviceNameType, required: true, location_name: "ServiceName"))
1493
+ ServiceLastAccessed.add_member(:last_authenticated, Shapes::ShapeRef.new(shape: dateType, location_name: "LastAuthenticated"))
1494
+ ServiceLastAccessed.add_member(:service_namespace, Shapes::ShapeRef.new(shape: serviceNamespaceType, required: true, location_name: "ServiceNamespace"))
1495
+ ServiceLastAccessed.add_member(:last_authenticated_entity, Shapes::ShapeRef.new(shape: arnType, location_name: "LastAuthenticatedEntity"))
1496
+ ServiceLastAccessed.add_member(:total_authenticated_entities, Shapes::ShapeRef.new(shape: integerType, location_name: "TotalAuthenticatedEntities"))
1497
+ ServiceLastAccessed.struct_class = Types::ServiceLastAccessed
1498
+
1394
1499
  ServiceSpecificCredential.add_member(:create_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "CreateDate"))
1395
1500
  ServiceSpecificCredential.add_member(:service_name, Shapes::ShapeRef.new(shape: serviceName, required: true, location_name: "ServiceName"))
1396
1501
  ServiceSpecificCredential.add_member(:service_user_name, Shapes::ShapeRef.new(shape: serviceUserName, required: true, location_name: "ServiceUserName"))
@@ -1410,6 +1515,8 @@ module Aws::IAM
1410
1515
 
1411
1516
  ServiceSpecificCredentialsListType.member = Shapes::ShapeRef.new(shape: ServiceSpecificCredentialMetadata)
1412
1517
 
1518
+ ServicesLastAccessed.member = Shapes::ShapeRef.new(shape: ServiceLastAccessed)
1519
+
1413
1520
  SetDefaultPolicyVersionRequest.add_member(:policy_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "PolicyArn"))
1414
1521
  SetDefaultPolicyVersionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: policyVersionIdType, required: true, location_name: "VersionId"))
1415
1522
  SetDefaultPolicyVersionRequest.struct_class = Types::SetDefaultPolicyVersionRequest
@@ -1591,8 +1698,8 @@ module Aws::IAM
1591
1698
  User.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
1592
1699
  User.add_member(:create_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "CreateDate"))
1593
1700
  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"))
1595
1701
  User.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: AttachedPermissionsBoundary, location_name: "PermissionsBoundary"))
1702
+ User.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
1596
1703
  User.struct_class = Types::User
1597
1704
 
1598
1705
  UserDetail.add_member(:path, Shapes::ShapeRef.new(shape: pathType, location_name: "Path"))
@@ -1603,8 +1710,8 @@ module Aws::IAM
1603
1710
  UserDetail.add_member(:user_policy_list, Shapes::ShapeRef.new(shape: policyDetailListType, location_name: "UserPolicyList"))
1604
1711
  UserDetail.add_member(:group_list, Shapes::ShapeRef.new(shape: groupNameListType, location_name: "GroupList"))
1605
1712
  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"))
1607
1713
  UserDetail.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: AttachedPermissionsBoundary, location_name: "PermissionsBoundary"))
1714
+ UserDetail.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
1608
1715
  UserDetail.struct_class = Types::UserDetail
1609
1716
 
1610
1717
  VirtualMFADevice.add_member(:serial_number, Shapes::ShapeRef.new(shape: serialNumberType, required: true, location_name: "SerialNumber"))
@@ -1624,6 +1731,8 @@ module Aws::IAM
1624
1731
 
1625
1732
  clientIDListType.member = Shapes::ShapeRef.new(shape: clientIDType)
1626
1733
 
1734
+ entityDetailsListType.member = Shapes::ShapeRef.new(shape: EntityDetails)
1735
+
1627
1736
  entityListType.member = Shapes::ShapeRef.new(shape: EntityType)
1628
1737
 
1629
1738
  groupDetailListType.member = Shapes::ShapeRef.new(shape: GroupDetail)
@@ -1634,12 +1743,16 @@ module Aws::IAM
1634
1743
 
1635
1744
  instanceProfileListType.member = Shapes::ShapeRef.new(shape: InstanceProfile)
1636
1745
 
1746
+ listPolicyGrantingServiceAccessResponseListType.member = Shapes::ShapeRef.new(shape: ListPoliciesGrantingServiceAccessEntry)
1747
+
1637
1748
  mfaDeviceListType.member = Shapes::ShapeRef.new(shape: MFADevice)
1638
1749
 
1639
1750
  policyDetailListType.member = Shapes::ShapeRef.new(shape: PolicyDetail)
1640
1751
 
1641
1752
  policyDocumentVersionListType.member = Shapes::ShapeRef.new(shape: PolicyVersion)
1642
1753
 
1754
+ policyGrantingServiceAccessListType.member = Shapes::ShapeRef.new(shape: PolicyGrantingServiceAccess)
1755
+
1643
1756
  policyListType.member = Shapes::ShapeRef.new(shape: Policy)
1644
1757
 
1645
1758
  policyNameListType.member = Shapes::ShapeRef.new(shape: policyNameType)
@@ -1650,6 +1763,8 @@ module Aws::IAM
1650
1763
 
1651
1764
  serverCertificateMetadataListType.member = Shapes::ShapeRef.new(shape: ServerCertificateMetadata)
1652
1765
 
1766
+ serviceNamespaceListType.member = Shapes::ShapeRef.new(shape: serviceNamespaceType)
1767
+
1653
1768
  summaryMapType.key = Shapes::ShapeRef.new(shape: summaryKeyType)
1654
1769
  summaryMapType.value = Shapes::ShapeRef.new(shape: summaryValueType)
1655
1770
 
@@ -2281,6 +2396,16 @@ module Aws::IAM
2281
2396
  o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
2282
2397
  end)
2283
2398
 
2399
+ api.add_operation(:generate_service_last_accessed_details, Seahorse::Model::Operation.new.tap do |o|
2400
+ o.name = "GenerateServiceLastAccessedDetails"
2401
+ o.http_method = "POST"
2402
+ o.http_request_uri = "/"
2403
+ o.input = Shapes::ShapeRef.new(shape: GenerateServiceLastAccessedDetailsRequest)
2404
+ o.output = Shapes::ShapeRef.new(shape: GenerateServiceLastAccessedDetailsResponse)
2405
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
2406
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
2407
+ end)
2408
+
2284
2409
  api.add_operation(:get_access_key_last_used, Seahorse::Model::Operation.new.tap do |o|
2285
2410
  o.name = "GetAccessKeyLastUsed"
2286
2411
  o.http_method = "POST"
@@ -2487,6 +2612,26 @@ module Aws::IAM
2487
2612
  o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
2488
2613
  end)
2489
2614
 
2615
+ api.add_operation(:get_service_last_accessed_details, Seahorse::Model::Operation.new.tap do |o|
2616
+ o.name = "GetServiceLastAccessedDetails"
2617
+ o.http_method = "POST"
2618
+ o.http_request_uri = "/"
2619
+ o.input = Shapes::ShapeRef.new(shape: GetServiceLastAccessedDetailsRequest)
2620
+ o.output = Shapes::ShapeRef.new(shape: GetServiceLastAccessedDetailsResponse)
2621
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
2622
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
2623
+ end)
2624
+
2625
+ api.add_operation(:get_service_last_accessed_details_with_entities, Seahorse::Model::Operation.new.tap do |o|
2626
+ o.name = "GetServiceLastAccessedDetailsWithEntities"
2627
+ o.http_method = "POST"
2628
+ o.http_request_uri = "/"
2629
+ o.input = Shapes::ShapeRef.new(shape: GetServiceLastAccessedDetailsWithEntitiesRequest)
2630
+ o.output = Shapes::ShapeRef.new(shape: GetServiceLastAccessedDetailsWithEntitiesResponse)
2631
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
2632
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
2633
+ end)
2634
+
2490
2635
  api.add_operation(:get_service_linked_role_deletion_status, Seahorse::Model::Operation.new.tap do |o|
2491
2636
  o.name = "GetServiceLinkedRoleDeletionStatus"
2492
2637
  o.http_method = "POST"
@@ -2748,6 +2893,16 @@ module Aws::IAM
2748
2893
  )
2749
2894
  end)
2750
2895
 
2896
+ api.add_operation(:list_policies_granting_service_access, Seahorse::Model::Operation.new.tap do |o|
2897
+ o.name = "ListPoliciesGrantingServiceAccess"
2898
+ o.http_method = "POST"
2899
+ o.http_request_uri = "/"
2900
+ o.input = Shapes::ShapeRef.new(shape: ListPoliciesGrantingServiceAccessRequest)
2901
+ o.output = Shapes::ShapeRef.new(shape: ListPoliciesGrantingServiceAccessResponse)
2902
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
2903
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
2904
+ end)
2905
+
2751
2906
  api.add_operation(:list_policy_versions, Seahorse::Model::Operation.new.tap do |o|
2752
2907
  o.name = "ListPolicyVersions"
2753
2908
  o.http_method = "POST"
@@ -77,18 +77,18 @@ module Aws::IAM
77
77
  # websites that capture a user's last sign-in time, see the [Credential
78
78
  # Reports][2] topic in the *Using IAM* guide. If a password is used more
79
79
  # than once in a five-minute span, only the first use is returned in
80
- # this field. If the field is null (no value) then it indicates that
80
+ # this field. If the field is null (no value), then it indicates that
81
81
  # they never signed in with a password. This can be because:
82
82
  #
83
83
  # * The user never had a password.
84
84
  #
85
85
  # * A password exists but has not been used since IAM started tracking
86
- # this information on October 20th, 2014.
86
+ # this information on October 20, 2014.
87
87
  #
88
- # A null does not mean that the user *never* had a password. Also, if
89
- # the user does not currently have a password, but had one in the past,
90
- # then this field contains the date and time the most recent password
91
- # was used.
88
+ # A null valuedoes not mean that the user *never* had a password. Also,
89
+ # if the user does not currently have a password, but had one in the
90
+ # past, then this field contains the date and time the most recent
91
+ # password was used.
92
92
  #
93
93
  # This value is returned only in the GetUser and ListUsers operations.
94
94
  #
@@ -101,6 +101,18 @@ module Aws::IAM
101
101
  data[:password_last_used]
102
102
  end
103
103
 
104
+ # The ARN of the policy used to set the permissions boundary for the
105
+ # user.
106
+ #
107
+ # For more information about permissions boundaries, see [Permissions
108
+ # Boundaries for IAM Identities
109
+ # ](IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM
110
+ # User Guide*.
111
+ # @return [Types::AttachedPermissionsBoundary]
112
+ def permissions_boundary
113
+ data[:permissions_boundary]
114
+ end
115
+
104
116
  # A list of tags that are associated with the specified user. For more
105
117
  # information about tagging, see [Tagging IAM Identities][1] in the *IAM
106
118
  # User Guide*.
@@ -113,20 +125,6 @@ module Aws::IAM
113
125
  data[:tags]
114
126
  end
115
127
 
116
- # The ARN of the policy used to set the permissions boundary for the
117
- # user.
118
- #
119
- # For more information about permissions boundaries, see [Permissions
120
- # Boundaries for IAM Identities ][1] in the *IAM User Guide*.
121
- #
122
- #
123
- #
124
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
125
- # @return [Types::AttachedPermissionsBoundary]
126
- def permissions_boundary
127
- data[:permissions_boundary]
128
- end
129
-
130
128
  # @!endgroup
131
129
 
132
130
  # @return [Client]
@@ -268,7 +266,7 @@ module Aws::IAM
268
266
  # @option options [String] :user_name
269
267
  # The name of the user.
270
268
  #
271
- # This parameter allows (per its [regex pattern][1]) a string of
269
+ # This parameter allows (through its [regex pattern][1]) a string of
272
270
  # characters consisting of upper and lowercase alphanumeric characters
273
271
  # with no spaces. You can also include any of the following characters:
274
272
  # \_+=,.@-
@@ -305,7 +303,7 @@ module Aws::IAM
305
303
  # @option options [String] :user_name
306
304
  # The name of the user whose MFA devices you want to list.
307
305
  #
308
- # This parameter allows (per its [regex pattern][1]) a string of
306
+ # This parameter allows (through its [regex pattern][1]) a string of
309
307
  # characters consisting of upper and lowercase alphanumeric characters
310
308
  # with no spaces. You can also include any of the following characters:
311
309
  # \_+=,.@-
@@ -343,7 +341,7 @@ module Aws::IAM
343
341
  # The name of the IAM user whose signing certificates you want to
344
342
  # examine.
345
343
  #
346
- # This parameter allows (per its [regex pattern][1]) a string of
344
+ # This parameter allows (through its [regex pattern][1]) a string of
347
345
  # characters consisting of upper and lowercase alphanumeric characters
348
346
  # with no spaces. You can also include any of the following characters:
349
347
  # \_+=,.@-