/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the ivs-realtime-2020-07-14.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.IVSRealTime.Model;
namespace Amazon.IVSRealTime
{
///
/// Interface for accessing IVSRealTime
///
/// 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:
///
/// -
///
/// The IVS stage API sometimes is referred to as the IVS RealTime API.
///
///
-
///
/// A participant token is an authorization token used to publish/subscribe to
/// 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.
///
///
///
/// Resources
///
///
///
/// The following resources contain information about your IVS live stream (see Getting
/// Started with Amazon IVS):
///
/// -
///
/// Stage — A stage is a virtual space where multiple participants can exchange
/// audio and 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 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
///
/// -
///
/// 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.
///
///
///
/// 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.
///
///
///
public partial interface IAmazonIVSRealTime : IAmazonService, IDisposable
{
///
/// Paginators for the service
///
IIVSRealTimePaginatorFactory Paginators { get; }
#region CreateParticipantToken
///
/// 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.
///
///
/// Container for the necessary parameters to execute the CreateParticipantToken service method.
///
/// The response from the CreateParticipantToken service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for CreateParticipantToken Operation
CreateParticipantTokenResponse CreateParticipantToken(CreateParticipantTokenRequest request);
///
/// 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.
///
///
/// Container for the necessary parameters to execute the CreateParticipantToken service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateParticipantToken service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for CreateParticipantToken Operation
Task CreateParticipantTokenAsync(CreateParticipantTokenRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateStage
///
/// Creates a new stage (and optionally participant tokens).
///
/// Container for the necessary parameters to execute the CreateStage service method.
///
/// The response from the CreateStage service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for CreateStage Operation
CreateStageResponse CreateStage(CreateStageRequest request);
///
/// Creates a new stage (and optionally participant tokens).
///
/// Container for the necessary parameters to execute the CreateStage service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateStage service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for CreateStage Operation
Task CreateStageAsync(CreateStageRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteStage
///
/// Shuts down and deletes the specified stage (disconnecting all participants).
///
/// Container for the necessary parameters to execute the DeleteStage service method.
///
/// The response from the DeleteStage service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for DeleteStage Operation
DeleteStageResponse DeleteStage(DeleteStageRequest request);
///
/// Shuts down and deletes the specified stage (disconnecting all participants).
///
/// Container for the necessary parameters to execute the DeleteStage service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteStage service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for DeleteStage Operation
Task DeleteStageAsync(DeleteStageRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DisconnectParticipant
///
/// Disconnects a specified participant and revokes the participant permanently from a
/// specified stage.
///
/// Container for the necessary parameters to execute the DisconnectParticipant service method.
///
/// The response from the DisconnectParticipant service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for DisconnectParticipant Operation
DisconnectParticipantResponse DisconnectParticipant(DisconnectParticipantRequest request);
///
/// Disconnects a specified participant and revokes the participant permanently from a
/// specified stage.
///
/// Container for the necessary parameters to execute the DisconnectParticipant service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisconnectParticipant service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for DisconnectParticipant Operation
Task DisconnectParticipantAsync(DisconnectParticipantRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetParticipant
///
/// Gets information about the specified participant token.
///
/// Container for the necessary parameters to execute the GetParticipant service method.
///
/// The response from the GetParticipant service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for GetParticipant Operation
GetParticipantResponse GetParticipant(GetParticipantRequest request);
///
/// Gets information about the specified participant token.
///
/// Container for the necessary parameters to execute the GetParticipant service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetParticipant service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for GetParticipant Operation
Task GetParticipantAsync(GetParticipantRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetStage
///
/// Gets information for the specified stage.
///
/// Container for the necessary parameters to execute the GetStage service method.
///
/// The response from the GetStage service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for GetStage Operation
GetStageResponse GetStage(GetStageRequest request);
///
/// Gets information for the specified stage.
///
/// Container for the necessary parameters to execute the GetStage service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetStage service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for GetStage Operation
Task GetStageAsync(GetStageRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetStageSession
///
/// Gets information for the specified stage session.
///
/// Container for the necessary parameters to execute the GetStageSession service method.
///
/// The response from the GetStageSession service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for GetStageSession Operation
GetStageSessionResponse GetStageSession(GetStageSessionRequest request);
///
/// Gets information for the specified stage session.
///
/// Container for the necessary parameters to execute the GetStageSession service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetStageSession service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for GetStageSession Operation
Task GetStageSessionAsync(GetStageSessionRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListParticipantEvents
///
/// Lists events for a specified participant that occurred during a specified stage session.
///
/// Container for the necessary parameters to execute the ListParticipantEvents service method.
///
/// The response from the ListParticipantEvents service method, as returned by IVSRealTime.
///
///
///
///
///
///
/// REST API Reference for ListParticipantEvents Operation
ListParticipantEventsResponse ListParticipantEvents(ListParticipantEventsRequest request);
///
/// Lists events for a specified participant that occurred during a specified stage session.
///
/// Container for the necessary parameters to execute the ListParticipantEvents service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListParticipantEvents service method, as returned by IVSRealTime.
///
///
///
///
///
///
/// REST API Reference for ListParticipantEvents Operation
Task ListParticipantEventsAsync(ListParticipantEventsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListParticipants
///
/// Lists all participants in a specified stage session.
///
/// Container for the necessary parameters to execute the ListParticipants service method.
///
/// The response from the ListParticipants service method, as returned by IVSRealTime.
///
///
///
///
///
///
/// REST API Reference for ListParticipants Operation
ListParticipantsResponse ListParticipants(ListParticipantsRequest request);
///
/// Lists all participants in a specified stage session.
///
/// Container for the necessary parameters to execute the ListParticipants service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListParticipants service method, as returned by IVSRealTime.
///
///
///
///
///
///
/// REST API Reference for ListParticipants Operation
Task ListParticipantsAsync(ListParticipantsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListStages
///
/// Gets summary information about all stages in your account, in the AWS region where
/// the API request is processed.
///
/// Container for the necessary parameters to execute the ListStages service method.
///
/// The response from the ListStages service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for ListStages Operation
ListStagesResponse ListStages(ListStagesRequest request);
///
/// Gets summary information about all stages in your account, in the AWS region where
/// the API request is processed.
///
/// Container for the necessary parameters to execute the ListStages service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListStages service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for ListStages Operation
Task ListStagesAsync(ListStagesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListStageSessions
///
/// Gets all sessions for a specified stage.
///
/// Container for the necessary parameters to execute the ListStageSessions service method.
///
/// The response from the ListStageSessions service method, as returned by IVSRealTime.
///
///
///
///
///
///
/// REST API Reference for ListStageSessions Operation
ListStageSessionsResponse ListStageSessions(ListStageSessionsRequest request);
///
/// Gets all sessions for a specified stage.
///
/// Container for the necessary parameters to execute the ListStageSessions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListStageSessions service method, as returned by IVSRealTime.
///
///
///
///
///
///
/// REST API Reference for ListStageSessions Operation
Task ListStageSessionsAsync(ListStageSessionsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Gets information about AWS tags for the specified ARN.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// The response from the ListTagsForResource service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for ListTagsForResource Operation
ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request);
///
/// Gets information about AWS tags for the specified ARN.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Adds or updates tags for the AWS resource with the specified ARN.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// The response from the TagResource service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for TagResource Operation
TagResourceResponse TagResource(TagResourceRequest request);
///
/// Adds or updates tags for the AWS resource with the specified ARN.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes tags from the resource with the specified ARN.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// The response from the UntagResource service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for UntagResource Operation
UntagResourceResponse UntagResource(UntagResourceRequest request);
///
/// Removes tags from the resource with the specified ARN.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateStage
///
/// Updates a stage’s configuration.
///
/// Container for the necessary parameters to execute the UpdateStage service method.
///
/// The response from the UpdateStage service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for UpdateStage Operation
UpdateStageResponse UpdateStage(UpdateStageRequest request);
///
/// Updates a stage’s configuration.
///
/// Container for the necessary parameters to execute the UpdateStage service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateStage service method, as returned by IVSRealTime.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for UpdateStage Operation
Task UpdateStageAsync(UpdateStageRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}