/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace IVS
{
namespace Model
{
class BatchGetChannelRequest;
class BatchGetStreamKeyRequest;
class CreateChannelRequest;
class CreateStreamKeyRequest;
class DeleteChannelRequest;
class DeletePlaybackKeyPairRequest;
class DeleteStreamKeyRequest;
class GetChannelRequest;
class GetPlaybackKeyPairRequest;
class GetStreamRequest;
class GetStreamKeyRequest;
class ImportPlaybackKeyPairRequest;
class ListChannelsRequest;
class ListPlaybackKeyPairsRequest;
class ListStreamKeysRequest;
class ListStreamsRequest;
class ListTagsForResourceRequest;
class PutMetadataRequest;
class StopStreamRequest;
class TagResourceRequest;
class UntagResourceRequest;
class UpdateChannelRequest;
typedef Aws::Utils::Outcome BatchGetChannelOutcome;
typedef Aws::Utils::Outcome BatchGetStreamKeyOutcome;
typedef Aws::Utils::Outcome CreateChannelOutcome;
typedef Aws::Utils::Outcome CreateStreamKeyOutcome;
typedef Aws::Utils::Outcome DeleteChannelOutcome;
typedef Aws::Utils::Outcome DeletePlaybackKeyPairOutcome;
typedef Aws::Utils::Outcome DeleteStreamKeyOutcome;
typedef Aws::Utils::Outcome GetChannelOutcome;
typedef Aws::Utils::Outcome GetPlaybackKeyPairOutcome;
typedef Aws::Utils::Outcome GetStreamOutcome;
typedef Aws::Utils::Outcome GetStreamKeyOutcome;
typedef Aws::Utils::Outcome ImportPlaybackKeyPairOutcome;
typedef Aws::Utils::Outcome ListChannelsOutcome;
typedef Aws::Utils::Outcome ListPlaybackKeyPairsOutcome;
typedef Aws::Utils::Outcome ListStreamKeysOutcome;
typedef Aws::Utils::Outcome ListStreamsOutcome;
typedef Aws::Utils::Outcome ListTagsForResourceOutcome;
typedef Aws::Utils::Outcome PutMetadataOutcome;
typedef Aws::Utils::Outcome StopStreamOutcome;
typedef Aws::Utils::Outcome TagResourceOutcome;
typedef Aws::Utils::Outcome UntagResourceOutcome;
typedef Aws::Utils::Outcome UpdateChannelOutcome;
typedef std::future BatchGetChannelOutcomeCallable;
typedef std::future BatchGetStreamKeyOutcomeCallable;
typedef std::future CreateChannelOutcomeCallable;
typedef std::future CreateStreamKeyOutcomeCallable;
typedef std::future DeleteChannelOutcomeCallable;
typedef std::future DeletePlaybackKeyPairOutcomeCallable;
typedef std::future DeleteStreamKeyOutcomeCallable;
typedef std::future GetChannelOutcomeCallable;
typedef std::future GetPlaybackKeyPairOutcomeCallable;
typedef std::future GetStreamOutcomeCallable;
typedef std::future GetStreamKeyOutcomeCallable;
typedef std::future ImportPlaybackKeyPairOutcomeCallable;
typedef std::future ListChannelsOutcomeCallable;
typedef std::future ListPlaybackKeyPairsOutcomeCallable;
typedef std::future ListStreamKeysOutcomeCallable;
typedef std::future ListStreamsOutcomeCallable;
typedef std::future ListTagsForResourceOutcomeCallable;
typedef std::future PutMetadataOutcomeCallable;
typedef std::future StopStreamOutcomeCallable;
typedef std::future TagResourceOutcomeCallable;
typedef std::future UntagResourceOutcomeCallable;
typedef std::future UpdateChannelOutcomeCallable;
} // namespace Model
class IVSClient;
typedef std::function&) > BatchGetChannelResponseReceivedHandler;
typedef std::function&) > BatchGetStreamKeyResponseReceivedHandler;
typedef std::function&) > CreateChannelResponseReceivedHandler;
typedef std::function&) > CreateStreamKeyResponseReceivedHandler;
typedef std::function&) > DeleteChannelResponseReceivedHandler;
typedef std::function&) > DeletePlaybackKeyPairResponseReceivedHandler;
typedef std::function&) > DeleteStreamKeyResponseReceivedHandler;
typedef std::function&) > GetChannelResponseReceivedHandler;
typedef std::function&) > GetPlaybackKeyPairResponseReceivedHandler;
typedef std::function&) > GetStreamResponseReceivedHandler;
typedef std::function&) > GetStreamKeyResponseReceivedHandler;
typedef std::function&) > ImportPlaybackKeyPairResponseReceivedHandler;
typedef std::function&) > ListChannelsResponseReceivedHandler;
typedef std::function&) > ListPlaybackKeyPairsResponseReceivedHandler;
typedef std::function&) > ListStreamKeysResponseReceivedHandler;
typedef std::function&) > ListStreamsResponseReceivedHandler;
typedef std::function&) > ListTagsForResourceResponseReceivedHandler;
typedef std::function&) > PutMetadataResponseReceivedHandler;
typedef std::function&) > StopStreamResponseReceivedHandler;
typedef std::function&) > TagResourceResponseReceivedHandler;
typedef std::function&) > UntagResourceResponseReceivedHandler;
typedef std::function&) > UpdateChannelResponseReceivedHandler;
/**
* Introduction
The Amazon Interactive Video Service (IVS) API
* is REST compatible, using a standard HTTP API and an AWS SNS event stream for responses. JSON is
* used for both requests and responses, including errors.
The API is an AWS
* regional service, currently in these regions: us-west-2, us-east-1, and
* eu-west-1.
All API request parameters and URLs are case
* sensitive.
For a summary of notable documentation changes in
* each release, see
* Document History.
Service Endpoints
The following are
* the Amazon IVS service endpoints (all HTTPS):
Region name: US West
* (Oregon)
Region
* name: US East (Virginia)
Region name: EU West (Dublin)
Allowed Header
* Values
* Resources
The following resources contain information about your
* IVS live stream (see Getting
* Started with Amazon IVS):
-
Channel — Stores configuration
* data related to your live stream. You first create a channel and then use the
* channel’s stream key to start your live stream. See the Channel endpoints for
* more information.
-
Stream key — An identifier assigned by
* Amazon IVS when you create a channel, which is then used to authorize streaming.
* See the StreamKey endpoints for more information. Treat the stream key
* like a secret, since it allows anyone to stream to the channel.
* -
Playback key pair — Video playback may be restricted using
* playback-authorization tokens, which use public-key encryption. A playback key
* pair is the public-private pair of keys used to sign and validate the
* playback-authorization token. See the PlaybackKeyPair endpoints for more
* information.
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.
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 API has these tag-related endpoints:
* TagResource, UntagResource, and ListTagsForResource. The
* following resources support tagging: Channels, Stream Keys, and Playback Key
* Pairs.
Channel Endpoints
-
CreateChannel
* — Creates a new channel and an associated stream key to start streaming.
* -
GetChannel — Gets the channel configuration for the
* specified channel ARN (Amazon Resource Name).
-
* BatchGetChannel — Performs GetChannel on multiple ARNs
* simultaneously.
-
ListChannels — Gets summary
* information about all channels in your account, in the AWS region where the API
* request is processed. This list can be filtered to match a specified string.
* -
UpdateChannel — Updates a channel's configuration. This
* does not affect an ongoing stream of this channel. You must stop and restart the
* stream for the changes to take effect.
-
DeleteChannel —
* Deletes the specified channel.
StreamKey Endpoints
*
-
CreateStreamKey — Creates a stream key, used to
* initiate a stream, for the specified channel ARN.
-
* GetStreamKey — Gets stream key information for the specified ARN.
* -
BatchGetStreamKey — Performs GetStreamKey on
* multiple ARNs simultaneously.
-
ListStreamKeys — Gets
* summary information about stream keys for the specified channel.
-
*
DeleteStreamKey — Deletes the stream key for the specified ARN, so it
* can no longer be used to stream.
Stream Endpoints
*
-
GetStream — Gets information about the active (live)
* stream on a specified channel.
-
ListStreams — Gets
* summary information about live streams in your account, in the AWS region where
* the API request is processed.
-
StopStream — Disconnects
* the incoming RTMPS stream for the specified channel. Can be used in conjunction
* with DeleteStreamKey to prevent further streaming to a channel.
* -
PutMetadata — Inserts metadata into an RTMPS stream for the
* specified channel. A maximum of 5 requests per second per channel is allowed,
* each with a maximum 1KB payload.
PlaybackKeyPair
* Endpoints
-
ImportPlaybackKeyPair — Imports the
* public portion of a new key pair and returns its arn and
* fingerprint. The privateKey can then be used to
* generate viewer authorization tokens, to grant viewers access to authorized
* channels.
-
GetPlaybackKeyPair — Gets a specified
* playback authorization key pair and returns the arn and
* fingerprint. The privateKey held by the caller can be
* used to generate viewer authorization tokens, to grant viewers access to
* authorized channels.
-
ListPlaybackKeyPairs — Gets
* summary information about playback key pairs.
-
* DeletePlaybackKeyPair — Deletes a specified authorization key pair. This
* invalidates future viewer tokens generated using the key pair’s
* privateKey.
AWS Tags Endpoints
* -
TagResource — Adds or updates tags for the AWS resource with the
* specified ARN.
-
UntagResource — Removes tags from the
* resource with the specified ARN.
-
ListTagsForResource —
* Gets information about AWS tags for the specified ARN.
*/
class AWS_IVS_API IVSClient : public Aws::Client::AWSJsonClient
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
IVSClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
IVSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
IVSClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~IVSClient();
/**
* Performs GetChannel on multiple ARNs simultaneously.
See
* Also:
AWS
* API Reference
*/
virtual Model::BatchGetChannelOutcome BatchGetChannel(const Model::BatchGetChannelRequest& request) const;
/**
* Performs GetChannel on multiple ARNs simultaneously.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::BatchGetChannelOutcomeCallable BatchGetChannelCallable(const Model::BatchGetChannelRequest& request) const;
/**
* Performs GetChannel on multiple ARNs simultaneously.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void BatchGetChannelAsync(const Model::BatchGetChannelRequest& request, const BatchGetChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Performs GetStreamKey on multiple ARNs simultaneously.
See
* Also:
AWS
* API Reference
*/
virtual Model::BatchGetStreamKeyOutcome BatchGetStreamKey(const Model::BatchGetStreamKeyRequest& request) const;
/**
* Performs GetStreamKey on multiple ARNs simultaneously.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::BatchGetStreamKeyOutcomeCallable BatchGetStreamKeyCallable(const Model::BatchGetStreamKeyRequest& request) const;
/**
* Performs GetStreamKey on multiple ARNs simultaneously.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void BatchGetStreamKeyAsync(const Model::BatchGetStreamKeyRequest& request, const BatchGetStreamKeyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Creates a new channel and an associated stream key to start
* streaming.
See Also:
AWS
* API Reference
*/
virtual Model::CreateChannelOutcome CreateChannel(const Model::CreateChannelRequest& request) const;
/**
* Creates a new channel and an associated stream key to start
* streaming.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateChannelOutcomeCallable CreateChannelCallable(const Model::CreateChannelRequest& request) const;
/**
* Creates a new channel and an associated stream key to start
* streaming.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateChannelAsync(const Model::CreateChannelRequest& request, const CreateChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Creates a stream key, used to initiate a stream, for the specified channel
* ARN.
Note that CreateChannel creates a stream key. If you
* subsequently use CreateStreamKey on the same channel, it will fail because a
* stream key already exists and there is a limit of 1 stream key per channel. To
* reset the stream key on a channel, use DeleteStreamKey and then
* CreateStreamKey.
See Also:
AWS
* API Reference
*/
virtual Model::CreateStreamKeyOutcome CreateStreamKey(const Model::CreateStreamKeyRequest& request) const;
/**
* Creates a stream key, used to initiate a stream, for the specified channel
* ARN.
Note that CreateChannel creates a stream key. If you
* subsequently use CreateStreamKey on the same channel, it will fail because a
* stream key already exists and there is a limit of 1 stream key per channel. To
* reset the stream key on a channel, use DeleteStreamKey and then
* CreateStreamKey.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateStreamKeyOutcomeCallable CreateStreamKeyCallable(const Model::CreateStreamKeyRequest& request) const;
/**
* Creates a stream key, used to initiate a stream, for the specified channel
* ARN.
Note that CreateChannel creates a stream key. If you
* subsequently use CreateStreamKey on the same channel, it will fail because a
* stream key already exists and there is a limit of 1 stream key per channel. To
* reset the stream key on a channel, use DeleteStreamKey and then
* CreateStreamKey.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateStreamKeyAsync(const Model::CreateStreamKeyRequest& request, const CreateStreamKeyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes the specified channel and its associated stream keys.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteChannelOutcome DeleteChannel(const Model::DeleteChannelRequest& request) const;
/**
* Deletes the specified channel and its associated stream keys.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteChannelOutcomeCallable DeleteChannelCallable(const Model::DeleteChannelRequest& request) const;
/**
* Deletes the specified channel and its associated stream keys.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteChannelAsync(const Model::DeleteChannelRequest& request, const DeleteChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes a specified authorization key pair. This invalidates future viewer
* tokens generated using the key pair’s privateKey.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeletePlaybackKeyPairOutcome DeletePlaybackKeyPair(const Model::DeletePlaybackKeyPairRequest& request) const;
/**
* Deletes a specified authorization key pair. This invalidates future viewer
* tokens generated using the key pair’s privateKey.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeletePlaybackKeyPairOutcomeCallable DeletePlaybackKeyPairCallable(const Model::DeletePlaybackKeyPairRequest& request) const;
/**
* Deletes a specified authorization key pair. This invalidates future viewer
* tokens generated using the key pair’s privateKey.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeletePlaybackKeyPairAsync(const Model::DeletePlaybackKeyPairRequest& request, const DeletePlaybackKeyPairResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes the stream key for the specified ARN, so it can no longer be used to
* stream.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteStreamKeyOutcome DeleteStreamKey(const Model::DeleteStreamKeyRequest& request) const;
/**
* Deletes the stream key for the specified ARN, so it can no longer be used to
* stream.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteStreamKeyOutcomeCallable DeleteStreamKeyCallable(const Model::DeleteStreamKeyRequest& request) const;
/**
* Deletes the stream key for the specified ARN, so it can no longer be used to
* stream.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteStreamKeyAsync(const Model::DeleteStreamKeyRequest& request, const DeleteStreamKeyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets the channel configuration for the specified channel ARN. See also
* BatchGetChannel.
See Also:
AWS API
* Reference
*/
virtual Model::GetChannelOutcome GetChannel(const Model::GetChannelRequest& request) const;
/**
* Gets the channel configuration for the specified channel ARN. See also
* BatchGetChannel.
See Also:
AWS API
* Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetChannelOutcomeCallable GetChannelCallable(const Model::GetChannelRequest& request) const;
/**
* Gets the channel configuration for the specified channel ARN. See also
* BatchGetChannel.
See Also:
AWS API
* Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetChannelAsync(const Model::GetChannelRequest& request, const GetChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets a specified playback authorization key pair and returns the
* arn and fingerprint. The privateKey held
* by the caller can be used to generate viewer authorization tokens, to grant
* viewers access to authorized channels.
See Also:
AWS
* API Reference
*/
virtual Model::GetPlaybackKeyPairOutcome GetPlaybackKeyPair(const Model::GetPlaybackKeyPairRequest& request) const;
/**
* Gets a specified playback authorization key pair and returns the
* arn and fingerprint. The privateKey held
* by the caller can be used to generate viewer authorization tokens, to grant
* viewers access to authorized channels.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetPlaybackKeyPairOutcomeCallable GetPlaybackKeyPairCallable(const Model::GetPlaybackKeyPairRequest& request) const;
/**
* Gets a specified playback authorization key pair and returns the
* arn and fingerprint. The privateKey held
* by the caller can be used to generate viewer authorization tokens, to grant
* viewers access to authorized channels.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetPlaybackKeyPairAsync(const Model::GetPlaybackKeyPairRequest& request, const GetPlaybackKeyPairResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets information about the active (live) stream on a specified
* channel.
See Also:
AWS API
* Reference
*/
virtual Model::GetStreamOutcome GetStream(const Model::GetStreamRequest& request) const;
/**
* Gets information about the active (live) stream on a specified
* channel.
See Also:
AWS API
* Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetStreamOutcomeCallable GetStreamCallable(const Model::GetStreamRequest& request) const;
/**
* Gets information about the active (live) stream on a specified
* channel.
See Also:
AWS API
* Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetStreamAsync(const Model::GetStreamRequest& request, const GetStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets stream-key information for a specified ARN.
See Also:
* AWS
* API Reference
*/
virtual Model::GetStreamKeyOutcome GetStreamKey(const Model::GetStreamKeyRequest& request) const;
/**
* Gets stream-key information for a specified ARN.
See Also:
* AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetStreamKeyOutcomeCallable GetStreamKeyCallable(const Model::GetStreamKeyRequest& request) const;
/**
* Gets stream-key information for a specified ARN.
See Also:
* AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetStreamKeyAsync(const Model::GetStreamKeyRequest& request, const GetStreamKeyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Imports the public portion of a new key pair and returns its arn
* and fingerprint. The privateKey can then be used to
* generate viewer authorization tokens, to grant viewers access to authorized
* channels.
See Also:
AWS
* API Reference
*/
virtual Model::ImportPlaybackKeyPairOutcome ImportPlaybackKeyPair(const Model::ImportPlaybackKeyPairRequest& request) const;
/**
* Imports the public portion of a new key pair and returns its arn
* and fingerprint. The privateKey can then be used to
* generate viewer authorization tokens, to grant viewers access to authorized
* channels.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ImportPlaybackKeyPairOutcomeCallable ImportPlaybackKeyPairCallable(const Model::ImportPlaybackKeyPairRequest& request) const;
/**
* Imports the public portion of a new key pair and returns its arn
* and fingerprint. The privateKey can then be used to
* generate viewer authorization tokens, to grant viewers access to authorized
* channels.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ImportPlaybackKeyPairAsync(const Model::ImportPlaybackKeyPairRequest& request, const ImportPlaybackKeyPairResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets summary information about all channels in your account, in the AWS
* region where the API request is processed. This list can be filtered to match a
* specified string.
See Also:
AWS
* API Reference
*/
virtual Model::ListChannelsOutcome ListChannels(const Model::ListChannelsRequest& request) const;
/**
* Gets summary information about all channels in your account, in the AWS
* region where the API request is processed. This list can be filtered to match a
* specified string.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListChannelsOutcomeCallable ListChannelsCallable(const Model::ListChannelsRequest& request) const;
/**
* Gets summary information about all channels in your account, in the AWS
* region where the API request is processed. This list can be filtered to match a
* specified string.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListChannelsAsync(const Model::ListChannelsRequest& request, const ListChannelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets summary information about playback key pairs.
See Also:
* AWS
* API Reference
*/
virtual Model::ListPlaybackKeyPairsOutcome ListPlaybackKeyPairs(const Model::ListPlaybackKeyPairsRequest& request) const;
/**
* Gets summary information about playback key pairs.
See Also:
* AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListPlaybackKeyPairsOutcomeCallable ListPlaybackKeyPairsCallable(const Model::ListPlaybackKeyPairsRequest& request) const;
/**
* Gets summary information about playback key pairs.
See Also:
* AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListPlaybackKeyPairsAsync(const Model::ListPlaybackKeyPairsRequest& request, const ListPlaybackKeyPairsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets summary information about stream keys for the specified
* channel.
See Also:
AWS
* API Reference
*/
virtual Model::ListStreamKeysOutcome ListStreamKeys(const Model::ListStreamKeysRequest& request) const;
/**
* Gets summary information about stream keys for the specified
* channel.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListStreamKeysOutcomeCallable ListStreamKeysCallable(const Model::ListStreamKeysRequest& request) const;
/**
* Gets summary information about stream keys for the specified
* channel.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListStreamKeysAsync(const Model::ListStreamKeysRequest& request, const ListStreamKeysResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets summary information about live streams in your account, in the AWS
* region where the API request is processed.
See Also:
AWS API
* Reference
*/
virtual Model::ListStreamsOutcome ListStreams(const Model::ListStreamsRequest& request) const;
/**
* Gets summary information about live streams in your account, in the AWS
* region where the API request is processed.
See Also:
AWS API
* Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListStreamsOutcomeCallable ListStreamsCallable(const Model::ListStreamsRequest& request) const;
/**
* Gets summary information about live streams in your account, in the AWS
* region where the API request is processed.
See Also:
AWS API
* Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListStreamsAsync(const Model::ListStreamsRequest& request, const ListStreamsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets information about AWS tags for the specified ARN.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* Gets information about AWS tags for the specified ARN.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
/**
* Gets information about AWS tags for the specified ARN.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Inserts metadata into an RTMPS stream for the specified channel. A maximum of
* 5 requests per second per channel is allowed, each with a maximum 1KB
* payload.
See Also:
AWS API
* Reference
*/
virtual Model::PutMetadataOutcome PutMetadata(const Model::PutMetadataRequest& request) const;
/**
* Inserts metadata into an RTMPS stream for the specified channel. A maximum of
* 5 requests per second per channel is allowed, each with a maximum 1KB
* payload.
See Also:
AWS API
* Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PutMetadataOutcomeCallable PutMetadataCallable(const Model::PutMetadataRequest& request) const;
/**
* Inserts metadata into an RTMPS stream for the specified channel. A maximum of
* 5 requests per second per channel is allowed, each with a maximum 1KB
* payload.
See Also:
AWS API
* Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PutMetadataAsync(const Model::PutMetadataRequest& request, const PutMetadataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Disconnects the incoming RTMPS stream for the specified channel. Can be used
* in conjunction with DeleteStreamKey to prevent further streaming to a
* channel.
Many streaming client-software libraries automatically
* reconnect a dropped RTMPS session, so to stop the stream permanently, you may
* want to first revoke the streamKey attached to the channel.
* See Also:
AWS API
* Reference
*/
virtual Model::StopStreamOutcome StopStream(const Model::StopStreamRequest& request) const;
/**
* Disconnects the incoming RTMPS stream for the specified channel. Can be used
* in conjunction with DeleteStreamKey to prevent further streaming to a
* channel.
Many streaming client-software libraries automatically
* reconnect a dropped RTMPS session, so to stop the stream permanently, you may
* want to first revoke the streamKey attached to the channel.
* See Also:
AWS API
* Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StopStreamOutcomeCallable StopStreamCallable(const Model::StopStreamRequest& request) const;
/**
* Disconnects the incoming RTMPS stream for the specified channel. Can be used
* in conjunction with DeleteStreamKey to prevent further streaming to a
* channel.
Many streaming client-software libraries automatically
* reconnect a dropped RTMPS session, so to stop the stream permanently, you may
* want to first revoke the streamKey attached to the channel.
* See Also:
AWS API
* Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StopStreamAsync(const Model::StopStreamRequest& request, const StopStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Adds or updates tags for the AWS resource with the specified
* ARN.
See Also:
AWS API
* Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* Adds or updates tags for the AWS resource with the specified
* ARN.
See Also:
AWS API
* Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
/**
* Adds or updates tags for the AWS resource with the specified
* ARN.
See Also:
AWS API
* Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Removes tags from the resource with the specified ARN.
See
* Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* Removes tags from the resource with the specified ARN.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
/**
* Removes tags from the resource with the specified ARN.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates a channel's configuration. This does not affect an ongoing stream of
* this channel. You must stop and restart the stream for the changes to take
* effect.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateChannelOutcome UpdateChannel(const Model::UpdateChannelRequest& request) const;
/**
* Updates a channel's configuration. This does not affect an ongoing stream of
* this channel. You must stop and restart the stream for the changes to take
* effect.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateChannelOutcomeCallable UpdateChannelCallable(const Model::UpdateChannelRequest& request) const;
/**
* Updates a channel's configuration. This does not affect an ongoing stream of
* this channel. You must stop and restart the stream for the changes to take
* effect.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateChannelAsync(const Model::UpdateChannelRequest& request, const UpdateChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void BatchGetChannelAsyncHelper(const Model::BatchGetChannelRequest& request, const BatchGetChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void BatchGetStreamKeyAsyncHelper(const Model::BatchGetStreamKeyRequest& request, const BatchGetStreamKeyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateChannelAsyncHelper(const Model::CreateChannelRequest& request, const CreateChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateStreamKeyAsyncHelper(const Model::CreateStreamKeyRequest& request, const CreateStreamKeyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteChannelAsyncHelper(const Model::DeleteChannelRequest& request, const DeleteChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeletePlaybackKeyPairAsyncHelper(const Model::DeletePlaybackKeyPairRequest& request, const DeletePlaybackKeyPairResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteStreamKeyAsyncHelper(const Model::DeleteStreamKeyRequest& request, const DeleteStreamKeyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetChannelAsyncHelper(const Model::GetChannelRequest& request, const GetChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetPlaybackKeyPairAsyncHelper(const Model::GetPlaybackKeyPairRequest& request, const GetPlaybackKeyPairResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetStreamAsyncHelper(const Model::GetStreamRequest& request, const GetStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetStreamKeyAsyncHelper(const Model::GetStreamKeyRequest& request, const GetStreamKeyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ImportPlaybackKeyPairAsyncHelper(const Model::ImportPlaybackKeyPairRequest& request, const ImportPlaybackKeyPairResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListChannelsAsyncHelper(const Model::ListChannelsRequest& request, const ListChannelsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListPlaybackKeyPairsAsyncHelper(const Model::ListPlaybackKeyPairsRequest& request, const ListPlaybackKeyPairsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListStreamKeysAsyncHelper(const Model::ListStreamKeysRequest& request, const ListStreamKeysResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListStreamsAsyncHelper(const Model::ListStreamsRequest& request, const ListStreamsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void PutMetadataAsyncHelper(const Model::PutMetadataRequest& request, const PutMetadataResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void StopStreamAsyncHelper(const Model::StopStreamRequest& request, const StopStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateChannelAsyncHelper(const Model::UpdateChannelRequest& request, const UpdateChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr m_executor;
};
} // namespace IVS
} // namespace Aws