'2.0', 'metadata' => [ 'apiVersion' => '2018-10-26', 'endpointPrefix' => 'api.detective', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon Detective', 'serviceId' => 'Detective', 'signatureVersion' => 'v4', 'signingName' => 'detective', 'uid' => 'detective-2018-10-26', ], 'operations' => [ 'AcceptInvitation' => [ 'name' => 'AcceptInvitation', 'http' => [ 'method' => 'PUT', 'requestUri' => '/invitation', ], 'input' => [ 'shape' => 'AcceptInvitationRequest', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'CreateGraph' => [ 'name' => 'CreateGraph', 'http' => [ 'method' => 'POST', 'requestUri' => '/graph', ], 'output' => [ 'shape' => 'CreateGraphResponse', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ServiceQuotaExceededException', ], ], ], 'CreateMembers' => [ 'name' => 'CreateMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/graph/members', ], 'input' => [ 'shape' => 'CreateMembersRequest', ], 'output' => [ 'shape' => 'CreateMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'ServiceQuotaExceededException', ], ], ], 'DeleteGraph' => [ 'name' => 'DeleteGraph', 'http' => [ 'method' => 'POST', 'requestUri' => '/graph/removal', ], 'input' => [ 'shape' => 'DeleteGraphRequest', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DeleteMembers' => [ 'name' => 'DeleteMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/graph/members/removal', ], 'input' => [ 'shape' => 'DeleteMembersRequest', ], 'output' => [ 'shape' => 'DeleteMembersResponse', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DisassociateMembership' => [ 'name' => 'DisassociateMembership', 'http' => [ 'method' => 'POST', 'requestUri' => '/membership/removal', ], 'input' => [ 'shape' => 'DisassociateMembershipRequest', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'GetMembers' => [ 'name' => 'GetMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/graph/members/get', ], 'input' => [ 'shape' => 'GetMembersRequest', ], 'output' => [ 'shape' => 'GetMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListGraphs' => [ 'name' => 'ListGraphs', 'http' => [ 'method' => 'POST', 'requestUri' => '/graphs/list', ], 'input' => [ 'shape' => 'ListGraphsRequest', ], 'output' => [ 'shape' => 'ListGraphsResponse', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListInvitations' => [ 'name' => 'ListInvitations', 'http' => [ 'method' => 'POST', 'requestUri' => '/invitations/list', ], 'input' => [ 'shape' => 'ListInvitationsRequest', ], 'output' => [ 'shape' => 'ListInvitationsResponse', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListMembers' => [ 'name' => 'ListMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/graph/members/list', ], 'input' => [ 'shape' => 'ListMembersRequest', ], 'output' => [ 'shape' => 'ListMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'RejectInvitation' => [ 'name' => 'RejectInvitation', 'http' => [ 'method' => 'POST', 'requestUri' => '/invitation/removal', ], 'input' => [ 'shape' => 'RejectInvitationRequest', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'StartMonitoringMember' => [ 'name' => 'StartMonitoringMember', 'http' => [ 'method' => 'POST', 'requestUri' => '/graph/member/monitoringstate', ], 'input' => [ 'shape' => 'StartMonitoringMemberRequest', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceQuotaExceededException', ], [ 'shape' => 'ValidationException', ], ], ], ], 'shapes' => [ 'AcceptInvitationRequest' => [ 'type' => 'structure', 'required' => [ 'GraphArn', ], 'members' => [ 'GraphArn' => [ 'shape' => 'GraphArn', ], ], ], 'Account' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'EmailAddress', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'EmailAddress' => [ 'shape' => 'EmailAddress', ], ], ], 'AccountId' => [ 'type' => 'string', 'max' => 12, 'min' => 12, 'pattern' => '^[0-9]+$', ], 'AccountIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountId', ], 'max' => 50, 'min' => 1, ], 'AccountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Account', ], 'max' => 50, 'min' => 1, ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CreateGraphResponse' => [ 'type' => 'structure', 'members' => [ 'GraphArn' => [ 'shape' => 'GraphArn', ], ], ], 'CreateMembersRequest' => [ 'type' => 'structure', 'required' => [ 'GraphArn', 'Accounts', ], 'members' => [ 'GraphArn' => [ 'shape' => 'GraphArn', ], 'Message' => [ 'shape' => 'EmailMessage', ], 'Accounts' => [ 'shape' => 'AccountList', ], ], ], 'CreateMembersResponse' => [ 'type' => 'structure', 'members' => [ 'Members' => [ 'shape' => 'MemberDetailList', ], 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccountList', ], ], ], 'DeleteGraphRequest' => [ 'type' => 'structure', 'required' => [ 'GraphArn', ], 'members' => [ 'GraphArn' => [ 'shape' => 'GraphArn', ], ], ], 'DeleteMembersRequest' => [ 'type' => 'structure', 'required' => [ 'GraphArn', 'AccountIds', ], 'members' => [ 'GraphArn' => [ 'shape' => 'GraphArn', ], 'AccountIds' => [ 'shape' => 'AccountIdList', ], ], ], 'DeleteMembersResponse' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIdList', ], 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccountList', ], ], ], 'DisassociateMembershipRequest' => [ 'type' => 'structure', 'required' => [ 'GraphArn', ], 'members' => [ 'GraphArn' => [ 'shape' => 'GraphArn', ], ], ], 'EmailAddress' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^.+@.+$', ], 'EmailMessage' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'ErrorMessage' => [ 'type' => 'string', ], 'GetMembersRequest' => [ 'type' => 'structure', 'required' => [ 'GraphArn', 'AccountIds', ], 'members' => [ 'GraphArn' => [ 'shape' => 'GraphArn', ], 'AccountIds' => [ 'shape' => 'AccountIdList', ], ], ], 'GetMembersResponse' => [ 'type' => 'structure', 'members' => [ 'MemberDetails' => [ 'shape' => 'MemberDetailList', ], 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccountList', ], ], ], 'Graph' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'GraphArn', ], 'CreatedTime' => [ 'shape' => 'Timestamp', ], ], ], 'GraphArn' => [ 'type' => 'string', 'pattern' => '^arn:aws[-\\w]{0,10}?:detective:[-\\w]{2,20}?:\\d{12}?:graph:[abcdef\\d]{32}?$', ], 'GraphList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Graph', ], ], 'InternalServerException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'ListGraphsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'MemberResultsLimit', ], ], ], 'ListGraphsResponse' => [ 'type' => 'structure', 'members' => [ 'GraphList' => [ 'shape' => 'GraphList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListInvitationsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'MemberResultsLimit', ], ], ], 'ListInvitationsResponse' => [ 'type' => 'structure', 'members' => [ 'Invitations' => [ 'shape' => 'MemberDetailList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListMembersRequest' => [ 'type' => 'structure', 'required' => [ 'GraphArn', ], 'members' => [ 'GraphArn' => [ 'shape' => 'GraphArn', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'MemberResultsLimit', ], ], ], 'ListMembersResponse' => [ 'type' => 'structure', 'members' => [ 'MemberDetails' => [ 'shape' => 'MemberDetailList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'MemberDetail' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'EmailAddress' => [ 'shape' => 'EmailAddress', ], 'GraphArn' => [ 'shape' => 'GraphArn', ], 'MasterId' => [ 'shape' => 'AccountId', ], 'Status' => [ 'shape' => 'MemberStatus', ], 'DisabledReason' => [ 'shape' => 'MemberDisabledReason', ], 'InvitedTime' => [ 'shape' => 'Timestamp', ], 'UpdatedTime' => [ 'shape' => 'Timestamp', ], 'PercentOfGraphUtilization' => [ 'shape' => 'Percentage', ], 'PercentOfGraphUtilizationUpdatedTime' => [ 'shape' => 'Timestamp', ], ], ], 'MemberDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MemberDetail', ], ], 'MemberDisabledReason' => [ 'type' => 'string', 'enum' => [ 'VOLUME_TOO_HIGH', 'VOLUME_UNKNOWN', ], ], 'MemberResultsLimit' => [ 'type' => 'integer', 'box' => true, 'max' => 200, 'min' => 1, ], 'MemberStatus' => [ 'type' => 'string', 'enum' => [ 'INVITED', 'VERIFICATION_IN_PROGRESS', 'VERIFICATION_FAILED', 'ENABLED', 'ACCEPTED_BUT_DISABLED', ], ], 'PaginationToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'Percentage' => [ 'type' => 'double', ], 'RejectInvitationRequest' => [ 'type' => 'structure', 'required' => [ 'GraphArn', ], 'members' => [ 'GraphArn' => [ 'shape' => 'GraphArn', ], ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ServiceQuotaExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 402, ], 'exception' => true, ], 'StartMonitoringMemberRequest' => [ 'type' => 'structure', 'required' => [ 'GraphArn', 'AccountId', ], 'members' => [ 'GraphArn' => [ 'shape' => 'GraphArn', ], 'AccountId' => [ 'shape' => 'AccountId', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UnprocessedAccount' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'Reason' => [ 'shape' => 'UnprocessedReason', ], ], ], 'UnprocessedAccountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnprocessedAccount', ], ], 'UnprocessedReason' => [ 'type' => 'string', ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ],];