/** * 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 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 KinesisVideo { namespace Model { class CreateSignalingChannelRequest; class CreateStreamRequest; class DeleteSignalingChannelRequest; class DeleteStreamRequest; class DescribeSignalingChannelRequest; class DescribeStreamRequest; class GetDataEndpointRequest; class GetSignalingChannelEndpointRequest; class ListSignalingChannelsRequest; class ListStreamsRequest; class ListTagsForResourceRequest; class ListTagsForStreamRequest; class TagResourceRequest; class TagStreamRequest; class UntagResourceRequest; class UntagStreamRequest; class UpdateDataRetentionRequest; class UpdateSignalingChannelRequest; class UpdateStreamRequest; typedef Aws::Utils::Outcome CreateSignalingChannelOutcome; typedef Aws::Utils::Outcome CreateStreamOutcome; typedef Aws::Utils::Outcome DeleteSignalingChannelOutcome; typedef Aws::Utils::Outcome DeleteStreamOutcome; typedef Aws::Utils::Outcome DescribeSignalingChannelOutcome; typedef Aws::Utils::Outcome DescribeStreamOutcome; typedef Aws::Utils::Outcome GetDataEndpointOutcome; typedef Aws::Utils::Outcome GetSignalingChannelEndpointOutcome; typedef Aws::Utils::Outcome ListSignalingChannelsOutcome; typedef Aws::Utils::Outcome ListStreamsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListTagsForStreamOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome TagStreamOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UntagStreamOutcome; typedef Aws::Utils::Outcome UpdateDataRetentionOutcome; typedef Aws::Utils::Outcome UpdateSignalingChannelOutcome; typedef Aws::Utils::Outcome UpdateStreamOutcome; typedef std::future CreateSignalingChannelOutcomeCallable; typedef std::future CreateStreamOutcomeCallable; typedef std::future DeleteSignalingChannelOutcomeCallable; typedef std::future DeleteStreamOutcomeCallable; typedef std::future DescribeSignalingChannelOutcomeCallable; typedef std::future DescribeStreamOutcomeCallable; typedef std::future GetDataEndpointOutcomeCallable; typedef std::future GetSignalingChannelEndpointOutcomeCallable; typedef std::future ListSignalingChannelsOutcomeCallable; typedef std::future ListStreamsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListTagsForStreamOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future TagStreamOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UntagStreamOutcomeCallable; typedef std::future UpdateDataRetentionOutcomeCallable; typedef std::future UpdateSignalingChannelOutcomeCallable; typedef std::future UpdateStreamOutcomeCallable; } // namespace Model class KinesisVideoClient; typedef std::function&) > CreateSignalingChannelResponseReceivedHandler; typedef std::function&) > CreateStreamResponseReceivedHandler; typedef std::function&) > DeleteSignalingChannelResponseReceivedHandler; typedef std::function&) > DeleteStreamResponseReceivedHandler; typedef std::function&) > DescribeSignalingChannelResponseReceivedHandler; typedef std::function&) > DescribeStreamResponseReceivedHandler; typedef std::function&) > GetDataEndpointResponseReceivedHandler; typedef std::function&) > GetSignalingChannelEndpointResponseReceivedHandler; typedef std::function&) > ListSignalingChannelsResponseReceivedHandler; typedef std::function&) > ListStreamsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListTagsForStreamResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > TagStreamResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UntagStreamResponseReceivedHandler; typedef std::function&) > UpdateDataRetentionResponseReceivedHandler; typedef std::function&) > UpdateSignalingChannelResponseReceivedHandler; typedef std::function&) > UpdateStreamResponseReceivedHandler; /** *

*/ class AWS_KINESISVIDEO_API KinesisVideoClient : 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. */ KinesisVideoClient(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. */ KinesisVideoClient(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 */ KinesisVideoClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~KinesisVideoClient(); /** *

Creates a signaling channel.

CreateSignalingChannel is * an asynchronous operation.

See Also:

AWS * API Reference

*/ virtual Model::CreateSignalingChannelOutcome CreateSignalingChannel(const Model::CreateSignalingChannelRequest& request) const; /** *

Creates a signaling channel.

CreateSignalingChannel is * an asynchronous operation.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateSignalingChannelOutcomeCallable CreateSignalingChannelCallable(const Model::CreateSignalingChannelRequest& request) const; /** *

Creates a signaling channel.

CreateSignalingChannel is * an asynchronous operation.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateSignalingChannelAsync(const Model::CreateSignalingChannelRequest& request, const CreateSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new Kinesis video stream.

When you create a new stream, * Kinesis Video Streams assigns it a version number. When you change the stream's * metadata, Kinesis Video Streams updates the version.

* CreateStream is an asynchronous operation.

For information * about how the service works, see How * it Works.

You must have permissions for the * KinesisVideo:CreateStream action.

See Also:

AWS * API Reference

*/ virtual Model::CreateStreamOutcome CreateStream(const Model::CreateStreamRequest& request) const; /** *

Creates a new Kinesis video stream.

When you create a new stream, * Kinesis Video Streams assigns it a version number. When you change the stream's * metadata, Kinesis Video Streams updates the version.

* CreateStream is an asynchronous operation.

For information * about how the service works, see How * it Works.

You must have permissions for the * KinesisVideo:CreateStream action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateStreamOutcomeCallable CreateStreamCallable(const Model::CreateStreamRequest& request) const; /** *

Creates a new Kinesis video stream.

When you create a new stream, * Kinesis Video Streams assigns it a version number. When you change the stream's * metadata, Kinesis Video Streams updates the version.

* CreateStream is an asynchronous operation.

For information * about how the service works, see How * it Works.

You must have permissions for the * KinesisVideo:CreateStream action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateStreamAsync(const Model::CreateStreamRequest& request, const CreateStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a specified signaling channel. DeleteSignalingChannel is * an asynchronous operation. If you don't specify the channel's current version, * the most recent version is deleted.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSignalingChannelOutcome DeleteSignalingChannel(const Model::DeleteSignalingChannelRequest& request) const; /** *

Deletes a specified signaling channel. DeleteSignalingChannel is * an asynchronous operation. If you don't specify the channel's current version, * the most recent version is deleted.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSignalingChannelOutcomeCallable DeleteSignalingChannelCallable(const Model::DeleteSignalingChannelRequest& request) const; /** *

Deletes a specified signaling channel. DeleteSignalingChannel is * an asynchronous operation. If you don't specify the channel's current version, * the most recent version is deleted.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSignalingChannelAsync(const Model::DeleteSignalingChannelRequest& request, const DeleteSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a Kinesis video stream and the data contained in the stream.

*

This method marks the stream for deletion, and makes the data in the stream * inaccessible immediately.

To ensure that you have the latest * version of the stream before deleting it, you can specify the stream version. * Kinesis Video Streams assigns a version to each stream. When you update a * stream, Kinesis Video Streams assigns a new version number. To get the latest * stream version, use the DescribeStream API.

This operation * requires permission for the KinesisVideo:DeleteStream * action.

See Also:

AWS * API Reference

*/ virtual Model::DeleteStreamOutcome DeleteStream(const Model::DeleteStreamRequest& request) const; /** *

Deletes a Kinesis video stream and the data contained in the stream.

*

This method marks the stream for deletion, and makes the data in the stream * inaccessible immediately.

To ensure that you have the latest * version of the stream before deleting it, you can specify the stream version. * Kinesis Video Streams assigns a version to each stream. When you update a * stream, Kinesis Video Streams assigns a new version number. To get the latest * stream version, use the DescribeStream API.

This operation * requires permission for the KinesisVideo:DeleteStream * action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteStreamOutcomeCallable DeleteStreamCallable(const Model::DeleteStreamRequest& request) const; /** *

Deletes a Kinesis video stream and the data contained in the stream.

*

This method marks the stream for deletion, and makes the data in the stream * inaccessible immediately.

To ensure that you have the latest * version of the stream before deleting it, you can specify the stream version. * Kinesis Video Streams assigns a version to each stream. When you update a * stream, Kinesis Video Streams assigns a new version number. To get the latest * stream version, use the DescribeStream API.

This operation * requires permission for the KinesisVideo:DeleteStream * action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteStreamAsync(const Model::DeleteStreamRequest& request, const DeleteStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the most current information about the signaling channel. You must * specify either the name or the Amazon Resource Name (ARN) of the channel that * you want to describe.

See Also:

AWS * API Reference

*/ virtual Model::DescribeSignalingChannelOutcome DescribeSignalingChannel(const Model::DescribeSignalingChannelRequest& request) const; /** *

Returns the most current information about the signaling channel. You must * specify either the name or the Amazon Resource Name (ARN) of the channel that * you want to describe.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeSignalingChannelOutcomeCallable DescribeSignalingChannelCallable(const Model::DescribeSignalingChannelRequest& request) const; /** *

Returns the most current information about the signaling channel. You must * specify either the name or the Amazon Resource Name (ARN) of the channel that * you want to describe.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeSignalingChannelAsync(const Model::DescribeSignalingChannelRequest& request, const DescribeSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the most current information about the specified stream. You must * specify either the StreamName or the StreamARN. *

See Also:

AWS * API Reference

*/ virtual Model::DescribeStreamOutcome DescribeStream(const Model::DescribeStreamRequest& request) const; /** *

Returns the most current information about the specified stream. You must * specify either the StreamName or the StreamARN. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeStreamOutcomeCallable DescribeStreamCallable(const Model::DescribeStreamRequest& request) const; /** *

Returns the most current information about the specified stream. You must * specify either the StreamName or the StreamARN. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeStreamAsync(const Model::DescribeStreamRequest& request, const DescribeStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets an endpoint for a specified stream for either reading or writing. Use * this endpoint in your application to read from the specified stream (using the * GetMedia or GetMediaForFragmentList operations) or * write to it (using the PutMedia operation).

The * returned endpoint does not have the API name appended. The client needs to add * the API name to the returned endpoint.

In the request, specify * the stream either by StreamName or * StreamARN.

See Also:

AWS * API Reference

*/ virtual Model::GetDataEndpointOutcome GetDataEndpoint(const Model::GetDataEndpointRequest& request) const; /** *

Gets an endpoint for a specified stream for either reading or writing. Use * this endpoint in your application to read from the specified stream (using the * GetMedia or GetMediaForFragmentList operations) or * write to it (using the PutMedia operation).

The * returned endpoint does not have the API name appended. The client needs to add * the API name to the returned endpoint.

In the request, specify * the stream either by StreamName or * StreamARN.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetDataEndpointOutcomeCallable GetDataEndpointCallable(const Model::GetDataEndpointRequest& request) const; /** *

Gets an endpoint for a specified stream for either reading or writing. Use * this endpoint in your application to read from the specified stream (using the * GetMedia or GetMediaForFragmentList operations) or * write to it (using the PutMedia operation).

The * returned endpoint does not have the API name appended. The client needs to add * the API name to the returned endpoint.

In the request, specify * the stream either by StreamName or * StreamARN.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetDataEndpointAsync(const Model::GetDataEndpointRequest& request, const GetDataEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Provides an endpoint for the specified signaling channel to send and receive * messages. This API uses the * SingleMasterChannelEndpointConfiguration input parameter, which * consists of the Protocols and Role properties.

* Protocols is used to determine the communication mechanism. For * example, if you specify WSS as the protocol, this API produces a * secure websocket endpoint. If you specify HTTPS as the protocol, * this API generates an HTTPS endpoint.

Role determines the * messaging permissions. A MASTER role results in this API generating * an endpoint that a client can use to communicate with any of the viewers on the * channel. A VIEWER role results in this API generating an endpoint * that a client can use to communicate only with a MASTER. *

See Also:

AWS * API Reference

*/ virtual Model::GetSignalingChannelEndpointOutcome GetSignalingChannelEndpoint(const Model::GetSignalingChannelEndpointRequest& request) const; /** *

Provides an endpoint for the specified signaling channel to send and receive * messages. This API uses the * SingleMasterChannelEndpointConfiguration input parameter, which * consists of the Protocols and Role properties.

* Protocols is used to determine the communication mechanism. For * example, if you specify WSS as the protocol, this API produces a * secure websocket endpoint. If you specify HTTPS as the protocol, * this API generates an HTTPS endpoint.

Role determines the * messaging permissions. A MASTER role results in this API generating * an endpoint that a client can use to communicate with any of the viewers on the * channel. A VIEWER role results in this API generating an endpoint * that a client can use to communicate only with a MASTER. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSignalingChannelEndpointOutcomeCallable GetSignalingChannelEndpointCallable(const Model::GetSignalingChannelEndpointRequest& request) const; /** *

Provides an endpoint for the specified signaling channel to send and receive * messages. This API uses the * SingleMasterChannelEndpointConfiguration input parameter, which * consists of the Protocols and Role properties.

* Protocols is used to determine the communication mechanism. For * example, if you specify WSS as the protocol, this API produces a * secure websocket endpoint. If you specify HTTPS as the protocol, * this API generates an HTTPS endpoint.

Role determines the * messaging permissions. A MASTER role results in this API generating * an endpoint that a client can use to communicate with any of the viewers on the * channel. A VIEWER role results in this API generating an endpoint * that a client can use to communicate only with a MASTER. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSignalingChannelEndpointAsync(const Model::GetSignalingChannelEndpointRequest& request, const GetSignalingChannelEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns an array of ChannelInfo objects. Each object describes a * signaling channel. To retrieve only those channels that satisfy a specific * condition, you can specify a ChannelNameCondition.

See * Also:

AWS * API Reference

*/ virtual Model::ListSignalingChannelsOutcome ListSignalingChannels(const Model::ListSignalingChannelsRequest& request) const; /** *

Returns an array of ChannelInfo objects. Each object describes a * signaling channel. To retrieve only those channels that satisfy a specific * condition, you can specify a ChannelNameCondition.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListSignalingChannelsOutcomeCallable ListSignalingChannelsCallable(const Model::ListSignalingChannelsRequest& request) const; /** *

Returns an array of ChannelInfo objects. Each object describes a * signaling channel. To retrieve only those channels that satisfy a specific * condition, you can specify a ChannelNameCondition.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListSignalingChannelsAsync(const Model::ListSignalingChannelsRequest& request, const ListSignalingChannelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns an array of StreamInfo objects. Each object describes a * stream. To retrieve only streams that satisfy a specific condition, you can * specify a StreamNameCondition.

See Also:

AWS * API Reference

*/ virtual Model::ListStreamsOutcome ListStreams(const Model::ListStreamsRequest& request) const; /** *

Returns an array of StreamInfo objects. Each object describes a * stream. To retrieve only streams that satisfy a specific condition, you can * specify a StreamNameCondition.

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; /** *

Returns an array of StreamInfo objects. Each object describes a * stream. To retrieve only streams that satisfy a specific condition, you can * specify a StreamNameCondition.

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; /** *

Returns a list of tags associated with the specified signaling * channel.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Returns a list of tags associated with the specified signaling * 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::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

Returns a list of tags associated with the specified signaling * channel.

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; /** *

Returns a list of tags associated with the specified stream.

In the * request, you must specify either the StreamName or the * StreamARN.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForStreamOutcome ListTagsForStream(const Model::ListTagsForStreamRequest& request) const; /** *

Returns a list of tags associated with the specified stream.

In the * request, you must specify either the StreamName or the * StreamARN.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForStreamOutcomeCallable ListTagsForStreamCallable(const Model::ListTagsForStreamRequest& request) const; /** *

Returns a list of tags associated with the specified stream.

In the * request, you must specify either the StreamName or the * StreamARN.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForStreamAsync(const Model::ListTagsForStreamRequest& request, const ListTagsForStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds one or more tags to a signaling channel. A tag is a key-value * pair (the value is optional) that you can define and assign to AWS resources. If * you specify a tag that already exists, the tag value is replaced with the value * that you specify in the request. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

Adds one or more tags to a signaling channel. A tag is a key-value * pair (the value is optional) that you can define and assign to AWS resources. If * you specify a tag that already exists, the tag value is replaced with the value * that you specify in the request. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

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 one or more tags to a signaling channel. A tag is a key-value * pair (the value is optional) that you can define and assign to AWS resources. If * you specify a tag that already exists, the tag value is replaced with the value * that you specify in the request. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

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; /** *

Adds one or more tags to a stream. A tag is a key-value pair (the * value is optional) that you can define and assign to AWS resources. If you * specify a tag that already exists, the tag value is replaced with the value that * you specify in the request. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

You must provide either the StreamName or the * StreamARN.

This operation requires permission for the * KinesisVideo:TagStream action.

Kinesis video streams support * up to 50 tags.

See Also:

AWS * API Reference

*/ virtual Model::TagStreamOutcome TagStream(const Model::TagStreamRequest& request) const; /** *

Adds one or more tags to a stream. A tag is a key-value pair (the * value is optional) that you can define and assign to AWS resources. If you * specify a tag that already exists, the tag value is replaced with the value that * you specify in the request. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

You must provide either the StreamName or the * StreamARN.

This operation requires permission for the * KinesisVideo:TagStream action.

Kinesis video streams support * up to 50 tags.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagStreamOutcomeCallable TagStreamCallable(const Model::TagStreamRequest& request) const; /** *

Adds one or more tags to a stream. A tag is a key-value pair (the * value is optional) that you can define and assign to AWS resources. If you * specify a tag that already exists, the tag value is replaced with the value that * you specify in the request. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

You must provide either the StreamName or the * StreamARN.

This operation requires permission for the * KinesisVideo:TagStream action.

Kinesis video streams support * up to 50 tags.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagStreamAsync(const Model::TagStreamRequest& request, const TagStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes one or more tags from a signaling channel. In the request, specify * only a tag key or keys; don't specify the value. If you specify a tag key that * does not exist, it's ignored.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

Removes one or more tags from a signaling channel. In the request, specify * only a tag key or keys; don't specify the value. If you specify a tag key that * does not exist, it's ignored.

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 one or more tags from a signaling channel. In the request, specify * only a tag key or keys; don't specify the value. If you specify a tag key that * does not exist, it's ignored.

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; /** *

Removes one or more tags from a stream. In the request, specify only a tag * key or keys; don't specify the value. If you specify a tag key that does not * exist, it's ignored.

In the request, you must provide the * StreamName or StreamARN.

See Also:

AWS * API Reference

*/ virtual Model::UntagStreamOutcome UntagStream(const Model::UntagStreamRequest& request) const; /** *

Removes one or more tags from a stream. In the request, specify only a tag * key or keys; don't specify the value. If you specify a tag key that does not * exist, it's ignored.

In the request, you must provide the * StreamName or StreamARN.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagStreamOutcomeCallable UntagStreamCallable(const Model::UntagStreamRequest& request) const; /** *

Removes one or more tags from a stream. In the request, specify only a tag * key or keys; don't specify the value. If you specify a tag key that does not * exist, it's ignored.

In the request, you must provide the * StreamName or StreamARN.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagStreamAsync(const Model::UntagStreamRequest& request, const UntagStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Increases or decreases the stream's data retention period by the value that * you specify. To indicate whether you want to increase or decrease the data * retention period, specify the Operation parameter in the request * body. In the request, you must specify either the StreamName or the * StreamARN.

The retention period that you specify * replaces the current value.

This operation requires permission * for the KinesisVideo:UpdateDataRetention action.

Changing * the data retention period affects the data in the stream as follows:

    *
  • If the data retention period is increased, existing data is retained for * the new retention period. For example, if the data retention period is increased * from one hour to seven hours, all existing data is retained for seven hours.

    *
  • If the data retention period is decreased, existing data is * retained for the new retention period. For example, if the data retention period * is decreased from seven hours to one hour, all existing data is retained for one * hour, and any data older than one hour is deleted immediately.

  • *

See Also:

AWS * API Reference

*/ virtual Model::UpdateDataRetentionOutcome UpdateDataRetention(const Model::UpdateDataRetentionRequest& request) const; /** *

Increases or decreases the stream's data retention period by the value that * you specify. To indicate whether you want to increase or decrease the data * retention period, specify the Operation parameter in the request * body. In the request, you must specify either the StreamName or the * StreamARN.

The retention period that you specify * replaces the current value.

This operation requires permission * for the KinesisVideo:UpdateDataRetention action.

Changing * the data retention period affects the data in the stream as follows:

    *
  • If the data retention period is increased, existing data is retained for * the new retention period. For example, if the data retention period is increased * from one hour to seven hours, all existing data is retained for seven hours.

    *
  • If the data retention period is decreased, existing data is * retained for the new retention period. For example, if the data retention period * is decreased from seven hours to one hour, all existing data is retained for one * hour, and any data older than one hour is deleted immediately.

  • *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateDataRetentionOutcomeCallable UpdateDataRetentionCallable(const Model::UpdateDataRetentionRequest& request) const; /** *

Increases or decreases the stream's data retention period by the value that * you specify. To indicate whether you want to increase or decrease the data * retention period, specify the Operation parameter in the request * body. In the request, you must specify either the StreamName or the * StreamARN.

The retention period that you specify * replaces the current value.

This operation requires permission * for the KinesisVideo:UpdateDataRetention action.

Changing * the data retention period affects the data in the stream as follows:

    *
  • If the data retention period is increased, existing data is retained for * the new retention period. For example, if the data retention period is increased * from one hour to seven hours, all existing data is retained for seven hours.

    *
  • If the data retention period is decreased, existing data is * retained for the new retention period. For example, if the data retention period * is decreased from seven hours to one hour, all existing data is retained for one * hour, and any data older than one hour is deleted immediately.

  • *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateDataRetentionAsync(const Model::UpdateDataRetentionRequest& request, const UpdateDataRetentionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the existing signaling channel. This is an asynchronous operation and * takes time to complete.

If the MessageTtlSeconds value is * updated (either increased or reduced), it only applies to new messages sent via * this channel after it's been updated. Existing messages are still expired as per * the previous MessageTtlSeconds value.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSignalingChannelOutcome UpdateSignalingChannel(const Model::UpdateSignalingChannelRequest& request) const; /** *

Updates the existing signaling channel. This is an asynchronous operation and * takes time to complete.

If the MessageTtlSeconds value is * updated (either increased or reduced), it only applies to new messages sent via * this channel after it's been updated. Existing messages are still expired as per * the previous MessageTtlSeconds value.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateSignalingChannelOutcomeCallable UpdateSignalingChannelCallable(const Model::UpdateSignalingChannelRequest& request) const; /** *

Updates the existing signaling channel. This is an asynchronous operation and * takes time to complete.

If the MessageTtlSeconds value is * updated (either increased or reduced), it only applies to new messages sent via * this channel after it's been updated. Existing messages are still expired as per * the previous MessageTtlSeconds value.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateSignalingChannelAsync(const Model::UpdateSignalingChannelRequest& request, const UpdateSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates stream metadata, such as the device name and media type.

You * must provide the stream name or the Amazon Resource Name (ARN) of the * stream.

To make sure that you have the latest version of the stream * before updating it, you can specify the stream version. Kinesis Video Streams * assigns a version to each stream. When you update a stream, Kinesis Video * Streams assigns a new version number. To get the latest stream version, use the * DescribeStream API.

UpdateStream is an * asynchronous operation, and takes time to complete.

See Also:

* AWS * API Reference

*/ virtual Model::UpdateStreamOutcome UpdateStream(const Model::UpdateStreamRequest& request) const; /** *

Updates stream metadata, such as the device name and media type.

You * must provide the stream name or the Amazon Resource Name (ARN) of the * stream.

To make sure that you have the latest version of the stream * before updating it, you can specify the stream version. Kinesis Video Streams * assigns a version to each stream. When you update a stream, Kinesis Video * Streams assigns a new version number. To get the latest stream version, use the * DescribeStream API.

UpdateStream is an * asynchronous operation, and takes time to complete.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateStreamOutcomeCallable UpdateStreamCallable(const Model::UpdateStreamRequest& request) const; /** *

Updates stream metadata, such as the device name and media type.

You * must provide the stream name or the Amazon Resource Name (ARN) of the * stream.

To make sure that you have the latest version of the stream * before updating it, you can specify the stream version. Kinesis Video Streams * assigns a version to each stream. When you update a stream, Kinesis Video * Streams assigns a new version number. To get the latest stream version, use the * DescribeStream API.

UpdateStream is an * asynchronous operation, and takes time to complete.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateStreamAsync(const Model::UpdateStreamRequest& request, const UpdateStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void CreateSignalingChannelAsyncHelper(const Model::CreateSignalingChannelRequest& request, const CreateSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateStreamAsyncHelper(const Model::CreateStreamRequest& request, const CreateStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSignalingChannelAsyncHelper(const Model::DeleteSignalingChannelRequest& request, const DeleteSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteStreamAsyncHelper(const Model::DeleteStreamRequest& request, const DeleteStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeSignalingChannelAsyncHelper(const Model::DescribeSignalingChannelRequest& request, const DescribeSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeStreamAsyncHelper(const Model::DescribeStreamRequest& request, const DescribeStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetDataEndpointAsyncHelper(const Model::GetDataEndpointRequest& request, const GetDataEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSignalingChannelEndpointAsyncHelper(const Model::GetSignalingChannelEndpointRequest& request, const GetSignalingChannelEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListSignalingChannelsAsyncHelper(const Model::ListSignalingChannelsRequest& request, const ListSignalingChannelsResponseReceivedHandler& 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 ListTagsForStreamAsyncHelper(const Model::ListTagsForStreamRequest& request, const ListTagsForStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagStreamAsyncHelper(const Model::TagStreamRequest& request, const TagStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagStreamAsyncHelper(const Model::UntagStreamRequest& request, const UntagStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateDataRetentionAsyncHelper(const Model::UpdateDataRetentionRequest& request, const UpdateDataRetentionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateSignalingChannelAsyncHelper(const Model::UpdateSignalingChannelRequest& request, const UpdateSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateStreamAsyncHelper(const Model::UpdateStreamRequest& request, const UpdateStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace KinesisVideo } // namespace Aws