/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ivsrealtime; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.ivsrealtime.model.*; /** * Interface for accessing ivsrealtime. *

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.ivsrealtime.AbstractAmazonIVSRealTime} instead. *

*

*

* Introduction *

*

* The Amazon Interactive Video Service (IVS) stage API is REST compatible, using a standard HTTP API and an AWS * EventBridge event stream for responses. JSON is used for both requests and responses, including errors. *

*

* Terminology: *

* *

* Resources *

*

* The following resources contain information about your IVS live stream (see Getting Started with Amazon IVS): *

* *

* Tagging *

*

* A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, * both set by you. For example, you might set a tag as topic:nature to label a particular video category. * See Tagging AWS Resources for more * information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS stages * has no service-specific constraints beyond what is documented there. *

*

* Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different * resources to indicate that they are related. You can also use tags to manage access (see Access Tags). *

*

* The Amazon IVS stage API has these tag-related endpoints: TagResource, UntagResource, and * ListTagsForResource. The following resource supports tagging: Stage. *

*

* At most 50 tags can be applied to a resource. *

*

* Stages Endpoints *

* *

* Tags Endpoints *

* */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonIVSRealTime { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "ivsrealtime"; /** *

* Creates an additional token for a specified stage. This can be done after stage creation or when tokens expire. * Tokens always are scoped to the stage for which they are created. *

*

* Encryption keys are owned by Amazon IVS and never used directly by your application. *

* * @param createParticipantTokenRequest * @return Result of the CreateParticipantToken operation returned by the service. * @throws ResourceNotFoundException * @throws ValidationException * @throws AccessDeniedException * @throws ServiceQuotaExceededException * @throws PendingVerificationException * @sample AmazonIVSRealTime.CreateParticipantToken * @see AWS API Documentation */ CreateParticipantTokenResult createParticipantToken(CreateParticipantTokenRequest createParticipantTokenRequest); /** *

* Creates a new stage (and optionally participant tokens). *

* * @param createStageRequest * @return Result of the CreateStage operation returned by the service. * @throws ValidationException * @throws AccessDeniedException * @throws ServiceQuotaExceededException * @throws PendingVerificationException * @sample AmazonIVSRealTime.CreateStage * @see AWS API * Documentation */ CreateStageResult createStage(CreateStageRequest createStageRequest); /** *

* Shuts down and deletes the specified stage (disconnecting all participants). *

* * @param deleteStageRequest * @return Result of the DeleteStage operation returned by the service. * @throws ResourceNotFoundException * @throws ValidationException * @throws AccessDeniedException * @throws ConflictException * @throws PendingVerificationException * @sample AmazonIVSRealTime.DeleteStage * @see AWS API * Documentation */ DeleteStageResult deleteStage(DeleteStageRequest deleteStageRequest); /** *

* Disconnects a specified participant and revokes the participant permanently from a specified stage. *

* * @param disconnectParticipantRequest * @return Result of the DisconnectParticipant operation returned by the service. * @throws ResourceNotFoundException * @throws ValidationException * @throws AccessDeniedException * @throws PendingVerificationException * @sample AmazonIVSRealTime.DisconnectParticipant * @see AWS API Documentation */ DisconnectParticipantResult disconnectParticipant(DisconnectParticipantRequest disconnectParticipantRequest); /** *

* Gets information about the specified participant token. *

* * @param getParticipantRequest * @return Result of the GetParticipant operation returned by the service. * @throws ResourceNotFoundException * @throws ValidationException * @throws AccessDeniedException * @sample AmazonIVSRealTime.GetParticipant * @see AWS * API Documentation */ GetParticipantResult getParticipant(GetParticipantRequest getParticipantRequest); /** *

* Gets information for the specified stage. *

* * @param getStageRequest * @return Result of the GetStage operation returned by the service. * @throws ResourceNotFoundException * @throws ValidationException * @throws AccessDeniedException * @sample AmazonIVSRealTime.GetStage * @see AWS API * Documentation */ GetStageResult getStage(GetStageRequest getStageRequest); /** *

* Gets information for the specified stage session. *

* * @param getStageSessionRequest * @return Result of the GetStageSession operation returned by the service. * @throws ResourceNotFoundException * @throws ValidationException * @throws AccessDeniedException * @sample AmazonIVSRealTime.GetStageSession * @see AWS * API Documentation */ GetStageSessionResult getStageSession(GetStageSessionRequest getStageSessionRequest); /** *

* Lists events for a specified participant that occurred during a specified stage session. *

* * @param listParticipantEventsRequest * @return Result of the ListParticipantEvents operation returned by the service. * @throws ValidationException * @throws AccessDeniedException * @sample AmazonIVSRealTime.ListParticipantEvents * @see AWS API Documentation */ ListParticipantEventsResult listParticipantEvents(ListParticipantEventsRequest listParticipantEventsRequest); /** *

* Lists all participants in a specified stage session. *

* * @param listParticipantsRequest * @return Result of the ListParticipants operation returned by the service. * @throws ValidationException * @throws AccessDeniedException * @sample AmazonIVSRealTime.ListParticipants * @see AWS * API Documentation */ ListParticipantsResult listParticipants(ListParticipantsRequest listParticipantsRequest); /** *

* Gets all sessions for a specified stage. *

* * @param listStageSessionsRequest * @return Result of the ListStageSessions operation returned by the service. * @throws ValidationException * @throws AccessDeniedException * @sample AmazonIVSRealTime.ListStageSessions * @see AWS * API Documentation */ ListStageSessionsResult listStageSessions(ListStageSessionsRequest listStageSessionsRequest); /** *

* Gets summary information about all stages in your account, in the AWS region where the API request is processed. *

* * @param listStagesRequest * @return Result of the ListStages operation returned by the service. * @throws ValidationException * @throws AccessDeniedException * @throws ConflictException * @sample AmazonIVSRealTime.ListStages * @see AWS API * Documentation */ ListStagesResult listStages(ListStagesRequest listStagesRequest); /** *

* Gets information about AWS tags for the specified ARN. *

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws ResourceNotFoundException * @throws ValidationException * @throws InternalServerException * @sample AmazonIVSRealTime.ListTagsForResource * @see AWS API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* Adds or updates tags for the AWS resource with the specified ARN. *

* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws ResourceNotFoundException * @throws ValidationException * @throws InternalServerException * @sample AmazonIVSRealTime.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* Removes tags from the resource with the specified ARN. *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws ResourceNotFoundException * @throws ValidationException * @throws InternalServerException * @sample AmazonIVSRealTime.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** *

* Updates a stage’s configuration. *

* * @param updateStageRequest * @return Result of the UpdateStage operation returned by the service. * @throws ResourceNotFoundException * @throws ValidationException * @throws AccessDeniedException * @throws ServiceQuotaExceededException * @throws PendingVerificationException * @sample AmazonIVSRealTime.UpdateStage * @see AWS API * Documentation */ UpdateStageResult updateStage(UpdateStageRequest updateStageRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }