KINESISVIDEO

CreateSignalingChannel

enum_ChannelType := [ "SINGLE_MASTER", "FULL_MESH" ]

valid {
    input.Body.ChannelName == STRING
    input.Body.ChannelType == enum_ChannelType[_]
    input.Body.SingleMasterConfiguration.MessageTtlSeconds == INTEGER
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateStream

valid {
    input.Body.DeviceName == STRING
    input.Body.StreamName == STRING
    input.Body.MediaType == STRING
    input.Body.KmsKeyId == STRING
    input.Body.DataRetentionInHours == INTEGER
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteEdgeConfiguration

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSignalingChannel

valid {
    input.Body.ChannelARN == STRING
    input.Body.CurrentVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteStream

valid {
    input.Body.StreamARN == STRING
    input.Body.CurrentVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeEdgeConfiguration

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeImageGenerationConfiguration

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeMappedResourceConfiguration

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeMediaStorageConfiguration

valid {
    input.Body.ChannelName == STRING
    input.Body.ChannelARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeNotificationConfiguration

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeSignalingChannel

valid {
    input.Body.ChannelName == STRING
    input.Body.ChannelARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeStream

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetClip

enum_ClipFragmentSelectorType := [ "PRODUCER_TIMESTAMP", "SERVER_TIMESTAMP" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.ClipFragmentSelector.FragmentSelectorType == enum_ClipFragmentSelectorType[_]
    input.Body.ClipFragmentSelector.TimestampRange.StartTimestamp == TIMESTAMP
    input.Body.ClipFragmentSelector.TimestampRange.EndTimestamp == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDASHStreamingSessionURL

enum_DASHDisplayFragmentNumber := [ "ALWAYS", "NEVER" ]
enum_DASHDisplayFragmentTimestamp := [ "ALWAYS", "NEVER" ]
enum_DASHFragmentSelectorType := [ "PRODUCER_TIMESTAMP", "SERVER_TIMESTAMP" ]
enum_DASHPlaybackMode := [ "LIVE", "LIVE_REPLAY", "ON_DEMAND" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.PlaybackMode == enum_DASHPlaybackMode[_]
    input.Body.DisplayFragmentTimestamp == enum_DASHDisplayFragmentTimestamp[_]
    input.Body.DisplayFragmentNumber == enum_DASHDisplayFragmentNumber[_]
    input.Body.DASHFragmentSelector.FragmentSelectorType == enum_DASHFragmentSelectorType[_]
    input.Body.DASHFragmentSelector.TimestampRange.StartTimestamp == TIMESTAMP
    input.Body.DASHFragmentSelector.TimestampRange.EndTimestamp == TIMESTAMP
    input.Body.Expires == INTEGER
    input.Body.MaxManifestFragmentResults == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDataEndpoint

enum_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" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.APIName == enum_APIName[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetHLSStreamingSessionURL

enum_ContainerFormat := [ "FRAGMENTED_MP4", "MPEG_TS" ]
enum_HLSDiscontinuityMode := [ "ALWAYS", "NEVER", "ON_DISCONTINUITY" ]
enum_HLSDisplayFragmentTimestamp := [ "ALWAYS", "NEVER" ]
enum_HLSFragmentSelectorType := [ "PRODUCER_TIMESTAMP", "SERVER_TIMESTAMP" ]
enum_HLSPlaybackMode := [ "LIVE", "LIVE_REPLAY", "ON_DEMAND" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.PlaybackMode == enum_HLSPlaybackMode[_]
    input.Body.HLSFragmentSelector.FragmentSelectorType == enum_HLSFragmentSelectorType[_]
    input.Body.HLSFragmentSelector.TimestampRange.StartTimestamp == TIMESTAMP
    input.Body.HLSFragmentSelector.TimestampRange.EndTimestamp == TIMESTAMP
    input.Body.ContainerFormat == enum_ContainerFormat[_]
    input.Body.DiscontinuityMode == enum_HLSDiscontinuityMode[_]
    input.Body.DisplayFragmentTimestamp == enum_HLSDisplayFragmentTimestamp[_]
    input.Body.Expires == INTEGER
    input.Body.MaxMediaPlaylistFragmentResults == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetIceServerConfig

enum_Service := [ "TURN" ]

valid {
    input.Body.ChannelARN == STRING
    input.Body.ClientId == STRING
    input.Body.Service == enum_Service[_]
    input.Body.Username == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetImages

enum_Format := [ "JPEG", "PNG" ]
enum_ImageSelectorType := [ "PRODUCER_TIMESTAMP", "SERVER_TIMESTAMP" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.ImageSelectorType == enum_ImageSelectorType[_]
    input.Body.StartTimestamp == TIMESTAMP
    input.Body.EndTimestamp == TIMESTAMP
    input.Body.SamplingInterval == INTEGER
    input.Body.Format == enum_Format[_]
    input.Body.FormatConfig.JPEGQuality == STRING
    input.Body.WidthPixels == INTEGER
    input.Body.HeightPixels == INTEGER
    input.Body.MaxResults == LONG
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetMedia

enum_StartSelectorType := [ "FRAGMENT_NUMBER", "SERVER_TIMESTAMP", "PRODUCER_TIMESTAMP", "NOW", "EARLIEST", "CONTINUATION_TOKEN" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.StartSelector.StartSelectorType == enum_StartSelectorType[_]
    input.Body.StartSelector.AfterFragmentNumber == STRING
    input.Body.StartSelector.StartTimestamp == TIMESTAMP
    input.Body.StartSelector.ContinuationToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetMediaForFragmentList

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.Fragments[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetSignalingChannelEndpoint

enum_ChannelProtocol := [ "WSS", "HTTPS", "WEBRTC" ]
enum_ChannelRole := [ "MASTER", "VIEWER" ]

valid {
    input.Body.ChannelARN == STRING
    input.Body.SingleMasterChannelEndpointConfiguration.Protocols[_] == enum_ChannelProtocol[_]
    input.Body.SingleMasterChannelEndpointConfiguration.Role == enum_ChannelRole[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

JoinStorageSession

valid {
    input.Body.channelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListEdgeAgentConfigurations

valid {
    input.Body.HubDeviceArn == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListFragments

enum_FragmentSelectorType := [ "PRODUCER_TIMESTAMP", "SERVER_TIMESTAMP" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.MaxResults == LONG
    input.Body.NextToken == STRING
    input.Body.FragmentSelector.FragmentSelectorType == enum_FragmentSelectorType[_]
    input.Body.FragmentSelector.TimestampRange.StartTimestamp == TIMESTAMP
    input.Body.FragmentSelector.TimestampRange.EndTimestamp == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSignalingChannels

enum_ComparisonOperator := [ "BEGINS_WITH" ]

valid {
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.ChannelNameCondition.ComparisonOperator == enum_ComparisonOperator[_]
    input.Body.ChannelNameCondition.ComparisonValue == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListStreams

enum_ComparisonOperator := [ "BEGINS_WITH" ]

valid {
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.StreamNameCondition.ComparisonOperator == enum_ComparisonOperator[_]
    input.Body.StreamNameCondition.ComparisonValue == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.Body.NextToken == STRING
    input.Body.ResourceARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForStream

valid {
    input.Body.NextToken == STRING
    input.Body.StreamARN == STRING
    input.Body.StreamName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SendAlexaOfferToMaster

valid {
    input.Body.ChannelARN == STRING
    input.Body.SenderClientId == STRING
    input.Body.MessagePayload == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartEdgeConfigurationUpdate

enum_MediaUriType := [ "RTSP_URI", "FILE_URI" ]
enum_StrategyOnFullSize := [ "DELETE_OLDEST_MEDIA", "DENY_NEW_MEDIA" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.EdgeConfig.HubDeviceArn == STRING
    input.Body.EdgeConfig.RecorderConfig.MediaSourceConfig.MediaUriSecretArn == STRING
    input.Body.EdgeConfig.RecorderConfig.MediaSourceConfig.MediaUriType == enum_MediaUriType[_]
    input.Body.EdgeConfig.RecorderConfig.ScheduleConfig.ScheduleExpression == STRING
    input.Body.EdgeConfig.RecorderConfig.ScheduleConfig.DurationInSeconds == INTEGER
    input.Body.EdgeConfig.UploaderConfig.ScheduleConfig.ScheduleExpression == STRING
    input.Body.EdgeConfig.UploaderConfig.ScheduleConfig.DurationInSeconds == INTEGER
    input.Body.EdgeConfig.DeletionConfig.EdgeRetentionInHours == INTEGER
    input.Body.EdgeConfig.DeletionConfig.LocalSizeConfig.MaxLocalMediaSizeInMB == INTEGER
    input.Body.EdgeConfig.DeletionConfig.LocalSizeConfig.StrategyOnFullSize == enum_StrategyOnFullSize[_]
    input.Body.EdgeConfig.DeletionConfig.DeleteAfterUpload == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.ResourceARN == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagStream

valid {
    input.Body.StreamARN == STRING
    input.Body.StreamName == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.Body.ResourceARN == STRING
    input.Body.TagKeyList[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagStream

valid {
    input.Body.StreamARN == STRING
    input.Body.StreamName == STRING
    input.Body.TagKeyList[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDataRetention

enum_UpdateDataRetentionOperation := [ "INCREASE_DATA_RETENTION", "DECREASE_DATA_RETENTION" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.CurrentVersion == STRING
    input.Body.Operation == enum_UpdateDataRetentionOperation[_]
    input.Body.DataRetentionChangeInHours == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateImageGenerationConfiguration

enum_ConfigurationStatus := [ "ENABLED", "DISABLED" ]
enum_Format := [ "JPEG", "PNG" ]
enum_ImageSelectorType := [ "SERVER_TIMESTAMP", "PRODUCER_TIMESTAMP" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.ImageGenerationConfiguration.Status == enum_ConfigurationStatus[_]
    input.Body.ImageGenerationConfiguration.ImageSelectorType == enum_ImageSelectorType[_]
    input.Body.ImageGenerationConfiguration.DestinationConfig.Uri == STRING
    input.Body.ImageGenerationConfiguration.DestinationConfig.DestinationRegion == STRING
    input.Body.ImageGenerationConfiguration.SamplingInterval == INTEGER
    input.Body.ImageGenerationConfiguration.Format == enum_Format[_]
    input.Body.ImageGenerationConfiguration.FormatConfig.JPEGQuality == STRING
    input.Body.ImageGenerationConfiguration.WidthPixels == INTEGER
    input.Body.ImageGenerationConfiguration.HeightPixels == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateMediaStorageConfiguration

enum_MediaStorageConfigurationStatus := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.ChannelARN == STRING
    input.Body.MediaStorageConfiguration.StreamARN == STRING
    input.Body.MediaStorageConfiguration.Status == enum_MediaStorageConfigurationStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateNotificationConfiguration

enum_ConfigurationStatus := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.NotificationConfiguration.Status == enum_ConfigurationStatus[_]
    input.Body.NotificationConfiguration.DestinationConfig.Uri == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSignalingChannel

valid {
    input.Body.ChannelARN == STRING
    input.Body.CurrentVersion == STRING
    input.Body.SingleMasterConfiguration.MessageTtlSeconds == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateStream

valid {
    input.Body.StreamName == STRING
    input.Body.StreamARN == STRING
    input.Body.CurrentVersion == STRING
    input.Body.DeviceName == STRING
    input.Body.MediaType == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}