MEDIATAILOR

ConfigureLogsForChannel

enum_LogType := [ "AS_RUN" ]

valid {
    input.Body.ChannelName == STRING
    input.Body.LogTypes[_] == enum_LogType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ConfigureLogsForPlaybackConfiguration

enum_AdsInteractionExcludeEventType := [ "AD_MARKER_FOUND", "NON_AD_MARKER_FOUND", "MAKING_ADS_REQUEST", "MODIFIED_TARGET_URL", "VAST_REDIRECT", "EMPTY_VAST_RESPONSE", "EMPTY_VMAP_RESPONSE", "VAST_RESPONSE", "REDIRECTED_VAST_RESPONSE", "FILLED_AVAIL", "FILLED_OVERLAY_AVAIL", "BEACON_FIRED", "WARNING_NO_ADVERTISEMENTS", "WARNING_VPAID_AD_DROPPED", "WARNING_URL_VARIABLE_SUBSTITUTION_FAILED", "ERROR_UNKNOWN", "ERROR_UNKNOWN_HOST", "ERROR_DISALLOWED_HOST", "ERROR_ADS_IO", "ERROR_ADS_TIMEOUT", "ERROR_ADS_RESPONSE_PARSE", "ERROR_ADS_RESPONSE_UNKNOWN_ROOT_ELEMENT", "ERROR_ADS_INVALID_RESPONSE", "ERROR_VAST_REDIRECT_EMPTY_RESPONSE", "ERROR_VAST_REDIRECT_MULTIPLE_VAST", "ERROR_VAST_REDIRECT_FAILED", "ERROR_VAST_MISSING_MEDIAFILES", "ERROR_VAST_MISSING_CREATIVES", "ERROR_VAST_MISSING_OVERLAYS", "ERROR_VAST_MISSING_IMPRESSION", "ERROR_VAST_INVALID_VAST_AD_TAG_URI", "ERROR_VAST_MULTIPLE_TRACKING_EVENTS", "ERROR_VAST_MULTIPLE_LINEAR", "ERROR_VAST_INVALID_MEDIA_FILE", "ERROR_FIRING_BEACON_FAILED", "ERROR_PERSONALIZATION_DISABLED", "VOD_TIME_BASED_AVAIL_PLAN_VAST_RESPONSE_FOR_OFFSET", "VOD_TIME_BASED_AVAIL_PLAN_SUCCESS", "VOD_TIME_BASED_AVAIL_PLAN_WARNING_NO_ADVERTISEMENTS", "INTERSTITIAL_VOD_SUCCESS", "INTERSTITIAL_VOD_FAILURE" ]
enum_AdsInteractionPublishOptInEventType := [ "RAW_ADS_RESPONSE" ]
enum_LoggingStrategy := [ "VENDED_LOGS", "LEGACY_CLOUDWATCH" ]
enum_ManifestServiceExcludeEventType := [ "GENERATED_MANIFEST", "ORIGIN_MANIFEST", "SESSION_INITIALIZED", "TRACKING_RESPONSE", "CONFIG_SYNTAX_ERROR", "CONFIG_SECURITY_ERROR", "UNKNOWN_HOST", "TIMEOUT_ERROR", "CONNECTION_ERROR", "IO_ERROR", "UNKNOWN_ERROR", "HOST_DISALLOWED", "PARSING_ERROR", "MANIFEST_ERROR", "NO_MASTER_OR_MEDIA_PLAYLIST", "NO_MASTER_PLAYLIST", "NO_MEDIA_PLAYLIST", "INCOMPATIBLE_HLS_VERSION", "SCTE35_PARSING_ERROR", "INVALID_SINGLE_PERIOD_DASH_MANIFEST", "UNSUPPORTED_SINGLE_PERIOD_DASH_MANIFEST", "LAST_PERIOD_MISSING_AUDIO", "LAST_PERIOD_MISSING_AUDIO_WARNING", "ERROR_ORIGIN_PREFIX_INTERPOLATION", "ERROR_ADS_INTERPOLATION", "ERROR_LIVE_PRE_ROLL_ADS_INTERPOLATION", "ERROR_CDN_AD_SEGMENT_INTERPOLATION", "ERROR_CDN_CONTENT_SEGMENT_INTERPOLATION", "ERROR_SLATE_AD_URL_INTERPOLATION", "ERROR_PROFILE_NAME_INTERPOLATION", "ERROR_BUMPER_START_INTERPOLATION", "ERROR_BUMPER_END_INTERPOLATION" ]

valid {
    input.Body.PercentEnabled == INTEGER
    input.Body.PlaybackConfigurationName == STRING
    input.Body.EnabledLoggingStrategies[_] == enum_LoggingStrategy[_]
    input.Body.AdsInteractionLog.PublishOptInEventTypes[_] == enum_AdsInteractionPublishOptInEventType[_]
    input.Body.AdsInteractionLog.ExcludeEventTypes[_] == enum_AdsInteractionExcludeEventType[_]
    input.Body.ManifestServiceInteractionLog.ExcludeEventTypes[_] == enum_ManifestServiceExcludeEventType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateChannel

enum_AdMarkupType := [ "DATERANGE", "SCTE35_ENHANCED" ]
enum_PlaybackMode := [ "LOOP", "LINEAR" ]
enum_Tier := [ "BASIC", "STANDARD" ]

valid {
    input.Body.FillerSlate.SourceLocationName == STRING
    input.Body.FillerSlate.VodSourceName == STRING
    input.Body.Outputs[_].DashPlaylistSettings.ManifestWindowSeconds == INTEGER
    input.Body.Outputs[_].DashPlaylistSettings.MinBufferTimeSeconds == INTEGER
    input.Body.Outputs[_].DashPlaylistSettings.MinUpdatePeriodSeconds == INTEGER
    input.Body.Outputs[_].DashPlaylistSettings.SuggestedPresentationDelaySeconds == INTEGER
    input.Body.Outputs[_].HlsPlaylistSettings.ManifestWindowSeconds == INTEGER
    input.Body.Outputs[_].HlsPlaylistSettings.AdMarkupType[_] == enum_AdMarkupType[_]
    input.Body.Outputs[_].ManifestName == STRING
    input.Body.Outputs[_].SourceGroup == STRING
    input.Body.PlaybackMode == enum_PlaybackMode[_]
    input.Body.tags.STRING == STRING
    input.Body.Tier == enum_Tier[_]
    input.Body.TimeShiftConfiguration.MaxTimeDelaySeconds == INTEGER
    input.Body.Audiences[_] == STRING
    input.ReqMap.ChannelName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateLiveSource

enum_Type := [ "DASH", "HLS" ]

valid {
    input.Body.HttpPackageConfigurations[_].Path == STRING
    input.Body.HttpPackageConfigurations[_].SourceGroup == STRING
    input.Body.HttpPackageConfigurations[_].Type == enum_Type[_]
    input.Body.tags.STRING == STRING
    input.ReqMap.LiveSourceName == STRING
    input.ReqMap.SourceLocationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreatePrefetchSchedule

enum_Operator := [ "EQUALS" ]

valid {
    input.Body.Consumption.AvailMatchingCriteria[_].DynamicVariable == STRING
    input.Body.Consumption.AvailMatchingCriteria[_].Operator == enum_Operator[_]
    input.Body.Consumption.EndTime == TIMESTAMP
    input.Body.Consumption.StartTime == TIMESTAMP
    input.Body.Retrieval.DynamicVariables.STRING == STRING
    input.Body.Retrieval.EndTime == TIMESTAMP
    input.Body.Retrieval.StartTime == TIMESTAMP
    input.Body.StreamId == STRING
    input.ReqMap.Name == STRING
    input.ReqMap.PlaybackConfigurationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateProgram

enum_MessageType := [ "SPLICE_INSERT", "TIME_SIGNAL" ]
enum_RelativePosition := [ "BEFORE_PROGRAM", "AFTER_PROGRAM" ]

valid {
    input.Body.AdBreaks[_].MessageType == enum_MessageType[_]
    input.Body.AdBreaks[_].OffsetMillis == LONG
    input.Body.AdBreaks[_].Slate.SourceLocationName == STRING
    input.Body.AdBreaks[_].Slate.VodSourceName == STRING
    input.Body.AdBreaks[_].SpliceInsertMessage.AvailNum == INTEGER
    input.Body.AdBreaks[_].SpliceInsertMessage.AvailsExpected == INTEGER
    input.Body.AdBreaks[_].SpliceInsertMessage.SpliceEventId == INTEGER
    input.Body.AdBreaks[_].SpliceInsertMessage.UniqueProgramId == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationEventId == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationUpidType == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationUpid == STRING
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationTypeId == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentNum == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentsExpected == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SubSegmentNum == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SubSegmentsExpected == INTEGER
    input.Body.AdBreaks[_].AdBreakMetadata[_].Key == STRING
    input.Body.AdBreaks[_].AdBreakMetadata[_].Value == STRING
    input.Body.LiveSourceName == STRING
    input.Body.ScheduleConfiguration.Transition.DurationMillis == LONG
    input.Body.ScheduleConfiguration.Transition.RelativePosition == enum_RelativePosition[_]
    input.Body.ScheduleConfiguration.Transition.RelativeProgram == STRING
    input.Body.ScheduleConfiguration.Transition.ScheduledStartTimeMillis == LONG
    input.Body.ScheduleConfiguration.Transition.Type == STRING
    input.Body.ScheduleConfiguration.ClipRange.EndOffsetMillis == LONG
    input.Body.ScheduleConfiguration.ClipRange.StartOffsetMillis == LONG
    input.Body.SourceLocationName == STRING
    input.Body.VodSourceName == STRING
    input.Body.AudienceMedia[_].Audience == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].SourceLocationName == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].LiveSourceName == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].VodSourceName == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].ClipRange.EndOffsetMillis == LONG
    input.Body.AudienceMedia[_].AlternateMedia[_].ClipRange.StartOffsetMillis == LONG
    input.Body.AudienceMedia[_].AlternateMedia[_].ScheduledStartTimeMillis == LONG
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].MessageType == enum_MessageType[_]
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].OffsetMillis == LONG
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].Slate.SourceLocationName == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].Slate.VodSourceName == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].SpliceInsertMessage.AvailNum == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].SpliceInsertMessage.AvailsExpected == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].SpliceInsertMessage.SpliceEventId == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].SpliceInsertMessage.UniqueProgramId == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationEventId == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationUpidType == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationUpid == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationTypeId == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentNum == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentsExpected == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SubSegmentNum == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SubSegmentsExpected == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].AdBreakMetadata[_].Key == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].AdBreakMetadata[_].Value == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].DurationMillis == LONG
    input.ReqMap.ChannelName == STRING
    input.ReqMap.ProgramName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSourceLocation

enum_AccessType := [ "S3_SIGV4", "SECRETS_MANAGER_ACCESS_TOKEN", "AUTODETECT_SIGV4" ]

valid {
    input.Body.AccessConfiguration.AccessType == enum_AccessType[_]
    input.Body.AccessConfiguration.SecretsManagerAccessTokenConfiguration.HeaderName == STRING
    input.Body.AccessConfiguration.SecretsManagerAccessTokenConfiguration.SecretArn == STRING
    input.Body.AccessConfiguration.SecretsManagerAccessTokenConfiguration.SecretStringKey == STRING
    input.Body.DefaultSegmentDeliveryConfiguration.BaseUrl == STRING
    input.Body.HttpConfiguration.BaseUrl == STRING
    input.Body.SegmentDeliveryConfigurations[_].BaseUrl == STRING
    input.Body.SegmentDeliveryConfigurations[_].Name == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SourceLocationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateVodSource

enum_Type := [ "DASH", "HLS" ]

valid {
    input.Body.HttpPackageConfigurations[_].Path == STRING
    input.Body.HttpPackageConfigurations[_].SourceGroup == STRING
    input.Body.HttpPackageConfigurations[_].Type == enum_Type[_]
    input.Body.tags.STRING == STRING
    input.ReqMap.SourceLocationName == STRING
    input.ReqMap.VodSourceName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteChannel

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

DeleteChannelPolicy

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

DeleteLiveSource

valid {
    input.ReqMap.LiveSourceName == STRING
    input.ReqMap.SourceLocationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeletePlaybackConfiguration

valid {
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeletePrefetchSchedule

valid {
    input.ReqMap.Name == STRING
    input.ReqMap.PlaybackConfigurationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteProgram

valid {
    input.ReqMap.ChannelName == STRING
    input.ReqMap.ProgramName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSourceLocation

valid {
    input.ReqMap.SourceLocationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteVodSource

valid {
    input.ReqMap.SourceLocationName == STRING
    input.ReqMap.VodSourceName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeChannel

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

DescribeLiveSource

valid {
    input.ReqMap.LiveSourceName == STRING
    input.ReqMap.SourceLocationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeProgram

valid {
    input.ReqMap.ChannelName == STRING
    input.ReqMap.ProgramName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeSourceLocation

valid {
    input.ReqMap.SourceLocationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeVodSource

valid {
    input.ReqMap.SourceLocationName == STRING
    input.ReqMap.VodSourceName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetChannelPolicy

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

GetChannelSchedule

valid {
    input.ReqMap.ChannelName == STRING
    input.Qs.durationMinutes == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.audience == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetPlaybackConfiguration

valid {
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetPrefetchSchedule

valid {
    input.ReqMap.Name == STRING
    input.ReqMap.PlaybackConfigurationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAlerts

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListChannels

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListLiveSources

valid {
    input.ReqMap.SourceLocationName == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListPlaybackConfigurations

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

ListPrefetchSchedules

valid {
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.StreamId == STRING
    input.ReqMap.PlaybackConfigurationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSourceLocations

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.ReqMap.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListVodSources

valid {
    input.ReqMap.SourceLocationName == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutChannelPolicy

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

PutPlaybackConfiguration

enum_FillPolicy := [ "FULL_AVAIL_ONLY", "PARTIAL_AVAIL" ]
enum_InsertionMode := [ "STITCHED_ONLY", "PLAYER_SELECT" ]
enum_Mode := [ "OFF", "BEHIND_LIVE_EDGE", "AFTER_LIVE_EDGE" ]
enum_OriginManifestType := [ "SINGLE_PERIOD", "MULTI_PERIOD" ]
enum_StreamingMediaFileConditioning := [ "TRANSCODE", "NONE" ]

valid {
    input.Body.AdDecisionServerUrl == STRING
    input.Body.AvailSuppression.Mode == enum_Mode[_]
    input.Body.AvailSuppression.Value == STRING
    input.Body.AvailSuppression.FillPolicy == enum_FillPolicy[_]
    input.Body.Bumper.EndUrl == STRING
    input.Body.Bumper.StartUrl == STRING
    input.Body.CdnConfiguration.AdSegmentUrlPrefix == STRING
    input.Body.CdnConfiguration.ContentSegmentUrlPrefix == STRING
    input.Body.ConfigurationAliases.STRING.STRING == STRING
    input.Body.DashConfiguration.MpdLocation == STRING
    input.Body.DashConfiguration.OriginManifestType == enum_OriginManifestType[_]
    input.Body.InsertionMode == enum_InsertionMode[_]
    input.Body.LivePreRollConfiguration.AdDecisionServerUrl == STRING
    input.Body.LivePreRollConfiguration.MaxDurationSeconds == INTEGER
    input.Body.ManifestProcessingRules.AdMarkerPassthrough.Enabled == BOOLEAN
    input.Body.Name == STRING
    input.Body.PersonalizationThresholdSeconds == INTEGER
    input.Body.SlateAdUrl == STRING
    input.Body.tags.STRING == STRING
    input.Body.TranscodeProfileName == STRING
    input.Body.VideoContentSourceUrl == STRING
    input.Body.AdConditioningConfiguration.StreamingMediaFileConditioning == enum_StreamingMediaFileConditioning[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartChannel

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

StopChannel

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

TagResource

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.ReqMap.ResourceArn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateChannel

enum_AdMarkupType := [ "DATERANGE", "SCTE35_ENHANCED" ]

valid {
    input.Body.FillerSlate.SourceLocationName == STRING
    input.Body.FillerSlate.VodSourceName == STRING
    input.Body.Outputs[_].DashPlaylistSettings.ManifestWindowSeconds == INTEGER
    input.Body.Outputs[_].DashPlaylistSettings.MinBufferTimeSeconds == INTEGER
    input.Body.Outputs[_].DashPlaylistSettings.MinUpdatePeriodSeconds == INTEGER
    input.Body.Outputs[_].DashPlaylistSettings.SuggestedPresentationDelaySeconds == INTEGER
    input.Body.Outputs[_].HlsPlaylistSettings.ManifestWindowSeconds == INTEGER
    input.Body.Outputs[_].HlsPlaylistSettings.AdMarkupType[_] == enum_AdMarkupType[_]
    input.Body.Outputs[_].ManifestName == STRING
    input.Body.Outputs[_].SourceGroup == STRING
    input.Body.TimeShiftConfiguration.MaxTimeDelaySeconds == INTEGER
    input.Body.Audiences[_] == STRING
    input.ReqMap.ChannelName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateLiveSource

enum_Type := [ "DASH", "HLS" ]

valid {
    input.Body.HttpPackageConfigurations[_].Path == STRING
    input.Body.HttpPackageConfigurations[_].SourceGroup == STRING
    input.Body.HttpPackageConfigurations[_].Type == enum_Type[_]
    input.ReqMap.LiveSourceName == STRING
    input.ReqMap.SourceLocationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateProgram

enum_MessageType := [ "SPLICE_INSERT", "TIME_SIGNAL" ]

valid {
    input.Body.AdBreaks[_].MessageType == enum_MessageType[_]
    input.Body.AdBreaks[_].OffsetMillis == LONG
    input.Body.AdBreaks[_].Slate.SourceLocationName == STRING
    input.Body.AdBreaks[_].Slate.VodSourceName == STRING
    input.Body.AdBreaks[_].SpliceInsertMessage.AvailNum == INTEGER
    input.Body.AdBreaks[_].SpliceInsertMessage.AvailsExpected == INTEGER
    input.Body.AdBreaks[_].SpliceInsertMessage.SpliceEventId == INTEGER
    input.Body.AdBreaks[_].SpliceInsertMessage.UniqueProgramId == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationEventId == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationUpidType == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationUpid == STRING
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationTypeId == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentNum == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentsExpected == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SubSegmentNum == INTEGER
    input.Body.AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SubSegmentsExpected == INTEGER
    input.Body.AdBreaks[_].AdBreakMetadata[_].Key == STRING
    input.Body.AdBreaks[_].AdBreakMetadata[_].Value == STRING
    input.Body.ScheduleConfiguration.Transition.ScheduledStartTimeMillis == LONG
    input.Body.ScheduleConfiguration.Transition.DurationMillis == LONG
    input.Body.ScheduleConfiguration.ClipRange.EndOffsetMillis == LONG
    input.Body.ScheduleConfiguration.ClipRange.StartOffsetMillis == LONG
    input.Body.AudienceMedia[_].Audience == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].SourceLocationName == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].LiveSourceName == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].VodSourceName == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].ClipRange.EndOffsetMillis == LONG
    input.Body.AudienceMedia[_].AlternateMedia[_].ClipRange.StartOffsetMillis == LONG
    input.Body.AudienceMedia[_].AlternateMedia[_].ScheduledStartTimeMillis == LONG
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].MessageType == enum_MessageType[_]
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].OffsetMillis == LONG
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].Slate.SourceLocationName == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].Slate.VodSourceName == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].SpliceInsertMessage.AvailNum == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].SpliceInsertMessage.AvailsExpected == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].SpliceInsertMessage.SpliceEventId == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].SpliceInsertMessage.UniqueProgramId == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationEventId == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationUpidType == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationUpid == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentationTypeId == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentNum == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SegmentsExpected == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SubSegmentNum == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].TimeSignalMessage.SegmentationDescriptors[_].SubSegmentsExpected == INTEGER
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].AdBreakMetadata[_].Key == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].AdBreaks[_].AdBreakMetadata[_].Value == STRING
    input.Body.AudienceMedia[_].AlternateMedia[_].DurationMillis == LONG
    input.ReqMap.ChannelName == STRING
    input.ReqMap.ProgramName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSourceLocation

enum_AccessType := [ "S3_SIGV4", "SECRETS_MANAGER_ACCESS_TOKEN", "AUTODETECT_SIGV4" ]

valid {
    input.Body.AccessConfiguration.AccessType == enum_AccessType[_]
    input.Body.AccessConfiguration.SecretsManagerAccessTokenConfiguration.HeaderName == STRING
    input.Body.AccessConfiguration.SecretsManagerAccessTokenConfiguration.SecretArn == STRING
    input.Body.AccessConfiguration.SecretsManagerAccessTokenConfiguration.SecretStringKey == STRING
    input.Body.DefaultSegmentDeliveryConfiguration.BaseUrl == STRING
    input.Body.HttpConfiguration.BaseUrl == STRING
    input.Body.SegmentDeliveryConfigurations[_].BaseUrl == STRING
    input.Body.SegmentDeliveryConfigurations[_].Name == STRING
    input.ReqMap.SourceLocationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateVodSource

enum_Type := [ "DASH", "HLS" ]

valid {
    input.Body.HttpPackageConfigurations[_].Path == STRING
    input.Body.HttpPackageConfigurations[_].SourceGroup == STRING
    input.Body.HttpPackageConfigurations[_].Type == enum_Type[_]
    input.ReqMap.SourceLocationName == STRING
    input.ReqMap.VodSourceName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}