Skip to content

Commit ebb8c7d

Browse files
author
awstools
committed
feat(client-mediatailor): Adds options for configuring how MediaTailor conditions ads before inserting them into the content stream. Based on the new settings, MediaTailor will either transcode ads to match the content stream as it has in the past, or it will insert ads without first transcoding them.
1 parent 46d4d66 commit ebb8c7d

File tree

7 files changed

+152
-24
lines changed

7 files changed

+152
-24
lines changed

clients/client-mediatailor/src/commands/ConfigureLogsForPlaybackConfigurationCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export interface ConfigureLogsForPlaybackConfigurationCommandOutput
3737
__MetadataBearer {}
3838

3939
/**
40-
* <p>Amazon CloudWatch log settings for a playback configuration.</p>
40+
* <p>Defines where AWS Elemental MediaTailor sends logs for the playback configuration.</p>
4141
* @example
4242
* Use a bare-bones client and the command you need to make an API call.
4343
* ```javascript

clients/client-mediatailor/src/commands/GetPlaybackConfigurationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ export interface GetPlaybackConfigurationCommandOutput extends GetPlaybackConfig
9292
* // },
9393
* // TranscodeProfileName: "STRING_VALUE",
9494
* // VideoContentSourceUrl: "STRING_VALUE",
95+
* // AdConditioningConfiguration: { // AdConditioningConfiguration
96+
* // StreamingMediaFileConditioning: "TRANSCODE" || "NONE", // required
97+
* // },
9598
* // };
9699
*
97100
* ```

clients/client-mediatailor/src/commands/ListPlaybackConfigurationsCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ export interface ListPlaybackConfigurationsCommandOutput extends ListPlaybackCon
9595
* // },
9696
* // TranscodeProfileName: "STRING_VALUE",
9797
* // VideoContentSourceUrl: "STRING_VALUE",
98+
* // AdConditioningConfiguration: { // AdConditioningConfiguration
99+
* // StreamingMediaFileConditioning: "TRANSCODE" || "NONE", // required
100+
* // },
98101
* // },
99102
* // ],
100103
* // NextToken: "STRING_VALUE",

clients/client-mediatailor/src/commands/PutPlaybackConfigurationCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ export interface PutPlaybackConfigurationCommandOutput extends PutPlaybackConfig
7777
* },
7878
* TranscodeProfileName: "STRING_VALUE",
7979
* VideoContentSourceUrl: "STRING_VALUE",
80+
* AdConditioningConfiguration: { // AdConditioningConfiguration
81+
* StreamingMediaFileConditioning: "TRANSCODE" || "NONE", // required
82+
* },
8083
* };
8184
* const command = new PutPlaybackConfigurationCommand(input);
8285
* const response = await client.send(command);
@@ -132,6 +135,9 @@ export interface PutPlaybackConfigurationCommandOutput extends PutPlaybackConfig
132135
* // },
133136
* // TranscodeProfileName: "STRING_VALUE",
134137
* // VideoContentSourceUrl: "STRING_VALUE",
138+
* // AdConditioningConfiguration: { // AdConditioningConfiguration
139+
* // StreamingMediaFileConditioning: "TRANSCODE" || "NONE", // required
140+
* // },
135141
* // };
136142
*
137143
* ```

clients/client-mediatailor/src/models/models_0.ts

Lines changed: 62 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,33 @@ export interface LiveSource {
666666
Tags?: Record<string, string> | undefined;
667667
}
668668

669+
/**
670+
* @public
671+
* @enum
672+
*/
673+
export const StreamingMediaFileConditioning = {
674+
NONE: "NONE",
675+
TRANSCODE: "TRANSCODE",
676+
} as const;
677+
678+
/**
679+
* @public
680+
*/
681+
export type StreamingMediaFileConditioning =
682+
(typeof StreamingMediaFileConditioning)[keyof typeof StreamingMediaFileConditioning];
683+
684+
/**
685+
* <p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>
686+
* @public
687+
*/
688+
export interface AdConditioningConfiguration {
689+
/**
690+
* <p>For ads that have media files with streaming delivery, indicates what transcoding action MediaTailor it first receives these ads from the ADS. <code>TRANSCODE</code> indicates that MediaTailor must transcode the ads. <code>NONE</code> indicates that you have already transcoded the ads outside of MediaTailor and don't need them transcoded as part of the ad insertion workflow. For more information about ad conditioning see <a href="https://docs.aws.amazon.com/precondition-ads.html">https://docs.aws.amazon.com/precondition-ads.html</a>.</p>
691+
* @public
692+
*/
693+
StreamingMediaFileConditioning: StreamingMediaFileConditioning | undefined;
694+
}
695+
669696
/**
670697
* @public
671698
* @enum
@@ -838,12 +865,12 @@ export interface LivePreRollConfiguration {
838865
}
839866

840867
/**
841-
* <p>Returns Amazon CloudWatch log settings for a playback configuration.</p>
868+
* <p>Defines where AWS Elemental MediaTailor sends logs for the playback configuration.</p>
842869
* @public
843870
*/
844871
export interface LogConfiguration {
845872
/**
846-
* <p>The percentage of session logs that MediaTailor sends to your Cloudwatch Logs account. For example, if your playback configuration has 1000 sessions and <code>percentEnabled</code> is set to <code>60</code>, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html">debug log mode</a>.</p>
873+
* <p>The percentage of session logs that MediaTailor sends to your configured log destination. For example, if your playback configuration has 1000 sessions and <code>percentEnabled</code> is set to <code>60</code>, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html">debug log mode</a>.</p>
847874
* <p>Valid values: <code>0</code> - <code>100</code>
848875
* </p>
849876
* @public
@@ -907,7 +934,7 @@ export interface PlaybackConfiguration {
907934
CdnConfiguration?: CdnConfiguration | undefined;
908935

909936
/**
910-
* <p>The player parameters and aliases used as dynamic variables during session initialization. For more information, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html">Domain Variables</a>.</p>
937+
* <p>The player parameters and aliases used as dynamic variables during session initialization. For more information, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html">Domain Variables</a>.</p>
911938
* @public
912939
*/
913940
ConfigurationAliases?: Record<string, Record<string, string>> | undefined;
@@ -937,7 +964,7 @@ export interface PlaybackConfiguration {
937964
LivePreRollConfiguration?: LivePreRollConfiguration | undefined;
938965

939966
/**
940-
* <p>The Amazon CloudWatch log settings for a playback configuration.</p>
967+
* <p>Defines where AWS Elemental MediaTailor sends logs for the playback configuration.</p>
941968
* @public
942969
*/
943970
LogConfiguration?: LogConfiguration | undefined;
@@ -1001,6 +1028,12 @@ export interface PlaybackConfiguration {
10011028
* @public
10021029
*/
10031030
VideoContentSourceUrl?: string | undefined;
1031+
1032+
/**
1033+
* <p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>
1034+
* @public
1035+
*/
1036+
AdConditioningConfiguration?: AdConditioningConfiguration | undefined;
10041037
}
10051038

10061039
/**
@@ -1021,7 +1054,7 @@ export interface PrefetchConsumption {
10211054
EndTime: Date | undefined;
10221055

10231056
/**
1024-
* <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 retrives them from the ad decision server.</p>
1057+
* <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>
10251058
* @public
10261059
*/
10271060
StartTime?: Date | undefined;
@@ -2624,7 +2657,7 @@ export interface UpdateChannelResponse {
26242657
*/
26252658
export interface ConfigureLogsForPlaybackConfigurationRequest {
26262659
/**
2627-
* <p>The percentage of session logs that MediaTailor sends to your Cloudwatch Logs account. For example, if your playback configuration has 1000 sessions and percentEnabled is set to <code>60</code>, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html">debug log mode</a>.</p>
2660+
* <p>The percentage of session logs that MediaTailor sends to your CloudWatch Logs account. For example, if your playback configuration has 1000 sessions and percentEnabled is set to <code>60</code>, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html">debug log mode</a>.</p>
26282661
* <p>Valid values: <code>0</code> - <code>100</code>
26292662
* </p>
26302663
* @public
@@ -3343,7 +3376,7 @@ export interface GetPlaybackConfigurationResponse {
33433376
CdnConfiguration?: CdnConfiguration | undefined;
33443377

33453378
/**
3346-
* <p>The player parameters and aliases used as dynamic variables during session initialization. For more information, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html">Domain Variables</a>.</p>
3379+
* <p>The player parameters and aliases used as dynamic variables during session initialization. For more information, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html">Domain Variables</a>.</p>
33473380
* @public
33483381
*/
33493382
ConfigurationAliases?: Record<string, Record<string, string>> | undefined;
@@ -3373,7 +3406,7 @@ export interface GetPlaybackConfigurationResponse {
33733406
LivePreRollConfiguration?: LivePreRollConfiguration | undefined;
33743407

33753408
/**
3376-
* <p>The Amazon CloudWatch log settings for a playback configuration.</p>
3409+
* <p>The configuration that defines where AWS Elemental MediaTailor sends logs for the playback configuration.</p>
33773410
* @public
33783411
*/
33793412
LogConfiguration?: LogConfiguration | undefined;
@@ -3437,6 +3470,12 @@ export interface GetPlaybackConfigurationResponse {
34373470
* @public
34383471
*/
34393472
VideoContentSourceUrl?: string | undefined;
3473+
3474+
/**
3475+
* <p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns. </p>
3476+
* @public
3477+
*/
3478+
AdConditioningConfiguration?: AdConditioningConfiguration | undefined;
34403479
}
34413480

34423481
/**
@@ -3855,7 +3894,7 @@ export interface PutPlaybackConfigurationRequest {
38553894
CdnConfiguration?: CdnConfiguration | undefined;
38563895

38573896
/**
3858-
* <p>The player parameters and aliases used as dynamic variables during session initialization. For more information, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html">Domain Variables</a>.</p>
3897+
* <p>The player parameters and aliases used as dynamic variables during session initialization. For more information, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html">Domain Variables</a>.</p>
38593898
* @public
38603899
*/
38613900
ConfigurationAliases?: Record<string, Record<string, string>> | undefined;
@@ -3919,6 +3958,12 @@ export interface PutPlaybackConfigurationRequest {
39193958
* @public
39203959
*/
39213960
VideoContentSourceUrl?: string | undefined;
3961+
3962+
/**
3963+
* <p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>
3964+
* @public
3965+
*/
3966+
AdConditioningConfiguration?: AdConditioningConfiguration | undefined;
39223967
}
39233968

39243969
/**
@@ -3950,7 +3995,7 @@ export interface PutPlaybackConfigurationResponse {
39503995
CdnConfiguration?: CdnConfiguration | undefined;
39513996

39523997
/**
3953-
* <p>The player parameters and aliases used as dynamic variables during session initialization. For more information, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html">Domain Variables</a>.</p>
3998+
* <p>The player parameters and aliases used as dynamic variables during session initialization. For more information, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html">Domain Variables</a>.</p>
39543999
* @public
39554000
*/
39564001
ConfigurationAliases?: Record<string, Record<string, string>> | undefined;
@@ -3980,7 +4025,7 @@ export interface PutPlaybackConfigurationResponse {
39804025
LivePreRollConfiguration?: LivePreRollConfiguration | undefined;
39814026

39824027
/**
3983-
* <p>The Amazon CloudWatch log settings for a playback configuration.</p>
4028+
* <p>The configuration that defines where AWS Elemental MediaTailor sends logs for the playback configuration.</p>
39844029
* @public
39854030
*/
39864031
LogConfiguration?: LogConfiguration | undefined;
@@ -4044,6 +4089,12 @@ export interface PutPlaybackConfigurationResponse {
40444089
* @public
40454090
*/
40464091
VideoContentSourceUrl?: string | undefined;
4092+
4093+
/**
4094+
* <p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>
4095+
* @public
4096+
*/
4097+
AdConditioningConfiguration?: AdConditioningConfiguration | undefined;
40474098
}
40484099

40494100
/**

clients/client-mediatailor/src/protocols/Aws_restJson1.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ import { MediaTailorServiceException as __BaseException } from "../models/MediaT
124124
import {
125125
AccessConfiguration,
126126
AdBreak,
127+
AdConditioningConfiguration,
127128
AdMarkerPassthrough,
128129
AdMarkupType,
129130
Alert,
@@ -858,6 +859,7 @@ export const se_PutPlaybackConfigurationCommand = async (
858859
let body: any;
859860
body = JSON.stringify(
860861
take(input, {
862+
AdConditioningConfiguration: (_) => _json(_),
861863
AdDecisionServerUrl: [],
862864
AvailSuppression: (_) => _json(_),
863865
Bumper: (_) => _json(_),
@@ -1639,6 +1641,7 @@ export const de_GetPlaybackConfigurationCommand = async (
16391641
});
16401642
const data: Record<string, any> = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
16411643
const doc = take(data, {
1644+
AdConditioningConfiguration: _json,
16421645
AdDecisionServerUrl: __expectString,
16431646
AvailSuppression: _json,
16441647
Bumper: _json,
@@ -1897,6 +1900,7 @@ export const de_PutPlaybackConfigurationCommand = async (
18971900
});
18981901
const data: Record<string, any> = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
18991902
const doc = take(data, {
1903+
AdConditioningConfiguration: _json,
19001904
AdDecisionServerUrl: __expectString,
19011905
AvailSuppression: _json,
19021906
Bumper: _json,
@@ -2196,6 +2200,8 @@ const de_BadRequestExceptionRes = async (parsedOutput: any, context: __SerdeCont
21962200

21972201
// se_AdBreakMetadataList omitted.
21982202

2203+
// se_AdConditioningConfiguration omitted.
2204+
21992205
// se_AdMarkerPassthrough omitted.
22002206

22012207
// se_adMarkupTypes omitted.
@@ -2422,6 +2428,8 @@ const de___listOfVodSource = (output: any, context: __SerdeContext): VodSource[]
24222428

24232429
// de_AdBreakOpportunity omitted.
24242430

2431+
// de_AdConditioningConfiguration omitted.
2432+
24252433
// de_AdMarkerPassthrough omitted.
24262434

24272435
// de_adMarkupTypes omitted.
@@ -2526,6 +2534,7 @@ const de_LiveSource = (output: any, context: __SerdeContext): LiveSource => {
25262534
*/
25272535
const de_PlaybackConfiguration = (output: any, context: __SerdeContext): PlaybackConfiguration => {
25282536
return take(output, {
2537+
AdConditioningConfiguration: _json,
25292538
AdDecisionServerUrl: __expectString,
25302539
AvailSuppression: _json,
25312540
Bumper: _json,

0 commit comments

Comments
 (0)