'2.0', 'metadata' => ['apiVersion' => '2017-09-30', 'endpointPrefix' => 'kinesisvideo', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Kinesis Video', 'serviceFullName' => 'Amazon Kinesis Video Streams', 'serviceId' => 'Kinesis Video', 'signatureVersion' => 'v4', 'uid' => 'kinesisvideo-2017-09-30'], 'operations' => ['CreateStream' => ['name' => 'CreateStream', 'http' => ['method' => 'POST', 'requestUri' => '/createStream'], 'input' => ['shape' => 'CreateStreamInput'], 'output' => ['shape' => 'CreateStreamOutput'], 'errors' => [['shape' => 'AccountStreamLimitExceededException'], ['shape' => 'DeviceStreamLimitExceededException'], ['shape' => 'ResourceInUseException'], ['shape' => 'InvalidDeviceException'], ['shape' => 'InvalidArgumentException'], ['shape' => 'ClientLimitExceededException']]], 'DeleteStream' => ['name' => 'DeleteStream', 'http' => ['method' => 'POST', 'requestUri' => '/deleteStream'], 'input' => ['shape' => 'DeleteStreamInput'], 'output' => ['shape' => 'DeleteStreamOutput'], 'errors' => [['shape' => 'ClientLimitExceededException'], ['shape' => 'InvalidArgumentException'], ['shape' => 'ResourceNotFoundException'], ['shape' => 'NotAuthorizedException']]], 'DescribeStream' => ['name' => 'DescribeStream', 'http' => ['method' => 'POST', 'requestUri' => '/describeStream'], 'input' => ['shape' => 'DescribeStreamInput'], 'output' => ['shape' => 'DescribeStreamOutput'], 'errors' => [['shape' => 'InvalidArgumentException'], ['shape' => 'ResourceNotFoundException'], ['shape' => 'ClientLimitExceededException'], ['shape' => 'NotAuthorizedException']]], 'GetDataEndpoint' => ['name' => 'GetDataEndpoint', 'http' => ['method' => 'POST', 'requestUri' => '/getDataEndpoint'], 'input' => ['shape' => 'GetDataEndpointInput'], 'output' => ['shape' => 'GetDataEndpointOutput'], 'errors' => [['shape' => 'InvalidArgumentException'], ['shape' => 'ResourceNotFoundException'], ['shape' => 'ClientLimitExceededException'], ['shape' => 'NotAuthorizedException']]], 'ListStreams' => ['name' => 'ListStreams', 'http' => ['method' => 'POST', 'requestUri' => '/listStreams'], 'input' => ['shape' => 'ListStreamsInput'], 'output' => ['shape' => 'ListStreamsOutput'], 'errors' => [['shape' => 'ClientLimitExceededException'], ['shape' => 'InvalidArgumentException']]], 'ListTagsForStream' => ['name' => 'ListTagsForStream', 'http' => ['method' => 'POST', 'requestUri' => '/listTagsForStream'], 'input' => ['shape' => 'ListTagsForStreamInput'], 'output' => ['shape' => 'ListTagsForStreamOutput'], 'errors' => [['shape' => 'ClientLimitExceededException'], ['shape' => 'InvalidArgumentException'], ['shape' => 'ResourceNotFoundException'], ['shape' => 'NotAuthorizedException'], ['shape' => 'InvalidResourceFormatException']]], 'TagStream' => ['name' => 'TagStream', 'http' => ['method' => 'POST', 'requestUri' => '/tagStream'], 'input' => ['shape' => 'TagStreamInput'], 'output' => ['shape' => 'TagStreamOutput'], 'errors' => [['shape' => 'ClientLimitExceededException'], ['shape' => 'InvalidArgumentException'], ['shape' => 'ResourceNotFoundException'], ['shape' => 'NotAuthorizedException'], ['shape' => 'InvalidResourceFormatException'], ['shape' => 'TagsPerResourceExceededLimitException']]], 'UntagStream' => ['name' => 'UntagStream', 'http' => ['method' => 'POST', 'requestUri' => '/untagStream'], 'input' => ['shape' => 'UntagStreamInput'], 'output' => ['shape' => 'UntagStreamOutput'], 'errors' => [['shape' => 'ClientLimitExceededException'], ['shape' => 'InvalidArgumentException'], ['shape' => 'ResourceNotFoundException'], ['shape' => 'NotAuthorizedException'], ['shape' => 'InvalidResourceFormatException']]], 'UpdateDataRetention' => ['name' => 'UpdateDataRetention', 'http' => ['method' => 'POST', 'requestUri' => '/updateDataRetention'], 'input' => ['shape' => 'UpdateDataRetentionInput'], 'output' => ['shape' => 'UpdateDataRetentionOutput'], 'errors' => [['shape' => 'ClientLimitExceededException'], ['shape' => 'InvalidArgumentException'], ['shape' => 'ResourceNotFoundException'], ['shape' => 'ResourceInUseException'], ['shape' => 'NotAuthorizedException'], ['shape' => 'VersionMismatchException']]], 'UpdateStream' => ['name' => 'UpdateStream', 'http' => ['method' => 'POST', 'requestUri' => '/updateStream'], 'input' => ['shape' => 'UpdateStreamInput'], 'output' => ['shape' => 'UpdateStreamOutput'], 'errors' => [['shape' => 'ClientLimitExceededException'], ['shape' => 'InvalidArgumentException'], ['shape' => 'ResourceNotFoundException'], ['shape' => 'ResourceInUseException'], ['shape' => 'NotAuthorizedException'], ['shape' => 'VersionMismatchException']]]], 'shapes' => ['APIName' => ['type' => 'string', 'enum' => ['PUT_MEDIA', 'GET_MEDIA', 'LIST_FRAGMENTS', 'GET_MEDIA_FOR_FRAGMENT_LIST', 'GET_HLS_STREAMING_SESSION_URL']], 'AccountStreamLimitExceededException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'ClientLimitExceededException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'ComparisonOperator' => ['type' => 'string', 'enum' => ['BEGINS_WITH']], 'CreateStreamInput' => ['type' => 'structure', 'required' => ['StreamName'], 'members' => ['DeviceName' => ['shape' => 'DeviceName'], 'StreamName' => ['shape' => 'StreamName'], 'MediaType' => ['shape' => 'MediaType'], 'KmsKeyId' => ['shape' => 'KmsKeyId'], 'DataRetentionInHours' => ['shape' => 'DataRetentionInHours']]], 'CreateStreamOutput' => ['type' => 'structure', 'members' => ['StreamARN' => ['shape' => 'ResourceARN']]], 'DataEndpoint' => ['type' => 'string'], 'DataRetentionChangeInHours' => ['type' => 'integer', 'min' => 1], 'DataRetentionInHours' => ['type' => 'integer', 'min' => 0], 'DeleteStreamInput' => ['type' => 'structure', 'required' => ['StreamARN'], 'members' => ['StreamARN' => ['shape' => 'ResourceARN'], 'CurrentVersion' => ['shape' => 'Version']]], 'DeleteStreamOutput' => ['type' => 'structure', 'members' => []], 'DescribeStreamInput' => ['type' => 'structure', 'members' => ['StreamName' => ['shape' => 'StreamName'], 'StreamARN' => ['shape' => 'ResourceARN']]], 'DescribeStreamOutput' => ['type' => 'structure', 'members' => ['StreamInfo' => ['shape' => 'StreamInfo']]], 'DeviceName' => ['type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+'], 'DeviceStreamLimitExceededException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'ErrorMessage' => ['type' => 'string'], 'GetDataEndpointInput' => ['type' => 'structure', 'required' => ['APIName'], 'members' => ['StreamName' => ['shape' => 'StreamName'], 'StreamARN' => ['shape' => 'ResourceARN'], 'APIName' => ['shape' => 'APIName']]], 'GetDataEndpointOutput' => ['type' => 'structure', 'members' => ['DataEndpoint' => ['shape' => 'DataEndpoint']]], 'InvalidArgumentException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'InvalidDeviceException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'InvalidResourceFormatException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'KmsKeyId' => ['type' => 'string', 'max' => 2048, 'min' => 1], 'ListStreamsInput' => ['type' => 'structure', 'members' => ['MaxResults' => ['shape' => 'ListStreamsInputLimit'], 'NextToken' => ['shape' => 'NextToken'], 'StreamNameCondition' => ['shape' => 'StreamNameCondition']]], 'ListStreamsInputLimit' => ['type' => 'integer', 'max' => 10000, 'min' => 1], 'ListStreamsOutput' => ['type' => 'structure', 'members' => ['StreamInfoList' => ['shape' => 'StreamInfoList'], 'NextToken' => ['shape' => 'NextToken']]], 'ListTagsForStreamInput' => ['type' => 'structure', 'members' => ['NextToken' => ['shape' => 'NextToken'], 'StreamARN' => ['shape' => 'ResourceARN'], 'StreamName' => ['shape' => 'StreamName']]], 'ListTagsForStreamOutput' => ['type' => 'structure', 'members' => ['NextToken' => ['shape' => 'NextToken'], 'Tags' => ['shape' => 'ResourceTags']]], 'MediaType' => ['type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+'], 'NextToken' => ['type' => 'string', 'max' => 512, 'min' => 0], 'NotAuthorizedException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 401], 'exception' => \true], 'ResourceARN' => ['type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => 'arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+'], 'ResourceInUseException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'ResourceNotFoundException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 404], 'exception' => \true], 'ResourceTags' => ['type' => 'map', 'key' => ['shape' => 'TagKey'], 'value' => ['shape' => 'TagValue'], 'max' => 50, 'min' => 1], 'Status' => ['type' => 'string', 'enum' => ['CREATING', 'ACTIVE', 'UPDATING', 'DELETING']], 'StreamInfo' => ['type' => 'structure', 'members' => ['DeviceName' => ['shape' => 'DeviceName'], 'StreamName' => ['shape' => 'StreamName'], 'StreamARN' => ['shape' => 'ResourceARN'], 'MediaType' => ['shape' => 'MediaType'], 'KmsKeyId' => ['shape' => 'KmsKeyId'], 'Version' => ['shape' => 'Version'], 'Status' => ['shape' => 'Status'], 'CreationTime' => ['shape' => 'Timestamp'], 'DataRetentionInHours' => ['shape' => 'DataRetentionInHours']]], 'StreamInfoList' => ['type' => 'list', 'member' => ['shape' => 'StreamInfo']], 'StreamName' => ['type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+'], 'StreamNameCondition' => ['type' => 'structure', 'members' => ['ComparisonOperator' => ['shape' => 'ComparisonOperator'], 'ComparisonValue' => ['shape' => 'StreamName']]], 'TagKey' => ['type' => 'string', 'max' => 128, 'min' => 1], 'TagKeyList' => ['type' => 'list', 'member' => ['shape' => 'TagKey'], 'max' => 50, 'min' => 1], 'TagStreamInput' => ['type' => 'structure', 'required' => ['Tags'], 'members' => ['StreamARN' => ['shape' => 'ResourceARN'], 'StreamName' => ['shape' => 'StreamName'], 'Tags' => ['shape' => 'ResourceTags']]], 'TagStreamOutput' => ['type' => 'structure', 'members' => []], 'TagValue' => ['type' => 'string', 'max' => 256, 'min' => 0], 'TagsPerResourceExceededLimitException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true], 'Timestamp' => ['type' => 'timestamp'], 'UntagStreamInput' => ['type' => 'structure', 'required' => ['TagKeyList'], 'members' => ['StreamARN' => ['shape' => 'ResourceARN'], 'StreamName' => ['shape' => 'StreamName'], 'TagKeyList' => ['shape' => 'TagKeyList']]], 'UntagStreamOutput' => ['type' => 'structure', 'members' => []], 'UpdateDataRetentionInput' => ['type' => 'structure', 'required' => ['CurrentVersion', 'Operation', 'DataRetentionChangeInHours'], 'members' => ['StreamName' => ['shape' => 'StreamName'], 'StreamARN' => ['shape' => 'ResourceARN'], 'CurrentVersion' => ['shape' => 'Version'], 'Operation' => ['shape' => 'UpdateDataRetentionOperation'], 'DataRetentionChangeInHours' => ['shape' => 'DataRetentionChangeInHours']]], 'UpdateDataRetentionOperation' => ['type' => 'string', 'enum' => ['INCREASE_DATA_RETENTION', 'DECREASE_DATA_RETENTION']], 'UpdateDataRetentionOutput' => ['type' => 'structure', 'members' => []], 'UpdateStreamInput' => ['type' => 'structure', 'required' => ['CurrentVersion'], 'members' => ['StreamName' => ['shape' => 'StreamName'], 'StreamARN' => ['shape' => 'ResourceARN'], 'CurrentVersion' => ['shape' => 'Version'], 'DeviceName' => ['shape' => 'DeviceName'], 'MediaType' => ['shape' => 'MediaType']]], 'UpdateStreamOutput' => ['type' => 'structure', 'members' => []], 'Version' => ['type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[a-zA-Z0-9]+'], 'VersionMismatchException' => ['type' => 'structure', 'members' => ['Message' => ['shape' => 'ErrorMessage']], 'error' => ['httpStatusCode' => 400], 'exception' => \true]]];