/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.kinesisvideo; import javax.annotation.Generated; import com.amazonaws.services.kinesisvideo.model.*; /** * Interface for accessing Kinesis Video asynchronously. Each asynchronous method will return a Java Future object * representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive * notification when an asynchronous operation completes. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.kinesisvideo.AbstractAmazonKinesisVideoAsync} instead. *
**
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonKinesisVideoAsync extends AmazonKinesisVideo { /** ** Creates a signaling channel. *
*
* CreateSignalingChannel
is an asynchronous operation.
*
* Creates a signaling channel. *
*
* CreateSignalingChannel
is an asynchronous operation.
*
* 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.
*
* 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.
*
* 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. *
* * @param deleteEdgeConfigurationRequest * @return A Java Future containing the result of the DeleteEdgeConfiguration operation returned by the service. * @sample AmazonKinesisVideoAsync.DeleteEdgeConfiguration * @see AWS API Documentation */ java.util.concurrent.Future* 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. *
* * @param deleteEdgeConfigurationRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteEdgeConfiguration operation returned by the service. * @sample AmazonKinesisVideoAsyncHandler.DeleteEdgeConfiguration * @see AWS API Documentation */ java.util.concurrent.Future
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* Gets the ImageGenerationConfiguration
for a given Kinesis video stream.
*
* Gets the ImageGenerationConfiguration
for a given Kinesis video stream.
*
* Returns the most current information about the stream. The streamName
or streamARN
* should be provided in the input.
*
* Returns the most current information about the stream. The streamName
or streamARN
* should be provided in the input.
*
* Returns the most current information about the channel. Specify the ChannelName
or
* ChannelARN
in the input.
*
* Returns the most current information about the channel. Specify the ChannelName
or
* ChannelARN
in the input.
*
* Gets the NotificationConfiguration
for a given Kinesis video stream.
*
* Gets the NotificationConfiguration
for a given Kinesis video stream.
*
* 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. *
* * @param describeSignalingChannelRequest * @return A Java Future containing the result of the DescribeSignalingChannel operation returned by the service. * @sample AmazonKinesisVideoAsync.DescribeSignalingChannel * @see AWS API Documentation */ java.util.concurrent.Future* 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. *
* * @param describeSignalingChannelRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DescribeSignalingChannel operation returned by the service. * @sample AmazonKinesisVideoAsyncHandler.DescribeSignalingChannel * @see AWS API Documentation */ java.util.concurrent.Future
* Returns the most current information about the specified stream. You must specify either the
* StreamName
or the StreamARN
.
*
* Returns the most current information about the specified stream. You must specify either the
* StreamName
or the StreamARN
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* Returns an array of edge configurations associated with the specified Edge Agent. *
*
* In the request, you must specify the Edge Agent HubDeviceArn
.
*
* Returns an array of edge configurations associated with the specified Edge Agent. *
*
* In the request, you must specify the Edge Agent HubDeviceArn
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* Returns a list of tags associated with the specified signaling channel. *
* * @param listTagsForResourceRequest * @return A Java Future containing the result of the ListTagsForResource operation returned by the service. * @sample AmazonKinesisVideoAsync.ListTagsForResource * @see AWS API Documentation */ java.util.concurrent.Future* Returns a list of tags associated with the specified signaling channel. *
* * @param listTagsForResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListTagsForResource operation returned by the service. * @sample AmazonKinesisVideoAsyncHandler.ListTagsForResource * @see AWS API Documentation */ java.util.concurrent.Future* Returns a list of tags associated with the specified stream. *
*
* In the request, you must specify either the StreamName
or the StreamARN
.
*
* Returns a list of tags associated with the specified stream. *
*
* In the request, you must specify either the StreamName
or the StreamARN
.
*
* 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.
*
* 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.
*
* 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. *
* * @param tagResourceRequest * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AmazonKinesisVideoAsync.TagResource * @see AWS API * Documentation */ java.util.concurrent.Future* 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. *
* * @param tagResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AmazonKinesisVideoAsyncHandler.TagResource * @see AWS API * Documentation */ java.util.concurrent.Future* 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. *
* * @param tagStreamRequest * @return A Java Future containing the result of the TagStream operation returned by the service. * @sample AmazonKinesisVideoAsync.TagStream * @see AWS API * Documentation */ java.util.concurrent.Future* 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. *
* * @param tagStreamRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the TagStream operation returned by the service. * @sample AmazonKinesisVideoAsyncHandler.TagStream * @see AWS API * Documentation */ java.util.concurrent.Future* 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. *
* * @param untagResourceRequest * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AmazonKinesisVideoAsync.UntagResource * @see AWS API * Documentation */ java.util.concurrent.Future* 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. *
* * @param untagResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AmazonKinesisVideoAsyncHandler.UntagResource * @see AWS API * Documentation */ java.util.concurrent.Future* 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
.
*
* 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
.
*
* 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. *
*
* 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. *
*
* Updates the StreamInfo
and ImageProcessingConfiguration
fields.
*
* Updates the StreamInfo
and ImageProcessingConfiguration
fields.
*
* 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.
*
* 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.
*
* Updates the notification information for a stream. *
* * @param updateNotificationConfigurationRequest * @return A Java Future containing the result of the UpdateNotificationConfiguration operation returned by the * service. * @sample AmazonKinesisVideoAsync.UpdateNotificationConfiguration * @see AWS API Documentation */ java.util.concurrent.Future* Updates the notification information for a stream. *
* * @param updateNotificationConfigurationRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateNotificationConfiguration operation returned by the * service. * @sample AmazonKinesisVideoAsyncHandler.UpdateNotificationConfiguration * @see AWS API Documentation */ java.util.concurrent.Future* 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.
*
* 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.
*
* 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.
*
* 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.
*