/** * 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: us-west-2

  • *

    Endpoint: ivs.us-west-2.amazonaws.com

Region * name: US East (Virginia)

  • Region: us-east-1

    *
  • Endpoint: ivs.us-east-1.amazonaws.com

  • *

Region name: EU West (Dublin)

  • Region: * eu-west-1

  • Endpoint: * ivs.eu-west-1.amazonaws.com

Allowed Header * Values

  • Accept: application/json

    *
  • Accept-Encoding: gzip, deflate

  • *
  • Content-Type: application/json

* 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