'2.0', 'metadata' => ['apiVersion' => '2017-09-30', 'endpointPrefix' => 'kinesisvideo', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Kinesis Video Archived Media', 'serviceFullName' => 'Amazon Kinesis Video Streams Archived Media', 'serviceId' => 'Kinesis Video Archived Media', 'signatureVersion' => 'v4', 'uid' => 'kinesis-video-archived-media-2017-09-30'], 'operations' => ['GetHLSStreamingSessionURL' => ['name' => 'GetHLSStreamingSessionURL', 'http' => ['method' => 'POST', 'requestUri' => '/getHLSStreamingSessionURL'], 'input' => ['shape' => 'GetHLSStreamingSessionURLInput'], 'output' => ['shape' => 'GetHLSStreamingSessionURLOutput'], 'errors' => [['shape' => 'ResourceNotFoundException'], ['shape' => 'InvalidArgumentException'], ['shape' => 'ClientLimitExceededException'], ['shape' => 'NotAuthorizedException'], ['shape' => 'UnsupportedStreamMediaTypeException'], ['shape' => 'NoDataRetentionException'], ['shape' => 'MissingCodecPrivateDataException'], ['shape' => 'InvalidCodecPrivateDataException']]], 'GetMediaForFragmentList' => ['name' => 'GetMediaForFragmentList', 'http' => ['method' => 'POST', 'requestUri' => '/getMediaForFragmentList'], 'input' => ['shape' => 'GetMediaForFragmentListInput'], 'output' => ['shape' => 'GetMediaForFragmentListOutput'], 'errors' => [['shape' => 'ResourceNotFoundException'], ['shape' => 'InvalidArgumentException'], ['shape' => 'ClientLimitExceededException'], ['shape' => 'NotAuthorizedException']]], 'ListFragments' => ['name' => 'ListFragments', 'http' => ['method' => 'POST', 'requestUri' => '/listFragments'], 'input' => ['shape' => 'ListFragmentsInput'], 'output' => ['shape' => 'ListFragmentsOutput'], 'errors' => [['shape' => 'ResourceNotFoundException'], ['shape' => 'InvalidArgumentException'], ['shape' => 'ClientLimitExceededException'], ['shape' => 'NotAuthorizedException']]]], 'shapes' => ['ClientLimitExceededException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'ContentType' => ['type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_\\.\\-]+$'], 'DiscontinuityMode' => ['type' => 'string', 'enum' => ['ALWAYS', 'NEVER']], 'ErrorMessage' => ['type' => 'string'], 'Expires' => ['type' => 'integer', 'max' => 43200, 'min' => 300], 'Fragment' => ['type' => 'structure', 'members' => ['FragmentNumber' => ['shape' => 'String'], 'FragmentSizeInBytes' => ['shape' => 'Long'], 'ProducerTimestamp' => ['shape' => 'Timestamp'], 'ServerTimestamp' => ['shape' => 'Timestamp'], 'FragmentLengthInMilliseconds' => ['shape' => 'Long']]], 'FragmentList' => ['type' => 'list', 'member' => ['shape' => 'Fragment']], 'FragmentNumberList' => ['type' => 'list', 'member' => ['shape' => 'FragmentNumberString'], 'max' => 1000, 'min' => 1], 'FragmentNumberString' => ['type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[0-9]+$'], 'FragmentSelector' => ['type' => 'structure', 'required' => ['FragmentSelectorType', 'TimestampRange'], 'members' => ['FragmentSelectorType' => ['shape' => 'FragmentSelectorType'], 'TimestampRange' => ['shape' => 'TimestampRange']]], 'FragmentSelectorType' => ['type' => 'string', 'enum' => ['PRODUCER_TIMESTAMP', 'SERVER_TIMESTAMP']], 'GetHLSStreamingSessionURLInput' => ['type' => 'structure', 'members' => ['StreamName' => ['shape' => 'StreamName'], 'StreamARN' => ['shape' => 'ResourceARN'], 'PlaybackMode' => ['shape' => 'PlaybackMode'], 'HLSFragmentSelector' => ['shape' => 'HLSFragmentSelector'], 'DiscontinuityMode' => ['shape' => 'DiscontinuityMode'], 'Expires' => ['shape' => 'Expires'], 'MaxMediaPlaylistFragmentResults' => ['shape' => 'PageLimit']]], 'GetHLSStreamingSessionURLOutput' => ['type' => 'structure', 'members' => ['HLSStreamingSessionURL' => ['shape' => 'HLSStreamingSessionURL']]], 'GetMediaForFragmentListInput' => ['type' => 'structure', 'required' => ['StreamName', 'Fragments'], 'members' => ['StreamName' => ['shape' => 'StreamName'], 'Fragments' => ['shape' => 'FragmentNumberList']]], 'GetMediaForFragmentListOutput' => ['type' => 'structure', 'members' => ['ContentType' => ['shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type'], 'Payload' => ['shape' => 'Payload']], 'payload' => 'Payload'], 'HLSFragmentSelector' => ['type' => 'structure', 'members' => ['FragmentSelectorType' => ['shape' => 'HLSFragmentSelectorType'], 'TimestampRange' => ['shape' => 'HLSTimestampRange']]], 'HLSFragmentSelectorType' => ['type' => 'string', 'enum' => ['PRODUCER_TIMESTAMP', 'SERVER_TIMESTAMP']], 'HLSStreamingSessionURL' => ['type' => 'string'], 'HLSTimestampRange' => ['type' => 'structure', 'members' => ['StartTimestamp' => ['shape' => 'Timestamp'], 'EndTimestamp' => ['shape' => 'Timestamp']]], 'InvalidArgumentException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'InvalidCodecPrivateDataException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'ListFragmentsInput' => ['type' => 'structure', 'required' => ['StreamName'], 'members' => ['StreamName' => ['shape' => 'StreamName'], 'MaxResults' => ['shape' => 'PageLimit'], 'NextToken' => ['shape' => 'String'], 'FragmentSelector' => ['shape' => 'FragmentSelector']]], 'ListFragmentsOutput' => ['type' => 'structure', 'members' => ['Fragments' => ['shape' => 'FragmentList'], 'NextToken' => ['shape' => 'String']]], 'Long' => ['type' => 'long'], 'MissingCodecPrivateDataException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'NoDataRetentionException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'NotAuthorizedException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 401], 'exception' => \true], 'PageLimit' => ['type' => 'long', 'max' => 1000, 'min' => 1], 'Payload' => ['type' => 'blob', 'streaming' => \true], 'PlaybackMode' => ['type' => 'string', 'enum' => ['LIVE', 'ON_DEMAND']], 'ResourceARN' => ['type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => 'arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+'], 'ResourceNotFoundException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 404], 'exception' => \true], 'StreamName' => ['type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+'], 'String' => ['type' => 'string', 'min' => 1], 'Timestamp' => ['type' => 'timestamp'], 'TimestampRange' => ['type' => 'structure', 'required' => ['StartTimestamp', 'EndTimestamp'], 'members' => ['StartTimestamp' => ['shape' => 'Timestamp'], 'EndTimestamp' => ['shape' => 'Timestamp']]], 'UnsupportedStreamMediaTypeException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true]]];