@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Kinesis Video Streams
@version 2017-09-30
@auth AWS SigV4
@endpoints 30
@hint download_for_search
@toc createSignalingChannel(1), createStream(1), deleteEdgeConfiguration(1), deleteSignalingChannel(1), deleteStream(1), describeEdgeConfiguration(1), describeImageGenerationConfiguration(1), describeMappedResourceConfiguration(1), describeMediaStorageConfiguration(1), describeNotificationConfiguration(1), describeSignalingChannel(1), describeStream(1), getDataEndpoint(1), getSignalingChannelEndpoint(1), listEdgeAgentConfigurations(1), listSignalingChannels(1), listStreams(1), ListTagsForResource(1), listTagsForStream(1), startEdgeConfigurationUpdate(1), TagResource(1), tagStream(1), UntagResource(1), untagStream(1), updateDataRetention(1), updateImageGenerationConfiguration(1), updateMediaStorageConfiguration(1), updateNotificationConfiguration(1), updateSignalingChannel(1), updateStream(1)

@group createSignalingChannel
@endpoint POST /createSignalingChannel
@required {ChannelName: str}
@optional {ChannelType: str, SingleMasterConfiguration: SingleMasterConfiguration, Tags: [Tag]}
@returns(200) {ChannelARN: str?}

@endgroup

@group createStream
@endpoint POST /createStream
@required {StreamName: str}
@optional {DeviceName: str, MediaType: str, KmsKeyId: str, DataRetentionInHours: int, Tags: map<str,str>}
@returns(200) {StreamARN: str?}

@endgroup

@group deleteEdgeConfiguration
@endpoint POST /deleteEdgeConfiguration
@optional {StreamName: str, StreamARN: str}

@endgroup

@group deleteSignalingChannel
@endpoint POST /deleteSignalingChannel
@required {ChannelARN: str}
@optional {CurrentVersion: str}

@endgroup

@group deleteStream
@endpoint POST /deleteStream
@required {StreamARN: str}
@optional {CurrentVersion: str}

@endgroup

@group describeEdgeConfiguration
@endpoint POST /describeEdgeConfiguration
@optional {StreamName: str, StreamARN: str}
@returns(200) {StreamName: str?, StreamARN: str?, CreationTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?, SyncStatus: str?, FailedStatusDetails: str?, EdgeConfig: EdgeConfig?{HubDeviceArn: str, RecorderConfig: RecorderConfig{MediaSourceConfig: MediaSourceConfig{MediaUriSecretArn: str, MediaUriType: str}, ScheduleConfig: ScheduleConfig?{ScheduleExpression: str, DurationInSeconds: int}}, UploaderConfig: UploaderConfig?{ScheduleConfig: ScheduleConfig{ScheduleExpression: str, DurationInSeconds: int}}, DeletionConfig: DeletionConfig?{EdgeRetentionInHours: int?, LocalSizeConfig: LocalSizeConfig?{MaxLocalMediaSizeInMB: int?, StrategyOnFullSize: str?}, DeleteAfterUpload: bool?}}, EdgeAgentStatus: EdgeAgentStatus?{LastRecorderStatus: LastRecorderStatus?{JobStatusDetails: str?, LastCollectedTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?, RecorderStatus: str?}, LastUploaderStatus: LastUploaderStatus?{JobStatusDetails: str?, LastCollectedTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?, UploaderStatus: str?}}}

@endgroup

@group describeImageGenerationConfiguration
@endpoint POST /describeImageGenerationConfiguration
@optional {StreamName: str, StreamARN: str}
@returns(200) {ImageGenerationConfiguration: ImageGenerationConfiguration?{Status: str, ImageSelectorType: str, DestinationConfig: ImageGenerationDestinationConfig{Uri: str, DestinationRegion: str}, SamplingInterval: int, Format: str, FormatConfig: map<str,str>?, WidthPixels: int?, HeightPixels: int?}}

@endgroup

@group describeMappedResourceConfiguration
@endpoint POST /describeMappedResourceConfiguration
@optional {StreamName: str, StreamARN: str, MaxResults: int, NextToken: str}
@returns(200) {MappedResourceConfigurationList: [MappedResourceConfigurationListItem]?, NextToken: str?}

@endgroup

@group describeMediaStorageConfiguration
@endpoint POST /describeMediaStorageConfiguration
@optional {ChannelName: str, ChannelARN: str}
@returns(200) {MediaStorageConfiguration: MediaStorageConfiguration?{StreamARN: str?, Status: str}}

@endgroup

@group describeNotificationConfiguration
@endpoint POST /describeNotificationConfiguration
@optional {StreamName: str, StreamARN: str}
@returns(200) {NotificationConfiguration: NotificationConfiguration?{Status: str, DestinationConfig: NotificationDestinationConfig{Uri: str}}}

@endgroup

@group describeSignalingChannel
@endpoint POST /describeSignalingChannel
@optional {ChannelName: str, ChannelARN: str}
@returns(200) {ChannelInfo: ChannelInfo?{ChannelName: str?, ChannelARN: str?, ChannelType: str?, ChannelStatus: str?, CreationTime: str(timestamp)?, SingleMasterConfiguration: SingleMasterConfiguration?{MessageTtlSeconds: int?}, Version: str?}}

@endgroup

@group describeStream
@endpoint POST /describeStream
@optional {StreamName: str, StreamARN: str}
@returns(200) {StreamInfo: StreamInfo?{DeviceName: str?, StreamName: str?, StreamARN: str?, MediaType: str?, KmsKeyId: str?, Version: str?, Status: str?, CreationTime: str(timestamp)?, DataRetentionInHours: int?}}

@endgroup

@group getDataEndpoint
@endpoint POST /getDataEndpoint
@required {APIName: str}
@optional {StreamName: str, StreamARN: str}
@returns(200) {DataEndpoint: str?}

@endgroup

@group getSignalingChannelEndpoint
@endpoint POST /getSignalingChannelEndpoint
@required {ChannelARN: str}
@optional {SingleMasterChannelEndpointConfiguration: SingleMasterChannelEndpointConfiguration}
@returns(200) {ResourceEndpointList: [ResourceEndpointListItem]?}

@endgroup

@group listEdgeAgentConfigurations
@endpoint POST /listEdgeAgentConfigurations
@required {HubDeviceArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {EdgeConfigs: [ListEdgeAgentConfigurationsEdgeConfig]?, NextToken: str?}

@endgroup

@group listSignalingChannels
@endpoint POST /listSignalingChannels
@optional {MaxResults: int, NextToken: str, ChannelNameCondition: ChannelNameCondition}
@returns(200) {ChannelInfoList: [ChannelInfo]?, NextToken: str?}

@endgroup

@group listStreams
@endpoint POST /listStreams
@optional {MaxResults: int, NextToken: str, StreamNameCondition: StreamNameCondition}
@returns(200) {StreamInfoList: [StreamInfo]?, NextToken: str?}

@endgroup

@group ListTagsForResource
@endpoint POST /ListTagsForResource
@required {ResourceARN: str}
@optional {NextToken: str}
@returns(200) {NextToken: str?, Tags: map<str,str>?}

@endgroup

@group listTagsForStream
@endpoint POST /listTagsForStream
@optional {NextToken: str, StreamARN: str, StreamName: str}
@returns(200) {NextToken: str?, Tags: map<str,str>?}

@endgroup

@group startEdgeConfigurationUpdate
@endpoint POST /startEdgeConfigurationUpdate
@required {EdgeConfig: EdgeConfig}
@optional {StreamName: str, StreamARN: str}
@returns(200) {StreamName: str?, StreamARN: str?, CreationTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?, SyncStatus: str?, FailedStatusDetails: str?, EdgeConfig: EdgeConfig?{HubDeviceArn: str, RecorderConfig: RecorderConfig{MediaSourceConfig: MediaSourceConfig{MediaUriSecretArn: str, MediaUriType: str}, ScheduleConfig: ScheduleConfig?{ScheduleExpression: str, DurationInSeconds: int}}, UploaderConfig: UploaderConfig?{ScheduleConfig: ScheduleConfig{ScheduleExpression: str, DurationInSeconds: int}}, DeletionConfig: DeletionConfig?{EdgeRetentionInHours: int?, LocalSizeConfig: LocalSizeConfig?{MaxLocalMediaSizeInMB: int?, StrategyOnFullSize: str?}, DeleteAfterUpload: bool?}}}

@endgroup

@group TagResource
@endpoint POST /TagResource
@required {ResourceARN: str, Tags: [Tag]}

@endgroup

@group tagStream
@endpoint POST /tagStream
@required {Tags: map<str,str>}
@optional {StreamARN: str, StreamName: str}

@endgroup

@group UntagResource
@endpoint POST /UntagResource
@required {ResourceARN: str, TagKeyList: [str]}

@endgroup

@group untagStream
@endpoint POST /untagStream
@required {TagKeyList: [str]}
@optional {StreamARN: str, StreamName: str}

@endgroup

@group updateDataRetention
@endpoint POST /updateDataRetention
@required {CurrentVersion: str, Operation: str, DataRetentionChangeInHours: int}
@optional {StreamName: str, StreamARN: str}

@endgroup

@group updateImageGenerationConfiguration
@endpoint POST /updateImageGenerationConfiguration
@optional {StreamName: str, StreamARN: str, ImageGenerationConfiguration: ImageGenerationConfiguration}

@endgroup

@group updateMediaStorageConfiguration
@endpoint POST /updateMediaStorageConfiguration
@required {ChannelARN: str, MediaStorageConfiguration: MediaStorageConfiguration}

@endgroup

@group updateNotificationConfiguration
@endpoint POST /updateNotificationConfiguration
@optional {StreamName: str, StreamARN: str, NotificationConfiguration: NotificationConfiguration}

@endgroup

@group updateSignalingChannel
@endpoint POST /updateSignalingChannel
@required {ChannelARN: str, CurrentVersion: str}
@optional {SingleMasterConfiguration: SingleMasterConfiguration}

@endgroup

@group updateStream
@endpoint POST /updateStream
@required {CurrentVersion: str}
@optional {StreamName: str, StreamARN: str, DeviceName: str, MediaType: str}

@endgroup

@end
