/* * 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.*; import com.amazonaws.regions.*; import com.amazonaws.services.kinesisvideo.model.*; /** * Interface for accessing Kinesis Video. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.kinesisvideo.AbstractAmazonKinesisVideo} instead. *
**
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonKinesisVideo { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "kinesisvideo"; /** ** Creates a signaling channel. *
*
* CreateSignalingChannel
is an asynchronous operation.
*
StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* 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.
*
StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* 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 Result of the DeleteEdgeConfiguration operation returned by the service. * @throws AccessDeniedException * You do not have required permissions to perform this operation. * @throws ClientLimitExceededException * Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client * calls. Try making the call later. * @throws InvalidArgumentException * The value for this input parameter is invalid. * @throws ResourceNotFoundException * Amazon Kinesis Video Streams can't find the stream that you specified. * @throws StreamEdgeConfigurationNotFoundException * The Exception rendered when the Amazon Kinesis Video Stream can't find a stream's edge configuration that * you specified. * @sample AmazonKinesisVideo.DeleteEdgeConfiguration * @see AWS API Documentation */ DeleteEdgeConfigurationResult deleteEdgeConfiguration(DeleteEdgeConfigurationRequest deleteEdgeConfigurationRequest); /** *
* 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.
*
StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* 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.
*
StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* 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.
*
* 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.
*
* 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 Result of the DescribeSignalingChannel operation returned by the service. * @throws InvalidArgumentException * The value for this input parameter is invalid. * @throws ClientLimitExceededException * Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client * calls. Try making the call later. * @throws ResourceNotFoundException * Amazon Kinesis Video Streams can't find the stream that you specified. * @throws AccessDeniedException * You do not have required permissions to perform this operation. * @sample AmazonKinesisVideo.DescribeSignalingChannel * @see AWS API Documentation */ DescribeSignalingChannelResult describeSignalingChannel(DescribeSignalingChannelRequest describeSignalingChannelRequest); /** *
* 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
.
*
* 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
.
*
StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* 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 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 Result of the ListTagsForResource operation returned by the service. * @throws InvalidArgumentException * The value for this input parameter is invalid. * @throws ClientLimitExceededException * Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client * calls. Try making the call later. * @throws ResourceNotFoundException * Amazon Kinesis Video Streams can't find the stream that you specified. * @throws AccessDeniedException * You do not have required permissions to perform this operation. * @sample AmazonKinesisVideo.ListTagsForResource * @see AWS API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** ** Returns a list of tags associated with the specified stream. *
*
* In the request, you must specify either the StreamName
or the StreamARN
.
*
StreamARN
is invalid.
* @sample AmazonKinesisVideo.ListTagsForStream
* @see AWS
* API Documentation
*/
ListTagsForStreamResult listTagsForStream(ListTagsForStreamRequest listTagsForStreamRequest);
/**
*
* 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.
*
StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* 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 Result of the TagResource operation returned by the service. * @throws InvalidArgumentException * The value for this input parameter is invalid. * @throws ClientLimitExceededException * Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client * calls. Try making the call later. * @throws ResourceNotFoundException * Amazon Kinesis Video Streams can't find the stream that you specified. * @throws AccessDeniedException * You do not have required permissions to perform this operation. * @throws TagsPerResourceExceededLimitException * You have exceeded the limit of tags that you can associate with the resource. A Kinesis video stream can * support up to 50 tags. * @sample AmazonKinesisVideo.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** ** 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 Result of the TagStream operation returned by the service. * @throws ClientLimitExceededException * Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client * calls. Try making the call later. * @throws InvalidArgumentException * The value for this input parameter is invalid. * @throws ResourceNotFoundException * Amazon Kinesis Video Streams can't find the stream that you specified. * @throws NotAuthorizedException * The caller is not authorized to perform this operation. * @throws InvalidResourceFormatException * The format of theStreamARN
is invalid.
* @throws TagsPerResourceExceededLimitException
* You have exceeded the limit of tags that you can associate with the resource. A Kinesis video stream can
* support up to 50 tags.
* @sample AmazonKinesisVideo.TagStream
* @see AWS API
* Documentation
*/
TagStreamResult tagStream(TagStreamRequest tagStreamRequest);
/**
* * 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 Result of the UntagResource operation returned by the service. * @throws InvalidArgumentException * The value for this input parameter is invalid. * @throws ClientLimitExceededException * Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client * calls. Try making the call later. * @throws ResourceNotFoundException * Amazon Kinesis Video Streams can't find the stream that you specified. * @throws AccessDeniedException * You do not have required permissions to perform this operation. * @sample AmazonKinesisVideo.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** ** 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
.
*
StreamARN
is invalid.
* @sample AmazonKinesisVideo.UntagStream
* @see AWS API
* Documentation
*/
UntagStreamResult untagStream(UntagStreamRequest untagStreamRequest);
/**
*
* 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. *
*StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* Updates the StreamInfo
and ImageProcessingConfiguration
fields.
*
StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* 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.
*
StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* Updates the notification information for a stream. *
* * @param updateNotificationConfigurationRequest * @return Result of the UpdateNotificationConfiguration operation returned by the service. * @throws InvalidArgumentException * The value for this input parameter is invalid. * @throws ClientLimitExceededException * Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client * calls. Try making the call later. * @throws ResourceNotFoundException * Amazon Kinesis Video Streams can't find the stream that you specified. * @throws AccessDeniedException * You do not have required permissions to perform this operation. * @throws ResourceInUseException * When the inputStreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* 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.
*
StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* 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.
*
StreamARN
or ChannelARN
in CLOUD_STORAGE_MODE
is
* already mapped to a different Kinesis Video Stream resource, or if the provided input
* StreamARN
or ChannelARN
is not in Active status, try one of the following :
*
*
* The DescribeMediaStorageConfiguration
API to determine what the stream given channel is
* mapped to.
*
* The DescribeMappedResourceConfiguration
API to determine the channel that the given stream
* is mapped to.
*
* The DescribeStream
or DescribeSignalingChannel
API to determine the status of
* the resource.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }