All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.ivsrealtime.AmazonIVSRealTime Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Interactive Video Service RealTime module holds the client classes that are used for communicating with Amazon Interactive Video Service RealTime Service

There is a newer version: 1.12.778
Show newest version
/*
 * 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 *

* *

* 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); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy