SDK for PHP 3.x

Client: Aws\KinesisVideo\KinesisVideoClient
Service ID: kinesisvideo
Version: 2017-09-30

This page describes the parameters and results for the operations of the Amazon Kinesis Video Streams (2017-09-30), and shows how to use the Aws\KinesisVideo\KinesisVideoClient object to call the described operations. This documentation is specific to the 2017-09-30 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CreateSignalingChannel ( array $params = [] )
Creates a signaling channel.
CreateStream ( array $params = [] )
Creates a new Kinesis video stream.
DeleteEdgeConfiguration ( array $params = [] )
An asynchronous API that deletes a stream’s existing edge configuration, as well as the corresponding media from the Edge Agent.
DeleteSignalingChannel ( array $params = [] )
Deletes a specified signaling channel.
DeleteStream ( array $params = [] )
Deletes a Kinesis video stream and the data contained in the stream.
DescribeEdgeConfiguration ( array $params = [] )
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.
DescribeImageGenerationConfiguration ( array $params = [] )
Gets the ImageGenerationConfiguration for a given Kinesis video stream.
DescribeMappedResourceConfiguration ( array $params = [] )
Returns the most current information about the stream.
DescribeMediaStorageConfiguration ( array $params = [] )
Returns the most current information about the channel.
DescribeNotificationConfiguration ( array $params = [] )
Gets the NotificationConfiguration for a given Kinesis video stream.
DescribeSignalingChannel ( array $params = [] )
Returns the most current information about the signaling channel.
DescribeStream ( array $params = [] )
Returns the most current information about the specified stream.
GetDataEndpoint ( array $params = [] )
Gets an endpoint for a specified stream for either reading or writing.
GetSignalingChannelEndpoint ( array $params = [] )
Provides an endpoint for the specified signaling channel to send and receive messages.
ListEdgeAgentConfigurations ( array $params = [] )
Returns an array of edge configurations associated with the specified Edge Agent.
ListSignalingChannels ( array $params = [] )
Returns an array of ChannelInfo objects.
ListStreams ( array $params = [] )
Returns an array of StreamInfo objects.
ListTagsForResource ( array $params = [] )
Returns a list of tags associated with the specified signaling channel.
ListTagsForStream ( array $params = [] )
Returns a list of tags associated with the specified stream.
StartEdgeConfigurationUpdate ( array $params = [] )
An asynchronous API that updates a stream’s existing edge configuration.
TagResource ( array $params = [] )
Adds one or more tags to a signaling channel.
TagStream ( array $params = [] )
Adds one or more tags to a stream.
UntagResource ( array $params = [] )
Removes one or more tags from a signaling channel.
UntagStream ( array $params = [] )
Removes one or more tags from a stream.
UpdateDataRetention ( array $params = [] )
Increases or decreases the stream's data retention period by the value that you specify.
UpdateImageGenerationConfiguration ( array $params = [] )
Updates the StreamInfo and ImageProcessingConfiguration fields.
UpdateMediaStorageConfiguration ( array $params = [] )
Associates a SignalingChannel to a stream to store the media.
UpdateNotificationConfiguration ( array $params = [] )
Updates the notification information for a stream.
UpdateSignalingChannel ( array $params = [] )
Updates the existing signaling channel.
UpdateStream ( array $params = [] )
Updates stream metadata, such as the device name and media type.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

DescribeMappedResourceConfiguration
ListEdgeAgentConfigurations
ListSignalingChannels
ListStreams

Operations

CreateSignalingChannel

$result = $client->createSignalingChannel([/* ... */]);
$promise = $client->createSignalingChannelAsync([/* ... */]);

Creates a signaling channel.

CreateSignalingChannel is an asynchronous operation.

Parameter Syntax

