Skip to content

Commit eeb2401

Browse files
authored
feat(kinesisvideowebrtcstorage): update models to latest (#3254)
1 parent 29296be commit eeb2401

17 files changed

+1707
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
/*
2+
* Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
package com.amazonaws.services.kinesisvideowebrtcstorage;
17+
18+
import com.amazonaws.*;
19+
import com.amazonaws.regions.*;
20+
import com.amazonaws.services.kinesisvideowebrtcstorage.model.*;
21+
22+
/**
23+
* Interface for accessing Amazon Kinesis Video WebRTC Storage
24+
* <p>
25+
* </p>
26+
**/
27+
public interface AmazonKinesisVideoWebRTCStorage {
28+
29+
/**
30+
* Overrides the default endpoint for this client
31+
* ("https://kinesisvideo.us-east-1.amazonaws.com"). Callers can use this
32+
* method to control which AWS region they want to work with.
33+
* <p>
34+
* Callers can pass in just the endpoint (ex:
35+
* "kinesisvideo.us-east-1.amazonaws.com") or a full URL, including the
36+
* protocol (ex: "https://kinesisvideo.us-east-1.amazonaws.com"). If the
37+
* protocol is not specified here, the default protocol from this client's
38+
* {@link ClientConfiguration} will be used, which by default is HTTPS.
39+
* <p>
40+
* For more information on using AWS regions with the AWS SDK for Java, and
41+
* a complete list of all available endpoints for all AWS services, see: <a
42+
* href=
43+
* "http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912"
44+
* > http://developer.amazonwebservices.com/connect/entry.jspa?externalID=
45+
* 3912</a>
46+
* <p>
47+
* <b>This method is not threadsafe. An endpoint should be configured when
48+
* the client is created and before any service requests are made. Changing
49+
* it afterwards creates inevitable race conditions for any service requests
50+
* in transit or retrying.</b>
51+
*
52+
* @param endpoint The endpoint (ex: "kinesisvideo.us-east-1.amazonaws.com")
53+
* or a full URL, including the protocol (ex:
54+
* "https://kinesisvideo.us-east-1.amazonaws.com") of the region
55+
* specific AWS endpoint this client will communicate with.
56+
* @throws IllegalArgumentException If any problems are detected with the
57+
* specified endpoint.
58+
*/
59+
public void setEndpoint(String endpoint) throws java.lang.IllegalArgumentException;
60+
61+
/**
62+
* An alternative to
63+
* {@link AmazonKinesisVideoWebRTCStorage#setEndpoint(String)}, sets the
64+
* regional endpoint for this client's service calls. Callers can use this
65+
* method to control which AWS region they want to work with.
66+
* <p>
67+
* By default, all service endpoints in all regions use the https protocol.
68+
* To use http instead, specify it in the {@link ClientConfiguration}
69+
* supplied at construction.
70+
* <p>
71+
* <b>This method is not threadsafe. A region should be configured when the
72+
* client is created and before any service requests are made. Changing it
73+
* afterwards creates inevitable race conditions for any service requests in
74+
* transit or retrying.</b>
75+
*
76+
* @param region The region this client will communicate with. See
77+
* {@link Region#getRegion(com.amazonaws.regions.Regions)} for
78+
* accessing a given region.
79+
* @throws java.lang.IllegalArgumentException If the given region is null,
80+
* or if this service isn't available in the given region. See
81+
* {@link Region#isServiceSupported(String)}
82+
* @see Region#getRegion(com.amazonaws.regions.Regions)
83+
* @see Region#createClient(Class,
84+
* com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
85+
*/
86+
public void setRegion(Region region) throws java.lang.IllegalArgumentException;
87+
88+
/**
89+
* <p>
90+
* Join the ongoing one way-video and/or multi-way audio WebRTC session as a
91+
* video producing device for an input channel. If there’s no existing
92+
* session for the channel, a new streaming session needs to be created, and
93+
* the Amazon Resource Name (ARN) of the signaling channel must be provided.
94+
* </p>
95+
* <p>
96+
* Currently for the <code>SINGLE_MASTER</code> type, a video producing
97+
* device is able to ingest both audio and video media into a stream, while
98+
* viewers can only ingest audio. Both a video producing device and viewers
99+
* can join the session first, and wait for other participants.
100+
* </p>
101+
* <p>
102+
* While participants are having peer to peer conversations through webRTC,
103+
* the ingested media session will be stored into the Kinesis Video Stream.
104+
* Multiple viewers are able to playback real-time media.
105+
* </p>
106+
* <p>
107+
* Customers can also use existing Kinesis Video Streams features like
108+
* <code>HLS</code> or <code>DASH</code> playback, Image generation, and
109+
* more with ingested WebRTC media.
110+
* </p>
111+
* <note>
112+
* <p>
113+
* Assume that only one video producing device client can be associated with
114+
* a session for the channel. If more than one client joins the session of a
115+
* specific channel as a video producing device, the most recent client
116+
* request takes precedence.
117+
* </p>
118+
* </note>
119+
*
120+
* @param joinStorageSessionRequest
121+
* @throws ClientLimitExceededException
122+
* @throws InvalidArgumentException
123+
* @throws AccessDeniedException
124+
* @throws ResourceNotFoundException
125+
* @throws AmazonClientException If any internal errors are encountered
126+
* inside the client while attempting to make the request or
127+
* handle the response. For example if a network connection is
128+
* not available.
129+
* @throws AmazonServiceException If an error response is returned by Amazon
130+
* Kinesis Video WebRTC Storage indicating either a problem with
131+
* the data in the request, or a server side issue.
132+
*/
133+
void joinStorageSession(JoinStorageSessionRequest joinStorageSessionRequest)
134+
throws AmazonClientException, AmazonServiceException;
135+
136+
/**
137+
* <p>
138+
* Join the ongoing one way-video and/or multi-way audio WebRTC session as a
139+
* viewer for an input channel. If there’s no existing session for the
140+
* channel, create a new streaming session and provide the Amazon Resource
141+
* Name (ARN) of the signaling channel (<code>channelArn</code>) and client
142+
* id (<code>clientId</code>).
143+
* </p>
144+
* <p>
145+
* Currently for <code>SINGLE_MASTER</code> type, a video producing device
146+
* is able to ingest both audio and video media into a stream, while viewers
147+
* can only ingest audio. Both a video producing device and viewers can join
148+
* a session first and wait for other participants. While participants are
149+
* having peer to peer conversations through webRTC, the ingested media
150+
* session will be stored into the Kinesis Video Stream. Multiple viewers
151+
* are able to playback real-time media.
152+
* </p>
153+
* <p>
154+
* Customers can also use existing Kinesis Video Streams features like
155+
* <code>HLS</code> or <code>DASH</code> playback, Image generation, and
156+
* more with ingested WebRTC media. If there’s an existing session with the
157+
* same <code>clientId</code> that's found in the join session request, the
158+
* new request takes precedence.
159+
* </p>
160+
*
161+
* @param joinStorageSessionAsViewerRequest
162+
* @throws ClientLimitExceededException
163+
* @throws InvalidArgumentException
164+
* @throws AccessDeniedException
165+
* @throws ResourceNotFoundException
166+
* @throws AmazonClientException If any internal errors are encountered
167+
* inside the client while attempting to make the request or
168+
* handle the response. For example if a network connection is
169+
* not available.
170+
* @throws AmazonServiceException If an error response is returned by Amazon
171+
* Kinesis Video WebRTC Storage indicating either a problem with
172+
* the data in the request, or a server side issue.
173+
*/
174+
void joinStorageSessionAsViewer(
175+
JoinStorageSessionAsViewerRequest joinStorageSessionAsViewerRequest)
176+
throws AmazonClientException, AmazonServiceException;
177+
178+
/**
179+
* Shuts down this client object, releasing any resources that might be held
180+
* open. This is an optional method, and callers are not expected to call
181+
* it, but can if they want to explicitly release any open resources. Once a
182+
* client has been shutdown, it should not be used to make any more
183+
* requests.
184+
*/
185+
public void shutdown();
186+
187+
/**
188+
* Returns additional metadata for a previously executed successful request,
189+
* typically used for debugging issues where a service isn't acting as
190+
* expected. This data isn't considered part of the result data returned by
191+
* an operation, so it's available through this separate, diagnostic
192+
* interface.
193+
* <p>
194+
* Response metadata is only cached for a limited period of time, so if you
195+
* need to access this extra diagnostic information for an executed request,
196+
* you should use this method to retrieve it as soon as possible after
197+
* executing a request.
198+
*
199+
* @param request The originally executed request.
200+
* @return The response metadata for the specified request, or null if none
201+
* is available.
202+
*/
203+
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
204+
}

0 commit comments

Comments
 (0)