Skip to content

Commit d37ee55

Browse files
author
AWS
committed
AWS MediaTailor Update: Added support for Recurring Prefetch and Traffic Shaping on both Single and Recurring Prefetch. ListPrefetchSchedules now return single prefetchs by default and can be provided scheduleType of SINGLE, RECURRING, AND ALL.
1 parent 4166789 commit d37ee55

File tree

2 files changed

+149
-11
lines changed

2 files changed

+149
-11
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS MediaTailor",
4+
"contributor": "",
5+
"description": "Added support for Recurring Prefetch and Traffic Shaping on both Single and Recurring Prefetch. ListPrefetchSchedules now return single prefetchs by default and can be provided scheduleType of SINGLE, RECURRING, AND ALL."
6+
}

services/mediatailor/src/main/resources/codegen-resources/service-2.json

Lines changed: 143 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1230,15 +1230,13 @@
12301230
"CreatePrefetchScheduleRequest":{
12311231
"type":"structure",
12321232
"required":[
1233-
"Consumption",
12341233
"Name",
1235-
"PlaybackConfigurationName",
1236-
"Retrieval"
1234+
"PlaybackConfigurationName"
12371235
],
12381236
"members":{
12391237
"Consumption":{
12401238
"shape":"PrefetchConsumption",
1241-
"documentation":"<p>The configuration settings for MediaTailor's <i>consumption</i> of the prefetched ads from the ad decision server. Each consumption configuration contains an end time and an optional start time that define the <i>consumption window</i>. Prefetch schedules automatically expire no earlier than seven days after the end time.</p>"
1239+
"documentation":"<p>The configuration settings for how and when MediaTailor consumes prefetched ads from the ad decision server for single prefetch schedules. Each consumption configuration contains an end time and an optional start time that define the <i>consumption window</i>. Prefetch schedules automatically expire no earlier than seven days after the end time.</p>"
12421240
},
12431241
"Name":{
12441242
"shape":"__string",
@@ -1256,6 +1254,14 @@
12561254
"shape":"PrefetchRetrieval",
12571255
"documentation":"<p>The configuration settings for retrieval of prefetched ads from the ad decision server. Only one set of prefetched ads will be retrieved and subsequently consumed for each ad break.</p>"
12581256
},
1257+
"RecurringPrefetchConfiguration":{
1258+
"shape":"RecurringPrefetchConfiguration",
1259+
"documentation":"<p>The configuration that defines how and when MediaTailor performs ad prefetching in a live event.</p>"
1260+
},
1261+
"ScheduleType":{
1262+
"shape":"PrefetchScheduleType",
1263+
"documentation":"<p>The frequency that MediaTailor creates prefetch schedules. <code>SINGLE</code> indicates that this schedule applies to one ad break. <code>RECURRING</code> indicates that MediaTailor automatically creates a schedule for each ad avail in a live event.</p> <p>For more information about the prefetch types and when you might use each, see <a href=\"https://docs.aws.amazon.com/mediatailor/latest/ug/prefetching-ads.html\">Prefetching ads in Elemental MediaTailor.</a> </p>"
1264+
},
12591265
"StreamId":{
12601266
"shape":"__string",
12611267
"documentation":"<p>An optional stream identifier that MediaTailor uses to prefetch ads for multiple streams that use the same playback configuration. If <code>StreamId</code> is specified, MediaTailor returns all of the prefetch schedules with an exact match on <code>StreamId</code>. If not specified, MediaTailor returns all of the prefetch schedules for the playback configuration, regardless of <code>StreamId</code>.</p>"
@@ -1271,7 +1277,7 @@
12711277
},
12721278
"Consumption":{
12731279
"shape":"PrefetchConsumption",
1274-
"documentation":"<p>The configuration settings for MediaTailor's <i>consumption</i> of the prefetched ads from the ad decision server. Each consumption configuration contains an end time and an optional start time that define the <i>consumption window</i>. Prefetch schedules automatically expire no earlier than seven days after the end time.</p>"
1280+
"documentation":"<p>The configuration settings for how and when MediaTailor consumes prefetched ads from the ad decision server for single prefetch schedules. Each consumption configuration contains an end time and an optional start time that define the <i>consumption window</i>. Prefetch schedules automatically expire no earlier than seven days after the end time.</p>"
12751281
},
12761282
"Name":{
12771283
"shape":"__string",
@@ -1285,6 +1291,14 @@
12851291
"shape":"PrefetchRetrieval",
12861292
"documentation":"<p>The configuration settings for retrieval of prefetched ads from the ad decision server. Only one set of prefetched ads will be retrieved and subsequently consumed for each ad break.</p>"
12871293
},
1294+
"RecurringPrefetchConfiguration":{
1295+
"shape":"RecurringPrefetchConfiguration",
1296+
"documentation":"<p>The configuration that defines how MediaTailor performs recurring prefetch. </p>"
1297+
},
1298+
"ScheduleType":{
1299+
"shape":"PrefetchScheduleType",
1300+
"documentation":"<p>The frequency that MediaTailor creates prefetch schedules. <code>SINGLE</code> indicates that this schedule applies to one ad break. <code>RECURRING</code> indicates that MediaTailor automatically creates a schedule for each ad avail in a live event.</p>"
1301+
},
12881302
"StreamId":{
12891303
"shape":"__string",
12901304
"documentation":"<p>An optional stream identifier that MediaTailor uses to prefetch ads for multiple streams that use the same playback configuration. If <code>StreamId</code> is specified, MediaTailor returns all of the prefetch schedules with an exact match on <code>StreamId</code>. If not specified, MediaTailor returns all of the prefetch schedules for the playback configuration, regardless of <code>StreamId</code>.</p>"
@@ -2292,7 +2306,7 @@
22922306
},
22932307
"Consumption":{
22942308
"shape":"PrefetchConsumption",
2295-
"documentation":"<p>Consumption settings determine how, and when, MediaTailor places the prefetched ads into ad breaks. Ad consumption occurs within a span of time that you define, called a <i>consumption window</i>. You can designate which ad breaks that MediaTailor fills with prefetch ads by setting avail matching criteria.</p>"
2309+
"documentation":"<p>The configuration settings for how and when MediaTailor consumes prefetched ads from the ad decision server for single prefetch schedules. Each consumption configuration contains an end time and an optional start time that define the <i>consumption window</i>. Prefetch schedules automatically expire no earlier than seven days after the end time.</p>"
22962310
},
22972311
"Name":{
22982312
"shape":"__string",
@@ -2306,6 +2320,14 @@
23062320
"shape":"PrefetchRetrieval",
23072321
"documentation":"<p>A complex type that contains settings for prefetch retrieval from the ad decision server (ADS).</p>"
23082322
},
2323+
"ScheduleType":{
2324+
"shape":"PrefetchScheduleType",
2325+
"documentation":"<p>The frequency that MediaTailor creates prefetch schedules. <code>SINGLE</code> indicates that this schedule applies to one ad break. <code>RECURRING</code> indicates that MediaTailor automatically creates a schedule for each ad avail in a live event.</p>"
2326+
},
2327+
"RecurringPrefetchConfiguration":{
2328+
"shape":"RecurringPrefetchConfiguration",
2329+
"documentation":"<p>The configuration that defines how and when MediaTailor performs ad prefetching in a live event.</p>"
2330+
},
23092331
"StreamId":{
23102332
"shape":"__string",
23112333
"documentation":"<p>An optional stream identifier that you can specify in order to prefetch for multiple streams that use the same playback configuration.</p>"
@@ -2539,6 +2561,14 @@
25392561
}
25402562
}
25412563
},
2564+
"ListPrefetchScheduleType":{
2565+
"type":"string",
2566+
"enum":[
2567+
"SINGLE",
2568+
"RECURRING",
2569+
"ALL"
2570+
]
2571+
},
25422572
"ListPrefetchSchedulesRequest":{
25432573
"type":"structure",
25442574
"required":["PlaybackConfigurationName"],
@@ -2557,6 +2587,10 @@
25572587
"location":"uri",
25582588
"locationName":"PlaybackConfigurationName"
25592589
},
2590+
"ScheduleType":{
2591+
"shape":"ListPrefetchScheduleType",
2592+
"documentation":"<p>The type of prefetch schedules that you want to list. <code>SINGLE</code> indicates that you want to list the configured single prefetch schedules. <code>RECURRING</code> indicates that you want to list the configured recurring prefetch schedules. <code>ALL</code> indicates that you want to list all configured prefetch schedules.</p>"
2593+
},
25602594
"StreamId":{
25612595
"shape":"__string",
25622596
"documentation":"<p>An optional filtering parameter whereby MediaTailor filters the prefetch schedules to include only specific streams.</p>"
@@ -2976,7 +3010,7 @@
29763010
"documentation":"<p>The time when prefetched ads are considered for use in an ad break. If you don't specify <code>StartTime</code>, the prefetched ads are available after MediaTailor retrieves them from the ad decision server.</p>"
29773011
}
29783012
},
2979-
"documentation":"<p>A complex type that contains settings that determine how and when that MediaTailor places prefetched ads into upcoming ad breaks.</p>"
3013+
"documentation":"<p>For single prefetch, describes how and when that MediaTailor places prefetched ads into upcoming ad breaks.</p>"
29803014
},
29813015
"PrefetchRetrieval":{
29823016
"type":"structure",
@@ -2993,6 +3027,14 @@
29933027
"StartTime":{
29943028
"shape":"__timestampUnix",
29953029
"documentation":"<p>The time when prefetch retrievals can start for this break. Ad prefetching will be attempted for manifest requests that occur at or after this time. Defaults to the current time. If not specified, the prefetch retrieval starts as soon as possible.</p>"
3030+
},
3031+
"TrafficShapingType":{
3032+
"shape":"TrafficShapingType",
3033+
"documentation":"<p>Indicates if this configuration uses a retrieval window for traffic shaping and limiting the number of requests to the ADS at one time.</p>"
3034+
},
3035+
"TrafficShapingRetrievalWindow":{
3036+
"shape":"TrafficShapingRetrievalWindow",
3037+
"documentation":"<p>Configuration for spreading ADS traffic across a set window instead of sending ADS requests for all sessions at the same time.</p>"
29963038
}
29973039
},
29983040
"documentation":"<p>A complex type that contains settings governing when MediaTailor prefetches ads, and which dynamic variables that MediaTailor includes in the request to the ad decision server.</p>"
@@ -3001,10 +3043,8 @@
30013043
"type":"structure",
30023044
"required":[
30033045
"Arn",
3004-
"Consumption",
30053046
"Name",
3006-
"PlaybackConfigurationName",
3007-
"Retrieval"
3047+
"PlaybackConfigurationName"
30083048
],
30093049
"members":{
30103050
"Arn":{
@@ -3013,7 +3053,7 @@
30133053
},
30143054
"Consumption":{
30153055
"shape":"PrefetchConsumption",
3016-
"documentation":"<p>Consumption settings determine how, and when, MediaTailor places the prefetched ads into ad breaks. Ad consumption occurs within a span of time that you define, called a <i>consumption window</i>. You can designate which ad breaks that MediaTailor fills with prefetch ads by setting avail matching criteria.</p>"
3056+
"documentation":"<p>Consumption settings determine how, and when, MediaTailor places the prefetched ads into ad breaks for single prefetch schedules. Ad consumption occurs within a span of time that you define, called a <i>consumption window</i>. You can designate which ad breaks that MediaTailor fills with prefetch ads by setting avail matching criteria.</p>"
30173057
},
30183058
"Name":{
30193059
"shape":"__string",
@@ -3027,13 +3067,28 @@
30273067
"shape":"PrefetchRetrieval",
30283068
"documentation":"<p>A complex type that contains settings for prefetch retrieval from the ad decision server (ADS).</p>"
30293069
},
3070+
"ScheduleType":{
3071+
"shape":"PrefetchScheduleType",
3072+
"documentation":"<p>The frequency that MediaTailor creates prefetch schedules. <code>SINGLE</code> indicates that this schedule applies to one ad break. <code>RECURRING</code> indicates that MediaTailor automatically creates a schedule for each ad avail in a live event.</p> <p>For more information about the prefetch types and when you might use each, see <a href=\"https://docs.aws.amazon.com/mediatailor/latest/ug/prefetching-ads.html\">Prefetching ads in Elemental MediaTailor.</a> </p>"
3073+
},
3074+
"RecurringPrefetchConfiguration":{
3075+
"shape":"RecurringPrefetchConfiguration",
3076+
"documentation":"<p>The settings that determine how and when MediaTailor prefetches ads and inserts them into ad breaks.</p>"
3077+
},
30303078
"StreamId":{
30313079
"shape":"__string",
30323080
"documentation":"<p>An optional stream identifier that you can specify in order to prefetch for multiple streams that use the same playback configuration.</p>"
30333081
}
30343082
},
30353083
"documentation":"<p>A prefetch schedule allows you to tell MediaTailor to fetch and prepare certain ads before an ad break happens. For more information about ad prefetching, see <a href=\"https://docs.aws.amazon.com/mediatailor/latest/ug/prefetching-ads.html\">Using ad prefetching</a> in the <i>MediaTailor User Guide</i>.</p>"
30363084
},
3085+
"PrefetchScheduleType":{
3086+
"type":"string",
3087+
"enum":[
3088+
"SINGLE",
3089+
"RECURRING"
3090+
]
3091+
},
30373092
"PutChannelPolicyRequest":{
30383093
"type":"structure",
30393094
"required":[
@@ -3219,6 +3274,69 @@
32193274
}
32203275
}
32213276
},
3277+
"RecurringConsumption":{
3278+
"type":"structure",
3279+
"members":{
3280+
"RetrievedAdExpirationSeconds":{
3281+
"shape":"__integer",
3282+
"documentation":"<p>The number of seconds that an ad is available for insertion after it was prefetched.</p>"
3283+
},
3284+
"AvailMatchingCriteria":{
3285+
"shape":"__listOfAvailMatchingCriteria",
3286+
"documentation":"<p>The configuration for the dynamic variables that determine which ad breaks that MediaTailor inserts prefetched ads in.</p>"
3287+
}
3288+
},
3289+
"documentation":"<p>The settings that determine how and when MediaTailor places prefetched ads into upcoming ad breaks for recurring prefetch scedules.</p>"
3290+
},
3291+
"RecurringPrefetchConfiguration":{
3292+
"type":"structure",
3293+
"required":[
3294+
"EndTime",
3295+
"RecurringConsumption",
3296+
"RecurringRetrieval"
3297+
],
3298+
"members":{
3299+
"StartTime":{
3300+
"shape":"__timestampUnix",
3301+
"documentation":"<p>The start time for the window that MediaTailor prefetches and inserts ads in a live event. </p>"
3302+
},
3303+
"EndTime":{
3304+
"shape":"__timestampUnix",
3305+
"documentation":"<p>The end time for the window that MediaTailor prefetches and inserts ads in a live event. </p>"
3306+
},
3307+
"RecurringConsumption":{
3308+
"shape":"RecurringConsumption",
3309+
"documentation":"<p>The settings that determine how and when MediaTailor places prefetched ads into upcoming ad breaks for recurring prefetch scedules.</p>"
3310+
},
3311+
"RecurringRetrieval":{
3312+
"shape":"RecurringRetrieval",
3313+
"documentation":"<p>The configuration for prefetch ad retrieval from the ADS.</p>"
3314+
}
3315+
},
3316+
"documentation":"<p>The configuration that defines how MediaTailor performs recurring prefetch. </p>"
3317+
},
3318+
"RecurringRetrieval":{
3319+
"type":"structure",
3320+
"members":{
3321+
"DynamicVariables":{
3322+
"shape":"__mapOf__string",
3323+
"documentation":"<p>The dynamic variables to use for substitution during prefetch requests to the ADS.</p>"
3324+
},
3325+
"DelayAfterAvailEndSeconds":{
3326+
"shape":"__integer",
3327+
"documentation":"<p>The number of seconds that MediaTailor waits after an ad avail before prefetching ads for the next avail. If not set, the default is 0 (no delay).</p>"
3328+
},
3329+
"TrafficShapingType":{
3330+
"shape":"TrafficShapingType",
3331+
"documentation":"<p>Indicates if this configuration uses a retrieval window for traffic shaping and limiting the number of requests to the ADS at one time.</p>"
3332+
},
3333+
"TrafficShapingRetrievalWindow":{
3334+
"shape":"TrafficShapingRetrievalWindow",
3335+
"documentation":"<p>Configuration for spreading ADS traffic across a set window instead of sending ADS requests for all sessions at the same time.</p>"
3336+
}
3337+
},
3338+
"documentation":"<p>With recurring prefetch, MediaTailor automatically prefetches ads for every avail that occurs during the retrieval window. The following configurations describe the MediaTailor behavior when prefetching ads for a live event.</p>"
3339+
},
32223340
"RelativePosition":{
32233341
"type":"string",
32243342
"enum":[
@@ -3641,6 +3759,20 @@
36413759
},
36423760
"documentation":"<p>The SCTE-35 <code>time_signal</code> message can be sent with one or more <code>segmentation_descriptor</code> messages. A <code>time_signal</code> message can be sent only if a single <code>segmentation_descriptor</code> message is sent.</p> <p>The <code>time_signal</code> message contains only the <code>splice_time</code> field which is constructed using a given presentation timestamp. When sending a <code>time_signal</code> message, the <code>splice_command_type</code> field in the <code>splice_info_section</code> message is set to 6 (0x06).</p> <p>See the <code>time_signal()</code> table of the 2022 SCTE-35 specification for more information.</p>"
36433761
},
3762+
"TrafficShapingRetrievalWindow":{
3763+
"type":"structure",
3764+
"members":{
3765+
"RetrievalWindowDurationSeconds":{
3766+
"shape":"__integer",
3767+
"documentation":"<p>The amount of time, in seconds, that MediaTailor spreads prefetch requests to the ADS. </p>"
3768+
}
3769+
},
3770+
"documentation":"<p>The configuration that tells Elemental MediaTailor how to spread out requests to the ad decision server (ADS). Instead of sending ADS requests for all sessions at the same time, MediaTailor spreads the requests across the amount of time specified in the retrieval window.</p>"
3771+
},
3772+
"TrafficShapingType":{
3773+
"type":"string",
3774+
"enum":["RETRIEVAL_WINDOW"]
3775+
},
36443776
"Transition":{
36453777
"type":"structure",
36463778
"required":[

0 commit comments

Comments
 (0)