com.amazonaws.services.ivsrealtime.AmazonIVSRealTime Maven / Gradle / Ivy
Show all versions of aws-java-sdk-ivsrealtime Show documentation
/*
* Copyright 2019-2024 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) real-time 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:
*
*
* -
*
* A stage is a virtual space where participants can exchange video in real time.
*
*
* -
*
* A participant token is a token that authenticates a participant when they join a stage.
*
*
* -
*
* A participant object represents participants (people) in the stage and contains information about them. When a
* token is created, it includes a participant ID; when a participant uses that token to join a stage, the participant
* is associated with that participant ID. There is a 1:1 mapping between participant tokens and participants.
*
*
* -
*
* Server-side composition: The composition process composites participants of a stage into a single video and
* forwards it to a set of outputs (e.g., IVS channels). Composition endpoints support this process.
*
*
* -
*
* Server-side composition: A composition controls the look of the outputs, including how participants are
* positioned in the video.
*
*
*
*
* Resources
*
*
* The following resources contain information about your IVS live stream (see Getting Started with Amazon IVS
* Real-Time Streaming):
*
*
* -
*
* Stage — A stage is a virtual space where participants can exchange video in real time.
*
*
*
*
* 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 real-time 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
*
*
* -
*
* CreateParticipantToken — Creates an additional token for a specified stage. This can be done after stage
* creation or when tokens expire.
*
*
* -
*
* CreateStage — Creates a new stage (and optionally participant tokens).
*
*
* -
*
* DeleteStage — Shuts down and deletes the specified stage (disconnecting all participants).
*
*
* -
*
* DisconnectParticipant — Disconnects a specified participant and revokes the participant permanently from a
* specified stage.
*
*
* -
*
* GetParticipant — Gets information about the specified participant token.
*
*
* -
*
* GetStage — Gets information for the specified stage.
*
*
* -
*
* GetStageSession — Gets information for the specified stage session.
*
*
* -
*
* ListParticipantEvents — Lists events for a specified participant that occurred during a specified stage
* session.
*
*
* -
*
* ListParticipants — Lists all participants in a specified stage session.
*
*
* -
*
* ListStages — Gets summary information about all stages in your account, in the AWS region where the API
* request is processed.
*
*
* -
*
* ListStageSessions — Gets all sessions for a specified stage.
*
*
* -
*
* UpdateStage — Updates a stage’s configuration.
*
*
*
*
* Composition Endpoints
*
*
* -
*
* GetComposition — Gets information about the specified Composition resource.
*
*
* -
*
* ListCompositions — Gets summary information about all Compositions in your account, in the AWS region where
* the API request is processed.
*
*
* -
*
* StartComposition — Starts a Composition from a stage based on the configuration provided in the request.
*
*
* -
*
* StopComposition — Stops and deletes a Composition resource. Any broadcast from the Composition resource is
* stopped.
*
*
*
*
* EncoderConfiguration Endpoints
*
*
* -
*
* CreateEncoderConfiguration — Creates an EncoderConfiguration object.
*
*
* -
*
* DeleteEncoderConfiguration — Deletes an EncoderConfiguration resource. Ensures that no Compositions are using
* this template; otherwise, returns an error.
*
*
* -
*
* GetEncoderConfiguration — Gets information about the specified EncoderConfiguration resource.
*
*
* -
*
* ListEncoderConfigurations — Gets summary information about all EncoderConfigurations in your account, in the
* AWS region where the API request is processed.
*
*
*
*
* StorageConfiguration Endpoints
*
*
* -
*
* CreateStorageConfiguration — Creates a new storage configuration, used to enable recording to Amazon S3.
*
*
* -
*
* DeleteStorageConfiguration — Deletes the storage configuration for the specified ARN.
*
*
* -
*
* GetStorageConfiguration — Gets the storage configuration for the specified ARN.
*
*
* -
*
* ListStorageConfigurations — Gets summary information about all storage configurations in your account, in the
* AWS region where the API request is processed.
*
*
*
*
* Tags Endpoints
*
*
* -
*
* ListTagsForResource — Gets information about AWS tags for the specified ARN.
*
*
* -
*
* TagResource — Adds or updates tags for the AWS resource with the specified ARN.
*
*
* -
*
* UntagResource — Removes tags from the resource with the specified ARN.
*
*
*
*/
@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 EncoderConfiguration object.
*
*
* @param createEncoderConfigurationRequest
* @return Result of the CreateEncoderConfiguration operation returned by the service.
* @throws ResourceNotFoundException
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @throws PendingVerificationException
* @sample AmazonIVSRealTime.CreateEncoderConfiguration
* @see AWS API Documentation
*/
CreateEncoderConfigurationResult createEncoderConfiguration(CreateEncoderConfigurationRequest createEncoderConfigurationRequest);
/**
*
* 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);
/**
*
* Creates a new storage configuration, used to enable recording to Amazon S3. When a StorageConfiguration is
* created, IVS will modify the S3 bucketPolicy of the provided bucket. This will ensure that IVS has sufficient
* permissions to write content to the provided bucket.
*
*
* @param createStorageConfigurationRequest
* @return Result of the CreateStorageConfiguration operation returned by the service.
* @throws ResourceNotFoundException
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @throws PendingVerificationException
* @sample AmazonIVSRealTime.CreateStorageConfiguration
* @see AWS API Documentation
*/
CreateStorageConfigurationResult createStorageConfiguration(CreateStorageConfigurationRequest createStorageConfigurationRequest);
/**
*
* Deletes an EncoderConfiguration resource. Ensures that no Compositions are using this template; otherwise,
* returns an error.
*
*
* @param deleteEncoderConfigurationRequest
* @return Result of the DeleteEncoderConfiguration operation returned by the service.
* @throws ResourceNotFoundException
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @sample AmazonIVSRealTime.DeleteEncoderConfiguration
* @see AWS API Documentation
*/
DeleteEncoderConfigurationResult deleteEncoderConfiguration(DeleteEncoderConfigurationRequest deleteEncoderConfigurationRequest);
/**
*
* 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);
/**
*
* Deletes the storage configuration for the specified ARN.
*
*
* If you try to delete a storage configuration that is used by a Composition, you will get an error (409
* ConflictException). To avoid this, for all Compositions that reference the storage configuration, first use
* StopComposition and wait for it to complete, then use DeleteStorageConfiguration.
*
*
* @param deleteStorageConfigurationRequest
* @return Result of the DeleteStorageConfiguration operation returned by the service.
* @throws ResourceNotFoundException
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @sample AmazonIVSRealTime.DeleteStorageConfiguration
* @see AWS API Documentation
*/
DeleteStorageConfigurationResult deleteStorageConfiguration(DeleteStorageConfigurationRequest deleteStorageConfigurationRequest);
/**
*
* 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);
/**
*
* Get information about the specified Composition resource.
*
*
* @param getCompositionRequest
* @return Result of the GetComposition operation returned by the service.
* @throws ResourceNotFoundException
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @sample AmazonIVSRealTime.GetComposition
* @see AWS
* API Documentation
*/
GetCompositionResult getComposition(GetCompositionRequest getCompositionRequest);
/**
*
* Gets information about the specified EncoderConfiguration resource.
*
*
* @param getEncoderConfigurationRequest
* @return Result of the GetEncoderConfiguration operation returned by the service.
* @throws ResourceNotFoundException
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @sample AmazonIVSRealTime.GetEncoderConfiguration
* @see AWS API Documentation
*/
GetEncoderConfigurationResult getEncoderConfiguration(GetEncoderConfigurationRequest getEncoderConfigurationRequest);
/**
*
* 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);
/**
*
* Gets the storage configuration for the specified ARN.
*
*
* @param getStorageConfigurationRequest
* @return Result of the GetStorageConfiguration operation returned by the service.
* @throws ResourceNotFoundException
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @sample AmazonIVSRealTime.GetStorageConfiguration
* @see AWS API Documentation
*/
GetStorageConfigurationResult getStorageConfiguration(GetStorageConfigurationRequest getStorageConfigurationRequest);
/**
*
* Gets summary information about all Compositions in your account, in the AWS region where the API request is
* processed.
*
*
* @param listCompositionsRequest
* @return Result of the ListCompositions operation returned by the service.
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @sample AmazonIVSRealTime.ListCompositions
* @see AWS
* API Documentation
*/
ListCompositionsResult listCompositions(ListCompositionsRequest listCompositionsRequest);
/**
*
* Gets summary information about all EncoderConfigurations in your account, in the AWS region where the API request
* is processed.
*
*
* @param listEncoderConfigurationsRequest
* @return Result of the ListEncoderConfigurations operation returned by the service.
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @sample AmazonIVSRealTime.ListEncoderConfigurations
* @see AWS API Documentation
*/
ListEncoderConfigurationsResult listEncoderConfigurations(ListEncoderConfigurationsRequest listEncoderConfigurationsRequest);
/**
*
* 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 summary information about all storage configurations in your account, in the AWS region where the API
* request is processed.
*
*
* @param listStorageConfigurationsRequest
* @return Result of the ListStorageConfigurations operation returned by the service.
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @sample AmazonIVSRealTime.ListStorageConfigurations
* @see AWS API Documentation
*/
ListStorageConfigurationsResult listStorageConfigurations(ListStorageConfigurationsRequest listStorageConfigurationsRequest);
/**
*
* 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);
/**
*
* Starts a Composition from a stage based on the configuration provided in the request.
*
*
* A Composition is an ephemeral resource that exists after this endpoint returns successfully. Composition stops
* and the resource is deleted:
*
*
* -
*
* When StopComposition is called.
*
*
* -
*
* After a 1-minute timeout, when all participants are disconnected from the stage.
*
*
* -
*
* After a 1-minute timeout, if there are no participants in the stage when StartComposition is called.
*
*
* -
*
* When broadcasting to the IVS channel fails and all retries are exhausted.
*
*
* -
*
* When broadcasting is disconnected and all attempts to reconnect are exhausted.
*
*
*
*
* @param startCompositionRequest
* @return Result of the StartComposition operation returned by the service.
* @throws ResourceNotFoundException
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @throws PendingVerificationException
* @sample AmazonIVSRealTime.StartComposition
* @see AWS
* API Documentation
*/
StartCompositionResult startComposition(StartCompositionRequest startCompositionRequest);
/**
*
* Stops and deletes a Composition resource. Any broadcast from the Composition resource is stopped.
*
*
* @param stopCompositionRequest
* @return Result of the StopComposition operation returned by the service.
* @throws ResourceNotFoundException
* @throws ValidationException
* @throws AccessDeniedException
* @throws InternalServerException
* @throws ServiceQuotaExceededException
* @throws ConflictException
* @sample AmazonIVSRealTime.StopComposition
* @see AWS
* API Documentation
*/
StopCompositionResult stopComposition(StopCompositionRequest stopCompositionRequest);
/**
*
* 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 ConflictException
* @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);
}