/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace KinesisVideo
{
/**
*
*/
class AWS_KINESISVIDEO_API KinesisVideoClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef KinesisVideoClientConfiguration ClientConfigurationType;
typedef KinesisVideoEndpointProvider EndpointProviderType;
/**
* 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::KinesisVideo::KinesisVideoClientConfiguration& clientConfiguration = Aws::KinesisVideo::KinesisVideoClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* 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,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::KinesisVideo::KinesisVideoClientConfiguration& clientConfiguration = Aws::KinesisVideo::KinesisVideoClientConfiguration());
/**
* 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,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::KinesisVideo::KinesisVideoClientConfiguration& clientConfiguration = Aws::KinesisVideo::KinesisVideoClientConfiguration());
/* Legacy constructors due deprecation */
/**
* 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);
/**
* 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);
/**
* 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);
/* End of legacy constructors due deprecation */
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;
/**
* A Callable wrapper for CreateSignalingChannel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateSignalingChannelOutcomeCallable CreateSignalingChannelCallable(const CreateSignalingChannelRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::CreateSignalingChannel, request);
}
/**
* An Async wrapper for CreateSignalingChannel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateSignalingChannelAsync(const CreateSignalingChannelRequestT& request, const CreateSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::CreateSignalingChannel, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for CreateStream that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateStreamOutcomeCallable CreateStreamCallable(const CreateStreamRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::CreateStream, request);
}
/**
* An Async wrapper for CreateStream that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateStreamAsync(const CreateStreamRequestT& request, const CreateStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::CreateStream, request, handler, context);
}
/**
* An asynchronous API that deletes a stream’s existing edge configuration, as
* well as the corresponding media from the Edge Agent.
When you invoke this
* API, the sync status is set to DELETING
. A deletion process starts,
* in which active edge jobs are stopped and all media is deleted from the edge
* device. The time to delete varies, depending on the total amount of stored
* media. If the deletion process fails, the sync status changes to
* DELETE_FAILED
. You will need to re-try the deletion.
When
* the deletion process has completed successfully, the edge configuration is no
* longer accessible.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteEdgeConfigurationOutcome DeleteEdgeConfiguration(const Model::DeleteEdgeConfigurationRequest& request) const;
/**
* A Callable wrapper for DeleteEdgeConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteEdgeConfigurationOutcomeCallable DeleteEdgeConfigurationCallable(const DeleteEdgeConfigurationRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::DeleteEdgeConfiguration, request);
}
/**
* An Async wrapper for DeleteEdgeConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteEdgeConfigurationAsync(const DeleteEdgeConfigurationRequestT& request, const DeleteEdgeConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::DeleteEdgeConfiguration, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for DeleteSignalingChannel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteSignalingChannelOutcomeCallable DeleteSignalingChannelCallable(const DeleteSignalingChannelRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::DeleteSignalingChannel, request);
}
/**
* An Async wrapper for DeleteSignalingChannel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteSignalingChannelAsync(const DeleteSignalingChannelRequestT& request, const DeleteSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::DeleteSignalingChannel, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for DeleteStream that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteStreamOutcomeCallable DeleteStreamCallable(const DeleteStreamRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::DeleteStream, request);
}
/**
* An Async wrapper for DeleteStream that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteStreamAsync(const DeleteStreamRequestT& request, const DeleteStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::DeleteStream, request, handler, context);
}
/**
* Describes a stream’s edge configuration that was set using the
* StartEdgeConfigurationUpdate
API and the latest status of the edge
* agent's recorder and uploader jobs. Use this API to get the status of the
* configuration to determine if the configuration is in sync with the Edge Agent.
* Use this API to evaluate the health of the Edge Agent.
See Also:
* AWS
* API Reference
*/
virtual Model::DescribeEdgeConfigurationOutcome DescribeEdgeConfiguration(const Model::DescribeEdgeConfigurationRequest& request) const;
/**
* A Callable wrapper for DescribeEdgeConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeEdgeConfigurationOutcomeCallable DescribeEdgeConfigurationCallable(const DescribeEdgeConfigurationRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::DescribeEdgeConfiguration, request);
}
/**
* An Async wrapper for DescribeEdgeConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeEdgeConfigurationAsync(const DescribeEdgeConfigurationRequestT& request, const DescribeEdgeConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::DescribeEdgeConfiguration, request, handler, context);
}
/**
* Gets the ImageGenerationConfiguration
for a given Kinesis video
* stream.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeImageGenerationConfigurationOutcome DescribeImageGenerationConfiguration(const Model::DescribeImageGenerationConfigurationRequest& request) const;
/**
* A Callable wrapper for DescribeImageGenerationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeImageGenerationConfigurationOutcomeCallable DescribeImageGenerationConfigurationCallable(const DescribeImageGenerationConfigurationRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::DescribeImageGenerationConfiguration, request);
}
/**
* An Async wrapper for DescribeImageGenerationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeImageGenerationConfigurationAsync(const DescribeImageGenerationConfigurationRequestT& request, const DescribeImageGenerationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::DescribeImageGenerationConfiguration, request, handler, context);
}
/**
* Returns the most current information about the stream. The
* streamName
or streamARN
should be provided in the
* input.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeMappedResourceConfigurationOutcome DescribeMappedResourceConfiguration(const Model::DescribeMappedResourceConfigurationRequest& request) const;
/**
* A Callable wrapper for DescribeMappedResourceConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeMappedResourceConfigurationOutcomeCallable DescribeMappedResourceConfigurationCallable(const DescribeMappedResourceConfigurationRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::DescribeMappedResourceConfiguration, request);
}
/**
* An Async wrapper for DescribeMappedResourceConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeMappedResourceConfigurationAsync(const DescribeMappedResourceConfigurationRequestT& request, const DescribeMappedResourceConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::DescribeMappedResourceConfiguration, request, handler, context);
}
/**
* Returns the most current information about the channel. Specify the
* ChannelName
or ChannelARN
in the input.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeMediaStorageConfigurationOutcome DescribeMediaStorageConfiguration(const Model::DescribeMediaStorageConfigurationRequest& request) const;
/**
* A Callable wrapper for DescribeMediaStorageConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeMediaStorageConfigurationOutcomeCallable DescribeMediaStorageConfigurationCallable(const DescribeMediaStorageConfigurationRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::DescribeMediaStorageConfiguration, request);
}
/**
* An Async wrapper for DescribeMediaStorageConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeMediaStorageConfigurationAsync(const DescribeMediaStorageConfigurationRequestT& request, const DescribeMediaStorageConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::DescribeMediaStorageConfiguration, request, handler, context);
}
/**
* Gets the NotificationConfiguration
for a given Kinesis video
* stream.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeNotificationConfigurationOutcome DescribeNotificationConfiguration(const Model::DescribeNotificationConfigurationRequest& request) const;
/**
* A Callable wrapper for DescribeNotificationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeNotificationConfigurationOutcomeCallable DescribeNotificationConfigurationCallable(const DescribeNotificationConfigurationRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::DescribeNotificationConfiguration, request);
}
/**
* An Async wrapper for DescribeNotificationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeNotificationConfigurationAsync(const DescribeNotificationConfigurationRequestT& request, const DescribeNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::DescribeNotificationConfiguration, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for DescribeSignalingChannel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeSignalingChannelOutcomeCallable DescribeSignalingChannelCallable(const DescribeSignalingChannelRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::DescribeSignalingChannel, request);
}
/**
* An Async wrapper for DescribeSignalingChannel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeSignalingChannelAsync(const DescribeSignalingChannelRequestT& request, const DescribeSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::DescribeSignalingChannel, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for DescribeStream that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeStreamOutcomeCallable DescribeStreamCallable(const DescribeStreamRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::DescribeStream, request);
}
/**
* An Async wrapper for DescribeStream that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeStreamAsync(const DescribeStreamRequestT& request, const DescribeStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::DescribeStream, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for GetDataEndpoint that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDataEndpointOutcomeCallable GetDataEndpointCallable(const GetDataEndpointRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::GetDataEndpoint, request);
}
/**
* An Async wrapper for GetDataEndpoint that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDataEndpointAsync(const GetDataEndpointRequestT& request, const GetDataEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::GetDataEndpoint, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for GetSignalingChannelEndpoint that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetSignalingChannelEndpointOutcomeCallable GetSignalingChannelEndpointCallable(const GetSignalingChannelEndpointRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::GetSignalingChannelEndpoint, request);
}
/**
* An Async wrapper for GetSignalingChannelEndpoint that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetSignalingChannelEndpointAsync(const GetSignalingChannelEndpointRequestT& request, const GetSignalingChannelEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::GetSignalingChannelEndpoint, request, handler, context);
}
/**
* Returns an array of edge configurations associated with the specified Edge
* Agent.
In the request, you must specify the Edge Agent
* HubDeviceArn
.
See Also:
AWS
* API Reference
*/
virtual Model::ListEdgeAgentConfigurationsOutcome ListEdgeAgentConfigurations(const Model::ListEdgeAgentConfigurationsRequest& request) const;
/**
* A Callable wrapper for ListEdgeAgentConfigurations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListEdgeAgentConfigurationsOutcomeCallable ListEdgeAgentConfigurationsCallable(const ListEdgeAgentConfigurationsRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::ListEdgeAgentConfigurations, request);
}
/**
* An Async wrapper for ListEdgeAgentConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListEdgeAgentConfigurationsAsync(const ListEdgeAgentConfigurationsRequestT& request, const ListEdgeAgentConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::ListEdgeAgentConfigurations, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for ListSignalingChannels that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListSignalingChannelsOutcomeCallable ListSignalingChannelsCallable(const ListSignalingChannelsRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::ListSignalingChannels, request);
}
/**
* An Async wrapper for ListSignalingChannels that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListSignalingChannelsAsync(const ListSignalingChannelsRequestT& request, const ListSignalingChannelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::ListSignalingChannels, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for ListStreams that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListStreamsOutcomeCallable ListStreamsCallable(const ListStreamsRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::ListStreams, request);
}
/**
* An Async wrapper for ListStreams that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListStreamsAsync(const ListStreamsRequestT& request, const ListStreamsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::ListStreams, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::ListTagsForResource, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for ListTagsForStream that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForStreamOutcomeCallable ListTagsForStreamCallable(const ListTagsForStreamRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::ListTagsForStream, request);
}
/**
* An Async wrapper for ListTagsForStream that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForStreamAsync(const ListTagsForStreamRequestT& request, const ListTagsForStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::ListTagsForStream, request, handler, context);
}
/**
* An asynchronous API that updates a stream’s existing edge configuration. The
* Kinesis Video Stream will sync the stream’s edge configuration with the Edge
* Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your
* premise. The time to sync can vary and depends on the connectivity of the Hub
* Device. The SyncStatus
will be updated as the edge configuration is
* acknowledged, and synced with the Edge Agent.
If this API is invoked for
* the first time, a new edge configuration will be created for the stream, and the
* sync status will be set to SYNCING
. You will have to wait for the
* sync status to reach a terminal state such as: IN_SYNC
, or
* SYNC_FAILED
, before using this API again. If you invoke this API
* during the syncing process, a ResourceInUseException
will be
* thrown. The connectivity of the stream’s edge configuration and the Edge Agent
* will be retried for 15 minutes. After 15 minutes, the status will transition
* into the SYNC_FAILED
state.
See Also:
AWS
* API Reference
*/
virtual Model::StartEdgeConfigurationUpdateOutcome StartEdgeConfigurationUpdate(const Model::StartEdgeConfigurationUpdateRequest& request) const;
/**
* A Callable wrapper for StartEdgeConfigurationUpdate that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartEdgeConfigurationUpdateOutcomeCallable StartEdgeConfigurationUpdateCallable(const StartEdgeConfigurationUpdateRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::StartEdgeConfigurationUpdate, request);
}
/**
* An Async wrapper for StartEdgeConfigurationUpdate that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartEdgeConfigurationUpdateAsync(const StartEdgeConfigurationUpdateRequestT& request, const StartEdgeConfigurationUpdateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::StartEdgeConfigurationUpdate, request, handler, context);
}
/**
* 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 Amazon Web
* Services 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 Billing and Cost Management and Cost
* Management User Guide.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::TagResource, request, handler, context);
}
/**
* 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 Amazon Web Services
* 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 Billing and Cost Management and Cost
* Management User Guide.
You must provide either the
* StreamName
or the StreamARN
.
This operation
* requires permission for the KinesisVideo:TagStream
action.
A
* Kinesis video stream can support up to 50 tags.
See Also:
AWS
* API Reference
*/
virtual Model::TagStreamOutcome TagStream(const Model::TagStreamRequest& request) const;
/**
* A Callable wrapper for TagStream that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagStreamOutcomeCallable TagStreamCallable(const TagStreamRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::TagStream, request);
}
/**
* An Async wrapper for TagStream that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagStreamAsync(const TagStreamRequestT& request, const TagStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::TagStream, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::UntagResource, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for UntagStream that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagStreamOutcomeCallable UntagStreamCallable(const UntagStreamRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::UntagStream, request);
}
/**
* An Async wrapper for UntagStream that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagStreamAsync(const UntagStreamRequestT& request, const UntagStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::UntagStream, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for UpdateDataRetention that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateDataRetentionOutcomeCallable UpdateDataRetentionCallable(const UpdateDataRetentionRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::UpdateDataRetention, request);
}
/**
* An Async wrapper for UpdateDataRetention that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateDataRetentionAsync(const UpdateDataRetentionRequestT& request, const UpdateDataRetentionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::UpdateDataRetention, request, handler, context);
}
/**
* Updates the StreamInfo
and
* ImageProcessingConfiguration
fields.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateImageGenerationConfigurationOutcome UpdateImageGenerationConfiguration(const Model::UpdateImageGenerationConfigurationRequest& request) const;
/**
* A Callable wrapper for UpdateImageGenerationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateImageGenerationConfigurationOutcomeCallable UpdateImageGenerationConfigurationCallable(const UpdateImageGenerationConfigurationRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::UpdateImageGenerationConfiguration, request);
}
/**
* An Async wrapper for UpdateImageGenerationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateImageGenerationConfigurationAsync(const UpdateImageGenerationConfigurationRequestT& request, const UpdateImageGenerationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::UpdateImageGenerationConfiguration, request, handler, context);
}
/**
* Associates a SignalingChannel
to a stream to store the media.
* There are two signaling modes that can specified :
-
If the
* StorageStatus
is disabled, no data will be stored, and the
* StreamARN
parameter will not be needed.
-
If the
* StorageStatus
is enabled, the data will be stored in the
* StreamARN
provided.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateMediaStorageConfigurationOutcome UpdateMediaStorageConfiguration(const Model::UpdateMediaStorageConfigurationRequest& request) const;
/**
* A Callable wrapper for UpdateMediaStorageConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateMediaStorageConfigurationOutcomeCallable UpdateMediaStorageConfigurationCallable(const UpdateMediaStorageConfigurationRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::UpdateMediaStorageConfiguration, request);
}
/**
* An Async wrapper for UpdateMediaStorageConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateMediaStorageConfigurationAsync(const UpdateMediaStorageConfigurationRequestT& request, const UpdateMediaStorageConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::UpdateMediaStorageConfiguration, request, handler, context);
}
/**
* Updates the notification information for a stream.
See Also:
* AWS
* API Reference
*/
virtual Model::UpdateNotificationConfigurationOutcome UpdateNotificationConfiguration(const Model::UpdateNotificationConfigurationRequest& request) const;
/**
* A Callable wrapper for UpdateNotificationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateNotificationConfigurationOutcomeCallable UpdateNotificationConfigurationCallable(const UpdateNotificationConfigurationRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::UpdateNotificationConfiguration, request);
}
/**
* An Async wrapper for UpdateNotificationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateNotificationConfigurationAsync(const UpdateNotificationConfigurationRequestT& request, const UpdateNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::UpdateNotificationConfiguration, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for UpdateSignalingChannel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateSignalingChannelOutcomeCallable UpdateSignalingChannelCallable(const UpdateSignalingChannelRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::UpdateSignalingChannel, request);
}
/**
* An Async wrapper for UpdateSignalingChannel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateSignalingChannelAsync(const UpdateSignalingChannelRequestT& request, const UpdateSignalingChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::UpdateSignalingChannel, request, handler, context);
}
/**
* 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;
/**
* A Callable wrapper for UpdateStream that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateStreamOutcomeCallable UpdateStreamCallable(const UpdateStreamRequestT& request) const
{
return SubmitCallable(&KinesisVideoClient::UpdateStream, request);
}
/**
* An Async wrapper for UpdateStream that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateStreamAsync(const UpdateStreamRequestT& request, const UpdateStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&KinesisVideoClient::UpdateStream, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const KinesisVideoClientConfiguration& clientConfiguration);
KinesisVideoClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace KinesisVideo
} // namespace Aws