$result = $client->createSignalingChannel([
    'ChannelName' => '<string>', // REQUIRED
    'ChannelType' => 'SINGLE_MASTER|FULL_MESH',
    'SingleMasterConfiguration' => [
        'MessageTtlSeconds' => <integer>,
    ],
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ChannelName
Required: Yes
Type: string

A name for the signaling channel that you are creating. It must be unique for each Amazon Web Services account and Amazon Web Services Region.

ChannelType
Type: string

A type of the signaling channel that you are creating. Currently, SINGLE_MASTER is the only supported channel type.

SingleMasterConfiguration
Type: SingleMasterConfiguration structure

A structure containing the configuration for the SINGLE_MASTER channel type.

Tags
Type: Array of Tag structures

A set of tags (key-value pairs) that you want to associate with this channel.

Result Syntax

[
    'ChannelARN' => '<string>',
]

Result Details

Members
ChannelARN
Type: string

The Amazon Resource Name (ARN) of the created channel.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

AccountChannelLimitExceededException:

You have reached the maximum limit of active signaling channels for this Amazon Web Services account in this region.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

AccessDeniedException:

You do not have required permissions to perform this operation.

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.

CreateStream

$result = $client->createStream([/* ... */]);
$promise = $client->createStreamAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createStream([
    'DataRetentionInHours' => <integer>,
    'DeviceName' => '<string>',
    'KmsKeyId' => '<string>',
    'MediaType' => '<string>',
    'StreamName' => '<string>', // REQUIRED
    'Tags' => ['<string>', ...],
]);

Parameter Details

Members
DataRetentionInHours
Type: int

The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.

The default value is 0, indicating that the stream does not persist data.

When the DataRetentionInHours value is 0, consumers can still consume the fragments that remain in the service host buffer, which has a retention time limit of 5 minutes and a retention memory limit of 200 MB. Fragments are removed from the buffer when either limit is reached.

DeviceName
Type: string

The name of the device that is writing to the stream.

In the current implementation, Kinesis Video Streams does not use this name.

KmsKeyId
Type: string

The ID of the Key Management Service (KMS) key that you want Kinesis Video Streams to use to encrypt stream data.

If no key ID is specified, the default, Kinesis Video-managed key (Amazon Web Services/kinesisvideo) is used.

For more information, see DescribeKey.

MediaType
Type: string

The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines.

Example valid values include "video/h264" and "video/h264,audio/aac".

This parameter is optional; the default value is null (or empty in JSON).

StreamName
Required: Yes
Type: string

A name for the stream that you are creating.

The stream name is an identifier for the stream, and must be unique for each account and region.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

A list of tags to associate with the specified stream. Each tag is a key-value pair (the value is optional).

Result Syntax

[
    'StreamARN' => '<string>',
]

Result Details

Members
StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream.

Errors

AccountStreamLimitExceededException:

The number of streams created for the account is too high.

DeviceStreamLimitExceededException:

Not implemented.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

InvalidDeviceException:

Not implemented.

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

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.

DeleteEdgeConfiguration

$result = $client->deleteEdgeConfiguration([/* ... */]);
$promise = $client->deleteEdgeConfigurationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->deleteEdgeConfiguration([
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream. Specify either the StreamName or the StreamARN.

StreamName
Type: string

The name of the stream from which to delete the edge configuration. Specify either the StreamName or the StreamARN.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

You do not have required permissions to perform this operation.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

StreamEdgeConfigurationNotFoundException:

The Exception rendered when the Amazon Kinesis Video Stream can't find a stream's edge configuration that you specified.

DeleteSignalingChannel

$result = $client->deleteSignalingChannel([/* ... */]);
$promise = $client->deleteSignalingChannelAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->deleteSignalingChannel([
    'ChannelARN' => '<string>', // REQUIRED
    'CurrentVersion' => '<string>',
]);

Parameter Details

Members
ChannelARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the signaling channel that you want to delete.

CurrentVersion
Type: string

The current version of the signaling channel that you want to delete. You can obtain the current version by invoking the DescribeSignalingChannel or ListSignalingChannels API operations.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

AccessDeniedException:

You do not have required permissions to perform this operation.

VersionMismatchException:

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

DeleteStream

$result = $client->deleteStream([/* ... */]);
$promise = $client->deleteStreamAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->deleteStream([
    'CurrentVersion' => '<string>',
    'StreamARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
CurrentVersion
Type: string

Optional: The version of the stream that you want to delete.

Specify the version as a safeguard to ensure that your are deleting the correct stream. To get the stream version, use the DescribeStream API.

If not specified, only the CreationTime is checked before deleting the stream.

StreamARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the stream that you want to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

NotAuthorizedException:

The caller is not authorized to perform this operation.

VersionMismatchException:

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

DescribeEdgeConfiguration

$result = $client->describeEdgeConfiguration([/* ... */]);
$promise = $client->describeEdgeConfigurationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->describeEdgeConfiguration([
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream. Specify either the StreamNameor the StreamARN.

StreamName
Type: string

The name of the stream whose edge configuration you want to update. Specify either the StreamName or the StreamARN.

Result Syntax

[
    'CreationTime' => <DateTime>,
    'EdgeAgentStatus' => [
        'LastRecorderStatus' => [
            'JobStatusDetails' => '<string>',
            'LastCollectedTime' => <DateTime>,
            'LastUpdatedTime' => <DateTime>,
            'RecorderStatus' => 'SUCCESS|USER_ERROR|SYSTEM_ERROR',
        ],
        'LastUploaderStatus' => [
            'JobStatusDetails' => '<string>',
            'LastCollectedTime' => <DateTime>,
            'LastUpdatedTime' => <DateTime>,
            'UploaderStatus' => 'SUCCESS|USER_ERROR|SYSTEM_ERROR',
        ],
    ],
    'EdgeConfig' => [
        'DeletionConfig' => [
            'DeleteAfterUpload' => true || false,
            'EdgeRetentionInHours' => <integer>,
            'LocalSizeConfig' => [
                'MaxLocalMediaSizeInMB' => <integer>,
                'StrategyOnFullSize' => 'DELETE_OLDEST_MEDIA|DENY_NEW_MEDIA',
            ],
        ],
        'HubDeviceArn' => '<string>',
        'RecorderConfig' => [
            'MediaSourceConfig' => [
                'MediaUriSecretArn' => '<string>',
                'MediaUriType' => 'RTSP_URI|FILE_URI',
            ],
            'ScheduleConfig' => [
                'DurationInSeconds' => <integer>,
                'ScheduleExpression' => '<string>',
            ],
        ],
        'UploaderConfig' => [
            'ScheduleConfig' => [
                'DurationInSeconds' => <integer>,
                'ScheduleExpression' => '<string>',
            ],
        ],
    ],
    'FailedStatusDetails' => '<string>',
    'LastUpdatedTime' => <DateTime>,
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
    'SyncStatus' => 'SYNCING|ACKNOWLEDGED|IN_SYNC|SYNC_FAILED|DELETING|DELETE_FAILED|DELETING_ACKNOWLEDGED',
]

Result Details

Members
CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp at which a stream’s edge configuration was first created.

EdgeAgentStatus
Type: EdgeAgentStatus structure

An object that contains the latest status details for an edge agent's recorder and uploader jobs. Use this information to determine the current health of an edge agent.

EdgeConfig
Type: EdgeConfig structure

A description of the stream's edge configuration that will be used to sync with the Edge Agent IoT Greengrass component. The Edge Agent component will run on an IoT Hub Device setup at your premise.

FailedStatusDetails
Type: string

A description of the generated failure status.

LastUpdatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp at which a stream’s edge configuration was last updated.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream.

StreamName
Type: string

The name of the stream from which the edge configuration was updated.

SyncStatus
Type: string

The latest status of the edge configuration update.

Errors

AccessDeniedException:

You do not have required permissions to perform this operation.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

StreamEdgeConfigurationNotFoundException:

The Exception rendered when the Amazon Kinesis Video Stream can't find a stream's edge configuration that you specified.

DescribeImageGenerationConfiguration

$result = $client->describeImageGenerationConfiguration([/* ... */]);
$promise = $client->describeImageGenerationConfigurationAsync([/* ... */]);

Gets the ImageGenerationConfiguration for a given Kinesis video stream.

Parameter Syntax

$result = $client->describeImageGenerationConfiguration([
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
StreamARN
Type: string

The Amazon Resource Name (ARN) of the Kinesis video stream from which to retrieve the image generation configuration. You must specify either the StreamName or the StreamARN.

StreamName
Type: string

The name of the stream from which to retrieve the image generation configuration. You must specify either the StreamName or the StreamARN.

Result Syntax

[
    'ImageGenerationConfiguration' => [
        'DestinationConfig' => [
            'DestinationRegion' => '<string>',
            'Uri' => '<string>',
        ],
        'Format' => 'JPEG|PNG',
        'FormatConfig' => ['<string>', ...],
        'HeightPixels' => <integer>,
        'ImageSelectorType' => 'SERVER_TIMESTAMP|PRODUCER_TIMESTAMP',
        'SamplingInterval' => <integer>,
        'Status' => 'ENABLED|DISABLED',
        'WidthPixels' => <integer>,
    ],
]

Result Details

Members
ImageGenerationConfiguration

The structure that contains the information required for the Kinesis video stream (KVS) images delivery. If this structure is null, the configuration will be deleted from the stream.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

AccessDeniedException:

You do not have required permissions to perform this operation.

DescribeMappedResourceConfiguration

$result = $client->describeMappedResourceConfiguration([/* ... */]);
$promise = $client->describeMappedResourceConfigurationAsync([/* ... */]);

Returns the most current information about the stream. The streamName or streamARN should be provided in the input.

Parameter Syntax

$result = $client->describeMappedResourceConfiguration([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return in the response.

NextToken
Type: string

The token to provide in your next request, to get another batch of results.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream.

StreamName
Type: string

The name of the stream.

Result Syntax

[
    'MappedResourceConfigurationList' => [
        [
            'ARN' => '<string>',
            'Type' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
MappedResourceConfigurationList
Type: Array of MappedResourceConfigurationListItem structures

A structure that encapsulates, or contains, the media storage configuration properties.

NextToken
Type: string

The token that was used in the NextTokenrequest to fetch the next set of results.

Errors

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

InvalidArgumentException:

The value for this input parameter is invalid.

AccessDeniedException:

You do not have required permissions to perform this operation.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

DescribeMediaStorageConfiguration

$result = $client->describeMediaStorageConfiguration([/* ... */]);
$promise = $client->describeMediaStorageConfigurationAsync([/* ... */]);

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

Parameter Syntax

$result = $client->describeMediaStorageConfiguration([
    'ChannelARN' => '<string>',
    'ChannelName' => '<string>',
]);

Parameter Details

Members
ChannelARN
Type: string

The Amazon Resource Name (ARN) of the channel.

ChannelName
Type: string

The name of the channel.

Result Syntax

[
    'MediaStorageConfiguration' => [
        'Status' => 'ENABLED|DISABLED',
        'StreamARN' => '<string>',
    ],
]

Result Details

Members
MediaStorageConfiguration
Type: MediaStorageConfiguration structure

A structure that encapsulates, or contains, the media storage configuration properties.

Errors

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

InvalidArgumentException:

The value for this input parameter is invalid.

AccessDeniedException:

You do not have required permissions to perform this operation.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

DescribeNotificationConfiguration

$result = $client->describeNotificationConfiguration([/* ... */]);
$promise = $client->describeNotificationConfigurationAsync([/* ... */]);

Gets the NotificationConfiguration for a given Kinesis video stream.

Parameter Syntax

$result = $client->describeNotificationConfiguration([
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
StreamARN
Type: string

The Amazon Resource Name (ARN) of the Kinesis video stream from where you want to retrieve the notification configuration. You must specify either the StreamName or the StreamARN.

StreamName
Type: string

The name of the stream from which to retrieve the notification configuration. You must specify either the StreamName or the StreamARN.

Result Syntax

[
    'NotificationConfiguration' => [
        'DestinationConfig' => [
            'Uri' => '<string>',
        ],
        'Status' => 'ENABLED|DISABLED',
    ],
]

Result Details

Members
NotificationConfiguration
Type: NotificationConfiguration structure

The structure that contains the information required for notifications. If the structure is null, the configuration will be deleted from the stream.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

AccessDeniedException:

You do not have required permissions to perform this operation.

DescribeSignalingChannel

$result = $client->describeSignalingChannel([/* ... */]);
$promise = $client->describeSignalingChannelAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->describeSignalingChannel([
    'ChannelARN' => '<string>',
    'ChannelName' => '<string>',
]);

Parameter Details

Members
ChannelARN
Type: string

The ARN of the signaling channel that you want to describe.

ChannelName
Type: string

The name of the signaling channel that you want to describe.

Result Syntax

[
    'ChannelInfo' => [
        'ChannelARN' => '<string>',
        'ChannelName' => '<string>',
        'ChannelStatus' => 'CREATING|ACTIVE|UPDATING|DELETING',
        'ChannelType' => 'SINGLE_MASTER|FULL_MESH',
        'CreationTime' => <DateTime>,
        'SingleMasterConfiguration' => [
            'MessageTtlSeconds' => <integer>,
        ],
        'Version' => '<string>',
    ],
]

Result Details

Members
ChannelInfo
Type: ChannelInfo structure

A structure that encapsulates the specified signaling channel's metadata and properties.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

AccessDeniedException:

You do not have required permissions to perform this operation.

DescribeStream

$result = $client->describeStream([/* ... */]);
$promise = $client->describeStreamAsync([/* ... */]);

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

Parameter Syntax

$result = $client->describeStream([
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream.

StreamName
Type: string

The name of the stream.

Result Syntax

[
    'StreamInfo' => [
        'CreationTime' => <DateTime>,
        'DataRetentionInHours' => <integer>,
        'DeviceName' => '<string>',
        'KmsKeyId' => '<string>',
        'MediaType' => '<string>',
        'Status' => 'CREATING|ACTIVE|UPDATING|DELETING',
        'StreamARN' => '<string>',
        'StreamName' => '<string>',
        'Version' => '<string>',
    ],
]

Result Details

Members
StreamInfo
Type: StreamInfo structure

An object that describes the stream.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

NotAuthorizedException:

The caller is not authorized to perform this operation.

GetDataEndpoint

$result = $client->getDataEndpoint([/* ... */]);
$promise = $client->getDataEndpointAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->getDataEndpoint([
    'APIName' => 'PUT_MEDIA|GET_MEDIA|LIST_FRAGMENTS|GET_MEDIA_FOR_FRAGMENT_LIST|GET_HLS_STREAMING_SESSION_URL|GET_DASH_STREAMING_SESSION_URL|GET_CLIP|GET_IMAGES', // REQUIRED
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
APIName
Required: Yes
Type: string

The name of the API action for which to get an endpoint.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamName in the request.

StreamName
Type: string

The name of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamARN in the request.

Result Syntax

[
    'DataEndpoint' => '<string>',
]

Result Details

Members
DataEndpoint
Type: string

The endpoint value. To read data from the stream or to write data to it, specify this endpoint in your application.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

NotAuthorizedException:

The caller is not authorized to perform this operation.

GetSignalingChannelEndpoint

$result = $client->getSignalingChannelEndpoint([/* ... */]);
$promise = $client->getSignalingChannelEndpointAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->getSignalingChannelEndpoint([
    'ChannelARN' => '<string>', // REQUIRED
    'SingleMasterChannelEndpointConfiguration' => [
        'Protocols' => ['<string>', ...],
        'Role' => 'MASTER|VIEWER',
    ],
]);

Parameter Details

Members
ChannelARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the signalling channel for which you want to get an endpoint.

SingleMasterChannelEndpointConfiguration

A structure containing the endpoint configuration for the SINGLE_MASTER channel type.

Result Syntax

[
    'ResourceEndpointList' => [
        [
            'Protocol' => 'WSS|HTTPS|WEBRTC',
            'ResourceEndpoint' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
ResourceEndpointList
Type: Array of ResourceEndpointListItem structures

A list of endpoints for the specified signaling channel.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

AccessDeniedException:

You do not have required permissions to perform this operation.

ListEdgeAgentConfigurations

$result = $client->listEdgeAgentConfigurations([/* ... */]);
$promise = $client->listEdgeAgentConfigurationsAsync([/* ... */]);

Returns an array of edge configurations associated with the specified Edge Agent.

In the request, you must specify the Edge Agent HubDeviceArn.

Parameter Syntax

$result = $client->listEdgeAgentConfigurations([
    'HubDeviceArn' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
HubDeviceArn
Required: Yes
Type: string

The "Internet of Things (IoT) Thing" Arn of the edge agent.

MaxResults
Type: int

The maximum number of edge configurations to return in the response. The default is 5.

NextToken
Type: string

If you specify this parameter, when the result of a ListEdgeAgentConfigurations operation is truncated, the call returns the NextToken in the response. To get another batch of edge configurations, provide this token in your next request.

Result Syntax

[
    'EdgeConfigs' => [
        [
            'CreationTime' => <DateTime>,
            'EdgeConfig' => [
                'DeletionConfig' => [
                    'DeleteAfterUpload' => true || false,
                    'EdgeRetentionInHours' => <integer>,
                    'LocalSizeConfig' => [
                        'MaxLocalMediaSizeInMB' => <integer>,
                        'StrategyOnFullSize' => 'DELETE_OLDEST_MEDIA|DENY_NEW_MEDIA',
                    ],
                ],
                'HubDeviceArn' => '<string>',
                'RecorderConfig' => [
                    'MediaSourceConfig' => [
                        'MediaUriSecretArn' => '<string>',
                        'MediaUriType' => 'RTSP_URI|FILE_URI',
                    ],
                    'ScheduleConfig' => [
                        'DurationInSeconds' => <integer>,
                        'ScheduleExpression' => '<string>',
                    ],
                ],
                'UploaderConfig' => [
                    'ScheduleConfig' => [
                        'DurationInSeconds' => <integer>,
                        'ScheduleExpression' => '<string>',
                    ],
                ],
            ],
            'FailedStatusDetails' => '<string>',
            'LastUpdatedTime' => <DateTime>,
            'StreamARN' => '<string>',
            'StreamName' => '<string>',
            'SyncStatus' => 'SYNCING|ACKNOWLEDGED|IN_SYNC|SYNC_FAILED|DELETING|DELETE_FAILED|DELETING_ACKNOWLEDGED',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
EdgeConfigs
Type: Array of ListEdgeAgentConfigurationsEdgeConfig structures

A description of a single stream's edge configuration.

NextToken
Type: string

If the response is truncated, the call returns this element with a given token. To get the next batch of edge configurations, use this token in your next request.

Errors

NotAuthorizedException:

The caller is not authorized to perform this operation.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

ListSignalingChannels

$result = $client->listSignalingChannels([/* ... */]);
$promise = $client->listSignalingChannelsAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->listSignalingChannels([
    'ChannelNameCondition' => [
        'ComparisonOperator' => 'BEGINS_WITH',
        'ComparisonValue' => '<string>',
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ChannelNameCondition
Type: ChannelNameCondition structure

Optional: Returns only the channels that satisfy a specific condition.

MaxResults
Type: int

The maximum number of channels to return in the response. The default is 500.

NextToken
Type: string

If you specify this parameter, when the result of a ListSignalingChannels operation is truncated, the call returns the NextToken in the response. To get another batch of channels, provide this token in your next request.

Result Syntax

[
    'ChannelInfoList' => [
        [
            'ChannelARN' => '<string>',
            'ChannelName' => '<string>',
            'ChannelStatus' => 'CREATING|ACTIVE|UPDATING|DELETING',
            'ChannelType' => 'SINGLE_MASTER|FULL_MESH',
            'CreationTime' => <DateTime>,
            'SingleMasterConfiguration' => [
                'MessageTtlSeconds' => <integer>,
            ],
            'Version' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ChannelInfoList
Type: Array of ChannelInfo structures

An array of ChannelInfo objects.

NextToken
Type: string

If the response is truncated, the call returns this element with a token. To get the next batch of streams, use this token in your next request.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

AccessDeniedException:

You do not have required permissions to perform this operation.

ListStreams

$result = $client->listStreams([/* ... */]);
$promise = $client->listStreamsAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->listStreams([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'StreamNameCondition' => [
        'ComparisonOperator' => 'BEGINS_WITH',
        'ComparisonValue' => '<string>',
    ],
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of streams to return in the response. The default is 10,000.

NextToken
Type: string

If you specify this parameter, when the result of a ListStreams operation is truncated, the call returns the NextToken in the response. To get another batch of streams, provide this token in your next request.

StreamNameCondition
Type: StreamNameCondition structure

Optional: Returns only streams that satisfy a specific condition. Currently, you can specify only the prefix of a stream name as a condition.

Result Syntax

[
    'NextToken' => '<string>',
    'StreamInfoList' => [
        [
            'CreationTime' => <DateTime>,
            'DataRetentionInHours' => <integer>,
            'DeviceName' => '<string>',
            'KmsKeyId' => '<string>',
            'MediaType' => '<string>',
            'Status' => 'CREATING|ACTIVE|UPDATING|DELETING',
            'StreamARN' => '<string>',
            'StreamName' => '<string>',
            'Version' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

If the response is truncated, the call returns this element with a token. To get the next batch of streams, use this token in your next request.

StreamInfoList
Type: Array of StreamInfo structures

An array of StreamInfo objects.

Errors

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

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

Parameter Syntax

$result = $client->listTagsForResource([
    'NextToken' => '<string>',
    'ResourceARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
NextToken
Type: string

If you specify this parameter and the result of a ListTagsForResource call is truncated, the response includes a token that you can use in the next request to fetch the next batch of tags.

ResourceARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the signaling channel for which you want to list tags.

Result Syntax

[
    'NextToken' => '<string>',
    'Tags' => ['<string>', ...],
]

Result Details

Members
NextToken
Type: string

If you specify this parameter and the result of a ListTagsForResource call is truncated, the response includes a token that you can use in the next request to fetch the next set of tags.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

A map of tag keys and values associated with the specified signaling channel.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

AccessDeniedException:

You do not have required permissions to perform this operation.

ListTagsForStream

$result = $client->listTagsForStream([/* ... */]);
$promise = $client->listTagsForStreamAsync([/* ... */]);

Returns a list of tags associated with the specified stream.

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

Parameter Syntax

$result = $client->listTagsForStream([
    'NextToken' => '<string>',
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
NextToken
Type: string

If you specify this parameter and the result of a ListTagsForStream call is truncated, the response includes a token that you can use in the next request to fetch the next batch of tags.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream that you want to list tags for.

StreamName
Type: string

The name of the stream that you want to list tags for.

Result Syntax

[
    'NextToken' => '<string>',
    'Tags' => ['<string>', ...],
]

Result Details

Members
NextToken
Type: string

If you specify this parameter and the result of a ListTags call is truncated, the response includes a token that you can use in the next request to fetch the next set of tags.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

A map of tag keys and values associated with the specified stream.

Errors

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

NotAuthorizedException:

The caller is not authorized to perform this operation.

InvalidResourceFormatException:

The format of the StreamARN is invalid.

StartEdgeConfigurationUpdate

$result = $client->startEdgeConfigurationUpdate([/* ... */]);
$promise = $client->startEdgeConfigurationUpdateAsync([/* ... */]);

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.

To move an edge configuration from one device to another, use DeleteEdgeConfiguration to delete the current edge configuration. You can then invoke StartEdgeConfigurationUpdate with an updated Hub Device ARN.

Parameter Syntax

$result = $client->startEdgeConfigurationUpdate([
    'EdgeConfig' => [ // REQUIRED
        'DeletionConfig' => [
            'DeleteAfterUpload' => true || false,
            'EdgeRetentionInHours' => <integer>,
            'LocalSizeConfig' => [
                'MaxLocalMediaSizeInMB' => <integer>,
                'StrategyOnFullSize' => 'DELETE_OLDEST_MEDIA|DENY_NEW_MEDIA',
            ],
        ],
        'HubDeviceArn' => '<string>', // REQUIRED
        'RecorderConfig' => [ // REQUIRED
            'MediaSourceConfig' => [ // REQUIRED
                'MediaUriSecretArn' => '<string>', // REQUIRED
                'MediaUriType' => 'RTSP_URI|FILE_URI', // REQUIRED
            ],
            'ScheduleConfig' => [
                'DurationInSeconds' => <integer>, // REQUIRED
                'ScheduleExpression' => '<string>', // REQUIRED
            ],
        ],
        'UploaderConfig' => [
            'ScheduleConfig' => [ // REQUIRED
                'DurationInSeconds' => <integer>, // REQUIRED
                'ScheduleExpression' => '<string>', // REQUIRED
            ],
        ],
    ],
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
EdgeConfig
Required: Yes
Type: EdgeConfig structure

The edge configuration details required to invoke the update process.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream. Specify either the StreamName or the StreamARN.

StreamName
Type: string

The name of the stream whose edge configuration you want to update. Specify either the StreamName or the StreamARN.

Result Syntax

[
    'CreationTime' => <DateTime>,
    'EdgeConfig' => [
        'DeletionConfig' => [
            'DeleteAfterUpload' => true || false,
            'EdgeRetentionInHours' => <integer>,
            'LocalSizeConfig' => [
                'MaxLocalMediaSizeInMB' => <integer>,
                'StrategyOnFullSize' => 'DELETE_OLDEST_MEDIA|DENY_NEW_MEDIA',
            ],
        ],
        'HubDeviceArn' => '<string>',
        'RecorderConfig' => [
            'MediaSourceConfig' => [
                'MediaUriSecretArn' => '<string>',
                'MediaUriType' => 'RTSP_URI|FILE_URI',
            ],
            'ScheduleConfig' => [
                'DurationInSeconds' => <integer>,
                'ScheduleExpression' => '<string>',
            ],
        ],
        'UploaderConfig' => [
            'ScheduleConfig' => [
                'DurationInSeconds' => <integer>,
                'ScheduleExpression' => '<string>',
            ],
        ],
    ],
    'FailedStatusDetails' => '<string>',
    'LastUpdatedTime' => <DateTime>,
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
    'SyncStatus' => 'SYNCING|ACKNOWLEDGED|IN_SYNC|SYNC_FAILED|DELETING|DELETE_FAILED|DELETING_ACKNOWLEDGED',
]

Result Details

Members
CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp at which a stream’s edge configuration was first created.

EdgeConfig
Type: EdgeConfig structure

A description of the stream's edge configuration that will be used to sync with the Edge Agent IoT Greengrass component. The Edge Agent component will run on an IoT Hub Device setup at your premise.

FailedStatusDetails
Type: string

A description of the generated failure status.

LastUpdatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp at which a stream’s edge configuration was last updated.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream.

StreamName
Type: string

The name of the stream from which the edge configuration was updated.

SyncStatus
Type: string

The current sync status of the stream's edge configuration. When you invoke this API, the sync status will be set to the SYNCING state. Use the DescribeEdgeConfiguration API to get the latest status of the edge configuration.

Errors

AccessDeniedException:

You do not have required permissions to perform this operation.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

NoDataRetentionException:

The Stream data retention in hours is equal to zero.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->tagResource([
    'ResourceARN' => '<string>', // REQUIRED
    'Tags' => [ // REQUIRED
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the signaling channel to which you want to add tags.

Tags
Required: Yes
Type: Array of Tag structures

A list of tags to associate with the specified signaling channel. Each tag is a key-value pair.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

AccessDeniedException:

You do not have required permissions to perform this operation.

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.

TagStream

$result = $client->tagStream([/* ... */]);
$promise = $client->tagStreamAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->tagStream([
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
    'Tags' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
StreamARN
Type: string

The Amazon Resource Name (ARN) of the resource that you want to add the tag or tags to.

StreamName
Type: string

The name of the stream that you want to add the tag or tags to.

Tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

A list of tags to associate with the specified stream. Each tag is a key-value pair (the value is optional).

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

NotAuthorizedException:

The caller is not authorized to perform this operation.

InvalidResourceFormatException:

The format of the StreamARN is invalid.

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.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->untagResource([
    'ResourceARN' => '<string>', // REQUIRED
    'TagKeyList' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the signaling channel from which you want to remove tags.

TagKeyList
Required: Yes
Type: Array of strings

A list of the keys of the tags that you want to remove.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

AccessDeniedException:

You do not have required permissions to perform this operation.

UntagStream

$result = $client->untagStream([/* ... */]);
$promise = $client->untagStreamAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->untagStream([
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
    'TagKeyList' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream that you want to remove tags from.

StreamName
Type: string

The name of the stream that you want to remove tags from.

TagKeyList
Required: Yes
Type: Array of strings

A list of the keys of the tags that you want to remove.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

NotAuthorizedException:

The caller is not authorized to perform this operation.

InvalidResourceFormatException:

The format of the StreamARN is invalid.

UpdateDataRetention

$result = $client->updateDataRetention([/* ... */]);
$promise = $client->updateDataRetentionAsync([/* ... */]);

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.

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.

Parameter Syntax

$result = $client->updateDataRetention([
    'CurrentVersion' => '<string>', // REQUIRED
    'DataRetentionChangeInHours' => <integer>, // REQUIRED
    'Operation' => 'INCREASE_DATA_RETENTION|DECREASE_DATA_RETENTION', // REQUIRED
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
CurrentVersion
Required: Yes
Type: string

The version of the stream whose retention period you want to change. To get the version, call either the DescribeStream or the ListStreams API.

DataRetentionChangeInHours
Required: Yes
Type: int

The number of hours to adjust the current retention by. The value you specify is added to or subtracted from the current value, depending on the operation.

The minimum value for data retention is 0 and the maximum value is 87600 (ten years).

Operation
Required: Yes
Type: string

Indicates whether you want to increase or decrease the retention period.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream whose retention period you want to change.

StreamName
Type: string

The name of the stream whose retention period you want to change.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

NotAuthorizedException:

The caller is not authorized to perform this operation.

VersionMismatchException:

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

UpdateImageGenerationConfiguration

$result = $client->updateImageGenerationConfiguration([/* ... */]);
$promise = $client->updateImageGenerationConfigurationAsync([/* ... */]);

Updates the StreamInfo and ImageProcessingConfiguration fields.

Parameter Syntax

$result = $client->updateImageGenerationConfiguration([
    'ImageGenerationConfiguration' => [
        'DestinationConfig' => [ // REQUIRED
            'DestinationRegion' => '<string>', // REQUIRED
            'Uri' => '<string>', // REQUIRED
        ],
        'Format' => 'JPEG|PNG', // REQUIRED
        'FormatConfig' => ['<string>', ...],
        'HeightPixels' => <integer>,
        'ImageSelectorType' => 'SERVER_TIMESTAMP|PRODUCER_TIMESTAMP', // REQUIRED
        'SamplingInterval' => <integer>, // REQUIRED
        'Status' => 'ENABLED|DISABLED', // REQUIRED
        'WidthPixels' => <integer>,
    ],
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
ImageGenerationConfiguration

The structure that contains the information required for the KVS images delivery. If the structure is null, the configuration will be deleted from the stream.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the Kinesis video stream from where you want to update the image generation configuration. You must specify either the StreamName or the StreamARN.

StreamName
Type: string

The name of the stream from which to update the image generation configuration. You must specify either the StreamName or the StreamARN.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

AccessDeniedException:

You do not have required permissions to perform this operation.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

NoDataRetentionException:

The Stream data retention in hours is equal to zero.

UpdateMediaStorageConfiguration

$result = $client->updateMediaStorageConfiguration([/* ... */]);
$promise = $client->updateMediaStorageConfigurationAsync([/* ... */]);

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that you can specify :

  • If StorageStatus is enabled, the data will be stored in the StreamARN provided. In order for WebRTC Ingestion to work, the stream must have data retention enabled.

  • If StorageStatus is disabled, no data will be stored, and the StreamARN parameter will not be needed.

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

Parameter Syntax

$result = $client->updateMediaStorageConfiguration([
    'ChannelARN' => '<string>', // REQUIRED
    'MediaStorageConfiguration' => [ // REQUIRED
        'Status' => 'ENABLED|DISABLED', // REQUIRED
        'StreamARN' => '<string>',
    ],
]);

Parameter Details

Members
ChannelARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the channel.

MediaStorageConfiguration
Required: Yes
Type: MediaStorageConfiguration structure

A structure that encapsulates, or contains, the media storage configuration properties.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

AccessDeniedException:

You do not have required permissions to perform this operation.

NoDataRetentionException:

The Stream data retention in hours is equal to zero.

UpdateNotificationConfiguration

$result = $client->updateNotificationConfiguration([/* ... */]);
$promise = $client->updateNotificationConfigurationAsync([/* ... */]);

Updates the notification information for a stream.

Parameter Syntax

$result = $client->updateNotificationConfiguration([
    'NotificationConfiguration' => [
        'DestinationConfig' => [ // REQUIRED
            'Uri' => '<string>', // REQUIRED
        ],
        'Status' => 'ENABLED|DISABLED', // REQUIRED
    ],
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
NotificationConfiguration
Type: NotificationConfiguration structure

The structure containing the information required for notifications. If the structure is null, the configuration will be deleted from the stream.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the Kinesis video stream from where you want to update the notification configuration. You must specify either the StreamName or the StreamARN.

StreamName
Type: string

The name of the stream from which to update the notification configuration. You must specify either the StreamName or the StreamARN.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

AccessDeniedException:

You do not have required permissions to perform this operation.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

NoDataRetentionException:

The Stream data retention in hours is equal to zero.

UpdateSignalingChannel

$result = $client->updateSignalingChannel([/* ... */]);
$promise = $client->updateSignalingChannelAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->updateSignalingChannel([
    'ChannelARN' => '<string>', // REQUIRED
    'CurrentVersion' => '<string>', // REQUIRED
    'SingleMasterConfiguration' => [
        'MessageTtlSeconds' => <integer>,
    ],
]);

Parameter Details

Members
ChannelARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the signaling channel that you want to update.

CurrentVersion
Required: Yes
Type: string

The current version of the signaling channel that you want to update.

SingleMasterConfiguration
Type: SingleMasterConfiguration structure

The structure containing the configuration for the SINGLE_MASTER type of the signaling channel that you want to update.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidArgumentException:

The value for this input parameter is invalid.

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

AccessDeniedException:

You do not have required permissions to perform this operation.

VersionMismatchException:

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

UpdateStream

$result = $client->updateStream([/* ... */]);
$promise = $client->updateStreamAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->updateStream([
    'CurrentVersion' => '<string>', // REQUIRED
    'DeviceName' => '<string>',
    'MediaType' => '<string>',
    'StreamARN' => '<string>',
    'StreamName' => '<string>',
]);

Parameter Details

Members
CurrentVersion
Required: Yes
Type: string

The version of the stream whose metadata you want to update.

DeviceName
Type: string

The name of the device that is writing to the stream.

In the current implementation, Kinesis Video Streams does not use this name.

MediaType
Type: string

The stream's media type. Use MediaType to specify the type of content that the stream contains to the consumers of the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements.

To play video on the console, you must specify the correct video type. For example, if the video in the stream is H.264, specify video/h264 as the MediaType.

StreamARN
Type: string

The ARN of the stream whose metadata you want to update.

StreamName
Type: string

The name of the stream whose metadata you want to update.

The stream name is an identifier for the stream, and must be unique for each account and region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ClientLimitExceededException:

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

InvalidArgumentException:

The value for this input parameter is invalid.

ResourceNotFoundException:

Amazon Kinesis Video Streams can't find the stream that you specified.

ResourceInUseException:

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

NotAuthorizedException:

The caller is not authorized to perform this operation.

VersionMismatchException:

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

Shapes

AccessDeniedException

Description

You do not have required permissions to perform this operation.

Members
Message
Type: string

AccountChannelLimitExceededException

Description

You have reached the maximum limit of active signaling channels for this Amazon Web Services account in this region.

Members
Message
Type: string

AccountStreamLimitExceededException

Description

The number of streams created for the account is too high.

Members
Message
Type: string

ChannelInfo

Description

A structure that encapsulates a signaling channel's metadata and properties.

Members
ChannelARN
Type: string

The Amazon Resource Name (ARN) of the signaling channel.

ChannelName
Type: string

The name of the signaling channel.

ChannelStatus
Type: string

Current status of the signaling channel.

ChannelType
Type: string

The type of the signaling channel.

CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the signaling channel was created.

SingleMasterConfiguration
Type: SingleMasterConfiguration structure

A structure that contains the configuration for the SINGLE_MASTER channel type.

Version
Type: string

The current version of the signaling channel.

ChannelNameCondition

Description

An optional input parameter for the ListSignalingChannels API. When this parameter is specified while invoking ListSignalingChannels, the API returns only the channels that satisfy a condition specified in ChannelNameCondition.

Members
ComparisonOperator
Type: string

A comparison operator. Currently, you can only specify the BEGINS_WITH operator, which finds signaling channels whose names begin with a given prefix.

ComparisonValue
Type: string

A value to compare.

ClientLimitExceededException

Description

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

Members
Message
Type: string

DeletionConfig

Description

The configuration details required to delete the connection of the stream from the Edge Agent.

Members
DeleteAfterUpload
Type: boolean

The boolean value used to indicate whether or not you want to mark the media for deletion, once it has been uploaded to the Kinesis Video Stream cloud. The media files can be deleted if any of the deletion configuration values are set to true, such as when the limit for the EdgeRetentionInHours, or the MaxLocalMediaSizeInMB, has been reached.

Since the default value is set to true, configure the uploader schedule such that the media files are not being deleted before they are initially uploaded to the Amazon Web Services cloud.

EdgeRetentionInHours
Type: int

The number of hours that you want to retain the data in the stream on the Edge Agent. The default value of the retention time is 720 hours, which translates to 30 days.

LocalSizeConfig
Type: LocalSizeConfig structure

The value of the local size required in order to delete the edge configuration.

DeviceStreamLimitExceededException

Description

Not implemented.

Members
Message
Type: string

EdgeAgentStatus

Description

An object that contains the latest status details for an edge agent's recorder and uploader jobs. Use this information to determine the current health of an edge agent.

Members
LastRecorderStatus
Type: LastRecorderStatus structure

The latest status of a stream’s edge recording job.

LastUploaderStatus
Type: LastUploaderStatus structure

The latest status of a stream’s edge to cloud uploader job.

EdgeConfig

Description

A description of the stream's edge configuration that will be used to sync with the Edge Agent IoT Greengrass component. The Edge Agent component will run on an IoT Hub Device setup at your premise.

Members
DeletionConfig
Type: DeletionConfig structure

The deletion configuration is made up of the retention time (EdgeRetentionInHours) and local size configuration (LocalSizeConfig) details that are used to make the deletion.

HubDeviceArn
Required: Yes
Type: string

The "Internet of Things (IoT) Thing" Arn of the stream.

RecorderConfig
Required: Yes
Type: RecorderConfig structure

The recorder configuration consists of the local MediaSourceConfig details, that are used as credentials to access the local media files streamed on the camera.

UploaderConfig
Type: UploaderConfig structure

The uploader configuration contains the ScheduleExpression details that are used to schedule upload jobs for the recorded media files from the Edge Agent to a Kinesis Video Stream.

ImageGenerationConfiguration

Description

The structure that contains the information required for the KVS images delivery. If null, the configuration will be deleted from the stream.

Members
DestinationConfig
Required: Yes
Type: ImageGenerationDestinationConfig structure

The structure that contains the information required to deliver images to a customer.

Format
Required: Yes
Type: string

The accepted image format.

FormatConfig
Type: Associative array of custom strings keys (FormatConfigKey) to strings

The list of a key-value pair structure that contains extra parameters that can be applied when the image is generated. The FormatConfig key is the JPEGQuality, which indicates the JPEG quality key to be used to generate the image. The FormatConfig value accepts ints from 1 to 100. If the value is 1, the image will be generated with less quality and the best compression. If the value is 100, the image will be generated with the best quality and less compression. If no value is provided, the default value of the JPEGQuality key will be set to 80.

HeightPixels
Type: int

The height of the output image that is used in conjunction with the WidthPixels parameter. When both HeightPixels and WidthPixels parameters are provided, the image will be stretched to fit the specified aspect ratio. If only the HeightPixels parameter is provided, its original aspect ratio will be used to calculate the WidthPixels ratio. If neither parameter is provided, the original image size will be returned.

ImageSelectorType
Required: Yes
Type: string

The origin of the Server or Producer timestamps to use to generate the images.

SamplingInterval
Required: Yes
Type: int

The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 200 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

Status
Required: Yes
Type: string

Indicates whether the ContinuousImageGenerationConfigurations API is enabled or disabled.

WidthPixels
Type: int

The width of the output image that is used in conjunction with the HeightPixels parameter. When both WidthPixels and HeightPixels parameters are provided, the image will be stretched to fit the specified aspect ratio. If only the WidthPixels parameter is provided, its original aspect ratio will be used to calculate the HeightPixels ratio. If neither parameter is provided, the original image size will be returned.

ImageGenerationDestinationConfig

Description

The structure that contains the information required to deliver images to a customer.

Members
DestinationRegion
Required: Yes
Type: string

The Amazon Web Services Region of the S3 bucket where images will be delivered. This DestinationRegion must match the Region where the stream is located.

Uri
Required: Yes
Type: string

The Uniform Resource Identifier (URI) that identifies where the images will be delivered.

InvalidArgumentException

Description

The value for this input parameter is invalid.

Members
Message
Type: string

InvalidDeviceException

Description

Not implemented.

Members
Message
Type: string

InvalidResourceFormatException

Description

The format of the StreamARN is invalid.

Members
Message
Type: string

LastRecorderStatus

Description

The latest status of a stream's edge recording job.

Members
JobStatusDetails
Type: string

A description of a recorder job’s latest status.

LastCollectedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp at which the recorder job was last executed and media stored to local disk.

LastUpdatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp at which the recorder status was last updated.

RecorderStatus
Type: string

The status of the latest recorder job.

LastUploaderStatus

Description

The latest status of a stream’s edge to cloud uploader job.

Members
JobStatusDetails
Type: string

A description of an uploader job’s latest status.

LastCollectedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp at which the uploader job was last executed and media collected to the cloud.

LastUpdatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp at which the uploader status was last updated.

UploaderStatus
Type: string

The status of the latest uploader job.

ListEdgeAgentConfigurationsEdgeConfig

Description

A description of a single stream's edge configuration.

Members
CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the stream first created the edge config.

EdgeConfig
Type: EdgeConfig structure

A description of the stream's edge configuration that will be used to sync with the Edge Agent IoT Greengrass component. The Edge Agent component will run on an IoT Hub Device setup at your premise.

FailedStatusDetails
Type: string

A description of the generated failure status.

LastUpdatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the stream last updated the edge config.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream.

StreamName
Type: string

The name of the stream.

SyncStatus
Type: string

The current sync status of the stream's edge configuration.

LocalSizeConfig

Description

The configuration details that include the maximum size of the media (MaxLocalMediaSizeInMB) that you want to store for a stream on the Edge Agent, as well as the strategy that should be used (StrategyOnFullSize) when a stream's maximum size has been reached.

Members
MaxLocalMediaSizeInMB
Type: int

The overall maximum size of the media that you want to store for a stream on the Edge Agent.

StrategyOnFullSize
Type: string

The strategy to perform when a stream’s MaxLocalMediaSizeInMB limit is reached.

MappedResourceConfigurationListItem

Description

A structure that encapsulates, or contains, the media storage configuration properties.

Members
ARN
Type: string

The Amazon Resource Name (ARN) of the Kinesis Video Stream resource, associated with the stream.

Type
Type: string

The type of the associated resource for the kinesis video stream.

MediaSourceConfig

Description

The configuration details that consist of the credentials required (MediaUriSecretArn and MediaUriType) to access the media files that are streamed to the camera.

Members
MediaUriSecretArn
Required: Yes
Type: string

The Amazon Web Services Secrets Manager ARN for the username and password of the camera, or a local media file location.

MediaUriType
Required: Yes
Type: string

The Uniform Resource Identifier (URI) type. The FILE_URI value can be used to stream local media files.

Preview only supports the RTSP_URI media source URI format .

MediaStorageConfiguration

Description

A structure that encapsulates, or contains, the media storage configuration properties.

  • If StorageStatus is enabled, the data will be stored in the StreamARN provided. In order for WebRTC Ingestion to work, the stream must have data retention enabled.

  • If StorageStatus is disabled, no data will be stored, and the StreamARN parameter will not be needed.

Members
Status
Required: Yes
Type: string

The status of the media storage configuration.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream.

NoDataRetentionException

Description

The Stream data retention in hours is equal to zero.

Members
Message
Type: string

NotAuthorizedException

Description

The caller is not authorized to perform this operation.

Members
Message
Type: string

NotificationConfiguration

Description

The structure that contains the notification information for the KVS images delivery. If this parameter is null, the configuration will be deleted from the stream.

Members
DestinationConfig
Required: Yes
Type: NotificationDestinationConfig structure

The destination information required to deliver a notification to a customer.

Status
Required: Yes
Type: string

Indicates if a notification configuration is enabled or disabled.

NotificationDestinationConfig

Description

The structure that contains the information required to deliver a notification to a customer.

Members
Uri
Required: Yes
Type: string

The Uniform Resource Identifier (URI) that identifies where the images will be delivered.

RecorderConfig

Description

The recorder configuration consists of the local MediaSourceConfig details that are used as credentials to accesss the local media files streamed on the camera.

Members
MediaSourceConfig
Required: Yes
Type: MediaSourceConfig structure

The configuration details that consist of the credentials required (MediaUriSecretArn and MediaUriType) to access the media files streamed to the camera.

ScheduleConfig
Type: ScheduleConfig structure

The configuration that consists of the ScheduleExpression and the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleExpression attribute is not provided, then the Edge Agent will always be set to recording mode.

ResourceEndpointListItem

Description

An object that describes the endpoint of the signaling channel returned by the GetSignalingChannelEndpoint API.

The media server endpoint will correspond to the WEBRTC Protocol.

Members
Protocol
Type: string

The protocol of the signaling channel returned by the GetSignalingChannelEndpoint API.

ResourceEndpoint
Type: string

The endpoint of the signaling channel returned by the GetSignalingChannelEndpoint API.

ResourceInUseException

Description

When the input 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 :

  1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

  2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

  3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

Members
Message
Type: string

ResourceNotFoundException

Description

Amazon Kinesis Video Streams can't find the stream that you specified.

Members
Message
Type: string

ScheduleConfig

Description

This API enables you to specify the duration that the camera, or local media file, should record onto the Edge Agent. The ScheduleConfig consists of the ScheduleExpression and the DurationInMinutes attributes.

If the ScheduleConfig is not provided in the RecorderConfig, then the Edge Agent will always be set to recording mode.

If the ScheduleConfig is not provided in the UploaderConfig, then the Edge Agent will upload at regular intervals (every 1 hour).

Members
DurationInSeconds
Required: Yes
Type: int

The total duration to record the media. If the ScheduleExpression attribute is provided, then the DurationInSeconds attribute should also be specified.

ScheduleExpression
Required: Yes
Type: string

The Quartz cron expression that takes care of scheduling jobs to record from the camera, or local media file, onto the Edge Agent. If the ScheduleExpression is not provided for the RecorderConfig, then the Edge Agent will always be set to recording mode.

For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid expressions and its use.

SingleMasterChannelEndpointConfiguration

Description

An object that contains the endpoint configuration for the SINGLE_MASTER channel type.

Members
Protocols
Type: Array of strings

This property is used to determine the nature of communication over this SINGLE_MASTER signaling channel. If WSS is specified, this API returns a websocket endpoint. If HTTPS is specified, this API returns an HTTPS endpoint.

Role
Type: string

This property is used to determine messaging permissions in this SINGLE_MASTER signaling channel. If MASTER is specified, this API returns an endpoint that a client can use to receive offers from and send answers to any of the viewers on this signaling channel. If VIEWER is specified, this API returns an endpoint that a client can use only to send offers to another MASTER client on this signaling channel.

SingleMasterConfiguration

Description

A structure that contains the configuration for the SINGLE_MASTER channel type.

Members
MessageTtlSeconds
Type: int

The period of time a signaling channel retains undelivered messages before they are discarded.

StreamEdgeConfigurationNotFoundException

Description

The Exception rendered when the Amazon Kinesis Video Stream can't find a stream's edge configuration that you specified.

Members
Message
Type: string

StreamInfo

Description

An object describing a Kinesis video stream.

Members
CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

A time stamp that indicates when the stream was created.

DataRetentionInHours
Type: int

How long the stream retains data, in hours.

DeviceName
Type: string

The name of the device that is associated with the stream.

KmsKeyId
Type: string

The ID of the Key Management Service (KMS) key that Kinesis Video Streams uses to encrypt data on the stream.

MediaType
Type: string

The MediaType of the stream.

Status
Type: string

The status of the stream.

StreamARN
Type: string

The Amazon Resource Name (ARN) of the stream.

StreamName
Type: string

The name of the stream.

Version
Type: string

The version of the stream.

StreamNameCondition

Description

Specifies the condition that streams must satisfy to be returned when you list streams (see the ListStreams API). A condition has a comparison operation and a value. Currently, you can specify only the BEGINS_WITH operator, which finds streams whose names start with a given prefix.

Members
ComparisonOperator
Type: string

A comparison operator. Currently, you can specify only the BEGINS_WITH operator, which finds streams whose names start with a given prefix.

ComparisonValue
Type: string

A value to compare.

Tag

Description

A key and value pair that is associated with the specified signaling channel.

Members
Key
Required: Yes
Type: string

The key of the tag that is associated with the specified signaling channel.

Value
Required: Yes
Type: string

The value of the tag that is associated with the specified signaling channel.

TagsPerResourceExceededLimitException

Description

You have exceeded the limit of tags that you can associate with the resource. A Kinesis video stream can support up to 50 tags.

Members
Message
Type: string

UploaderConfig

Description

The configuration that consists of the ScheduleExpression and the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleConfig is not provided in the UploaderConfig, then the Edge Agent will upload at regular intervals (every 1 hour).

Members
ScheduleConfig
Required: Yes
Type: ScheduleConfig structure

The configuration that consists of the ScheduleExpression and the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleConfig is not provided in this UploaderConfig, then the Edge Agent will upload at regular intervals (every 1 hour).

VersionMismatchException

Description

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

Members
Message
Type: string