1{ 2 "version":"2.0", 3 "metadata":{ 4 "apiVersion":"2018-05-10", 5 "endpointPrefix":"kinesisvideo", 6 "jsonVersion":"1.1", 7 "protocol":"rest-json", 8 "serviceFullName":"Amazon Kinesis Video WebRTC Storage", 9 "serviceId":"Kinesis Video WebRTC Storage", 10 "signatureVersion":"v4", 11 "signingName":"kinesisvideo", 12 "uid":"kinesis-video-webrtc-storage-2018-05-10" 13 }, 14 "operations":{ 15 "JoinStorageSession":{ 16 "name":"JoinStorageSession", 17 "http":{ 18 "method":"POST", 19 "requestUri":"/joinStorageSession", 20 "responseCode":200 21 }, 22 "input":{"shape":"JoinStorageSessionInput"}, 23 "errors":[ 24 {"shape":"ClientLimitExceededException"}, 25 {"shape":"InvalidArgumentException"}, 26 {"shape":"AccessDeniedException"}, 27 {"shape":"ResourceNotFoundException"} 28 ], 29 "documentation":"<p> Join the ongoing one way-video and/or multi-way audio WebRTC session as a video producing device for an input channel. If there’s no existing session for the channel, a new streaming session needs to be created, and the Amazon Resource Name (ARN) of the signaling channel must be provided. </p> <p>Currently for the <code>SINGLE_MASTER</code> type, a video producing device is able to ingest both audio and video media into a stream, while viewers can only ingest audio. Both a video producing device and viewers can join the session first, and wait for other participants.</p> <p>While participants are having peer to peer conversations through webRTC, the ingested media session will be stored into the Kinesis Video Stream. Multiple viewers are able to playback real-time media.</p> <p>Customers can also use existing Kinesis Video Streams features like <code>HLS</code> or <code>DASH</code> playback, Image generation, and more with ingested WebRTC media.</p> <note> <p>Assume that only one video producing device client can be associated with a session for the channel. If more than one client joins the session of a specific channel as a video producing device, the most recent client request takes precedence. </p> </note>" 30 } 31 }, 32 "shapes":{ 33 "AccessDeniedException":{ 34 "type":"structure", 35 "members":{ 36 "message":{"shape":"String"} 37 }, 38 "documentation":"<p>You do not have required permissions to perform this operation.</p>", 39 "error":{ 40 "httpStatusCode":403, 41 "senderFault":true 42 }, 43 "exception":true 44 }, 45 "ChannelArn":{ 46 "type":"string", 47 "pattern":"^arn:(aws[a-zA-Z-]*):kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+$" 48 }, 49 "ClientLimitExceededException":{ 50 "type":"structure", 51 "members":{ 52 "message":{"shape":"String"} 53 }, 54 "documentation":"<p> Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later. </p>", 55 "error":{ 56 "httpStatusCode":400, 57 "senderFault":true 58 }, 59 "exception":true 60 }, 61 "InvalidArgumentException":{ 62 "type":"structure", 63 "members":{ 64 "message":{"shape":"String"} 65 }, 66 "documentation":"<p>The value for this input parameter is invalid.</p>", 67 "error":{ 68 "httpStatusCode":400, 69 "senderFault":true 70 }, 71 "exception":true 72 }, 73 "JoinStorageSessionInput":{ 74 "type":"structure", 75 "required":["channelArn"], 76 "members":{ 77 "channelArn":{ 78 "shape":"ChannelArn", 79 "documentation":"<p> The Amazon Resource Name (ARN) of the signaling channel. </p>" 80 } 81 } 82 }, 83 "ResourceNotFoundException":{ 84 "type":"structure", 85 "members":{ 86 "message":{"shape":"String"} 87 }, 88 "documentation":"<p>The specified resource is not found.</p>", 89 "error":{ 90 "httpStatusCode":404, 91 "senderFault":true 92 }, 93 "exception":true 94 }, 95 "String":{"type":"string"} 96 }, 97 "documentation":"<p> </p>" 98} 99