Skip to content

Commit 896f126

Browse files
Add support for CloudWatch Vended Logs which allows for delivery of customer logs to CloudWatch Logs, S3, or Firehose.
1 parent 32dfbb1 commit 896f126

15 files changed

+226
-22
lines changed

generator/ServiceModels/mediatailor/mediatailor-2018-04-23.api.json

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -725,15 +725,17 @@
725725
],
726726
"members":{
727727
"PercentEnabled":{"shape":"__integer"},
728-
"PlaybackConfigurationName":{"shape":"__string"}
728+
"PlaybackConfigurationName":{"shape":"__string"},
729+
"EnabledLoggingStrategies":{"shape":"__listOfLoggingStrategies"}
729730
}
730731
},
731732
"ConfigureLogsForPlaybackConfigurationResponse":{
732733
"type":"structure",
733734
"required":["PercentEnabled"],
734735
"members":{
735736
"PercentEnabled":{"shape":"__integer"},
736-
"PlaybackConfigurationName":{"shape":"__string"}
737+
"PlaybackConfigurationName":{"shape":"__string"},
738+
"EnabledLoggingStrategies":{"shape":"__listOfLoggingStrategies"}
737739
}
738740
},
739741
"CreateChannelRequest":{
@@ -1749,7 +1751,8 @@
17491751
"type":"structure",
17501752
"required":["PercentEnabled"],
17511753
"members":{
1752-
"PercentEnabled":{"shape":"__integer"}
1754+
"PercentEnabled":{"shape":"__integer"},
1755+
"EnabledLoggingStrategies":{"shape":"__listOfLoggingStrategies"}
17531756
}
17541757
},
17551758
"LogConfigurationForChannel":{
@@ -1766,6 +1769,13 @@
17661769
"type":"list",
17671770
"member":{"shape":"LogType"}
17681771
},
1772+
"LoggingStrategy":{
1773+
"type":"string",
1774+
"enum":[
1775+
"VENDED_LOGS",
1776+
"LEGACY_CLOUDWATCH"
1777+
]
1778+
},
17691779
"Long":{
17701780
"type":"long",
17711781
"box":true
@@ -2499,6 +2509,10 @@
24992509
"type":"list",
25002510
"member":{"shape":"LiveSource"}
25012511
},
2512+
"__listOfLoggingStrategies":{
2513+
"type":"list",
2514+
"member":{"shape":"LoggingStrategy"}
2515+
},
25022516
"__listOfPlaybackConfiguration":{
25032517
"type":"list",
25042518
"member":{"shape":"PlaybackConfiguration"}

generator/ServiceModels/mediatailor/mediatailor-2018-04-23.docs.json

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,10 @@
9292
"AdConditioningConfiguration": {
9393
"base": "<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>",
9494
"refs": {
95-
"GetPlaybackConfigurationResponse$AdConditioningConfiguration": "<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns. </p>",
96-
"PlaybackConfiguration$AdConditioningConfiguration": "<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>",
97-
"PutPlaybackConfigurationRequest$AdConditioningConfiguration": "<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>",
98-
"PutPlaybackConfigurationResponse$AdConditioningConfiguration": "<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>"
95+
"GetPlaybackConfigurationResponse$AdConditioningConfiguration": "<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads. </p>",
96+
"PlaybackConfiguration$AdConditioningConfiguration": "<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads.</p>",
97+
"PutPlaybackConfigurationRequest$AdConditioningConfiguration": "<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads. </p>",
98+
"PutPlaybackConfigurationResponse$AdConditioningConfiguration": "<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads. </p>"
9999
}
100100
},
101101
"AdMarkerPassthrough": {
@@ -711,6 +711,12 @@
711711
"LogConfigurationForChannel$LogTypes": "<p>The log types.</p>"
712712
}
713713
},
714+
"LoggingStrategy": {
715+
"base": null,
716+
"refs": {
717+
"__listOfLoggingStrategies$member": null
718+
}
719+
},
714720
"Long": {
715721
"base": null,
716722
"refs": {
@@ -948,7 +954,7 @@
948954
"StreamingMediaFileConditioning": {
949955
"base": null,
950956
"refs": {
951-
"AdConditioningConfiguration$StreamingMediaFileConditioning": "<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>"
957+
"AdConditioningConfiguration$StreamingMediaFileConditioning": "<p>For ads that have media files with streaming delivery and supported file extensions, indicates what transcoding action MediaTailor takes when 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>"
952958
}
953959
},
954960
"String": {
@@ -1163,6 +1169,14 @@
11631169
"ListLiveSourcesResponse$Items": "<p>Lists the live sources.</p>"
11641170
}
11651171
},
1172+
"__listOfLoggingStrategies": {
1173+
"base": null,
1174+
"refs": {
1175+
"ConfigureLogsForPlaybackConfigurationRequest$EnabledLoggingStrategies": "<p>The method used for collecting logs from AWS Elemental MediaTailor. To configure MediaTailor to send logs directly to Amazon CloudWatch Logs, choose <code>LEGACY_CLOUDWATCH</code>. To configure MediaTailor to send logs to CloudWatch, which then vends the logs to your destination of choice, choose <code>VENDED_LOGS</code>. Supported destinations are CloudWatch Logs log group, Amazon S3 bucket, and Amazon Data Firehose stream.</p> <p>To use vended logs, you must configure the delivery destination in Amazon CloudWatch, as described in <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions-V2\">Enable logging from AWS services, Logging that requires additional permissions [V2]</a>.</p>",
1176+
"ConfigureLogsForPlaybackConfigurationResponse$EnabledLoggingStrategies": "<p>The method used for collecting logs from AWS Elemental MediaTailor. <code>LEGACY_CLOUDWATCH</code> indicates that MediaTailor is sending logs directly to Amazon CloudWatch Logs. <code>VENDED_LOGS</code> indicates that MediaTailor is sending logs to CloudWatch, which then vends the logs to your destination of choice. Supported destinations are CloudWatch Logs log group, Amazon S3 bucket, and Amazon Data Firehose stream. </p>",
1177+
"LogConfiguration$EnabledLoggingStrategies": "<p>The method used for collecting logs from AWS Elemental MediaTailor. <code>LEGACY_CLOUDWATCH</code> indicates that MediaTailor is sending logs directly to Amazon CloudWatch Logs. <code>VENDED_LOGS</code> indicates that MediaTailor is sending logs to CloudWatch, which then vends the logs to your destination of choice. Supported destinations are CloudWatch Logs log group, Amazon S3 bucket, and Amazon Data Firehose stream. </p>"
1178+
}
1179+
},
11661180
"__listOfPlaybackConfiguration": {
11671181
"base": null,
11681182
"refs": {

generator/ServiceModels/mediatailor/mediatailor-2018-04-23.normal.json

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,7 @@
611611
"members":{
612612
"StreamingMediaFileConditioning":{
613613
"shape":"StreamingMediaFileConditioning",
614-
"documentation":"<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>"
614+
"documentation":"<p>For ads that have media files with streaming delivery and supported file extensions, indicates what transcoding action MediaTailor takes when 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>"
615615
}
616616
},
617617
"documentation":"<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>"
@@ -957,6 +957,10 @@
957957
"PlaybackConfigurationName":{
958958
"shape":"__string",
959959
"documentation":"<p>The name of the playback configuration.</p>"
960+
},
961+
"EnabledLoggingStrategies":{
962+
"shape":"__listOfLoggingStrategies",
963+
"documentation":"<p>The method used for collecting logs from AWS Elemental MediaTailor. To configure MediaTailor to send logs directly to Amazon CloudWatch Logs, choose <code>LEGACY_CLOUDWATCH</code>. To configure MediaTailor to send logs to CloudWatch, which then vends the logs to your destination of choice, choose <code>VENDED_LOGS</code>. Supported destinations are CloudWatch Logs log group, Amazon S3 bucket, and Amazon Data Firehose stream.</p> <p>To use vended logs, you must configure the delivery destination in Amazon CloudWatch, as described in <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions-V2\">Enable logging from AWS services, Logging that requires additional permissions [V2]</a>.</p>"
960964
}
961965
},
962966
"documentation":"<p>Configures Amazon CloudWatch log settings for a playback configuration.</p>"
@@ -972,6 +976,10 @@
972976
"PlaybackConfigurationName":{
973977
"shape":"__string",
974978
"documentation":"<p>The name of the playback configuration.</p>"
979+
},
980+
"EnabledLoggingStrategies":{
981+
"shape":"__listOfLoggingStrategies",
982+
"documentation":"<p>The method used for collecting logs from AWS Elemental MediaTailor. <code>LEGACY_CLOUDWATCH</code> indicates that MediaTailor is sending logs directly to Amazon CloudWatch Logs. <code>VENDED_LOGS</code> indicates that MediaTailor is sending logs to CloudWatch, which then vends the logs to your destination of choice. Supported destinations are CloudWatch Logs log group, Amazon S3 bucket, and Amazon Data Firehose stream. </p>"
975983
}
976984
}
977985
},
@@ -2170,7 +2178,7 @@
21702178
},
21712179
"AdConditioningConfiguration":{
21722180
"shape":"AdConditioningConfiguration",
2173-
"documentation":"<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns. </p>"
2181+
"documentation":"<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads. </p>"
21742182
}
21752183
}
21762184
},
@@ -2639,6 +2647,10 @@
26392647
"PercentEnabled":{
26402648
"shape":"__integer",
26412649
"documentation":"<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> <p>Valid values: <code>0</code> - <code>100</code> </p>"
2650+
},
2651+
"EnabledLoggingStrategies":{
2652+
"shape":"__listOfLoggingStrategies",
2653+
"documentation":"<p>The method used for collecting logs from AWS Elemental MediaTailor. <code>LEGACY_CLOUDWATCH</code> indicates that MediaTailor is sending logs directly to Amazon CloudWatch Logs. <code>VENDED_LOGS</code> indicates that MediaTailor is sending logs to CloudWatch, which then vends the logs to your destination of choice. Supported destinations are CloudWatch Logs log group, Amazon S3 bucket, and Amazon Data Firehose stream. </p>"
26422654
}
26432655
},
26442656
"documentation":"<p>Defines where AWS Elemental MediaTailor sends logs for the playback configuration.</p>"
@@ -2661,6 +2673,13 @@
26612673
"type":"list",
26622674
"member":{"shape":"LogType"}
26632675
},
2676+
"LoggingStrategy":{
2677+
"type":"string",
2678+
"enum":[
2679+
"VENDED_LOGS",
2680+
"LEGACY_CLOUDWATCH"
2681+
]
2682+
},
26642683
"Long":{
26652684
"type":"long",
26662685
"box":true
@@ -2793,7 +2812,7 @@
27932812
},
27942813
"AdConditioningConfiguration":{
27952814
"shape":"AdConditioningConfiguration",
2796-
"documentation":"<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>"
2815+
"documentation":"<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads.</p>"
27972816
}
27982817
},
27992818
"documentation":"<p>A playback configuration. For information about MediaTailor configurations, see <a href=\"https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html\">Working with configurations in AWS Elemental MediaTailor</a>.</p>"
@@ -2971,7 +2990,7 @@
29712990
},
29722991
"AdConditioningConfiguration":{
29732992
"shape":"AdConditioningConfiguration",
2974-
"documentation":"<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>"
2993+
"documentation":"<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads. </p>"
29752994
}
29762995
}
29772996
},
@@ -3061,7 +3080,7 @@
30613080
},
30623081
"AdConditioningConfiguration":{
30633082
"shape":"AdConditioningConfiguration",
3064-
"documentation":"<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.</p>"
3083+
"documentation":"<p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads. </p>"
30653084
}
30663085
}
30673086
},
@@ -4026,6 +4045,10 @@
40264045
"type":"list",
40274046
"member":{"shape":"LiveSource"}
40284047
},
4048+
"__listOfLoggingStrategies":{
4049+
"type":"list",
4050+
"member":{"shape":"LoggingStrategy"}
4051+
},
40294052
"__listOfPlaybackConfiguration":{
40304053
"type":"list",
40314054
"member":{"shape":"PlaybackConfiguration"}

sdk/src/Services/MediaTailor/Generated/Model/AdConditioningConfiguration.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,12 @@ public partial class AdConditioningConfiguration
4040
/// <summary>
4141
/// Gets and sets the property StreamingMediaFileConditioning.
4242
/// <para>
43-
/// For ads that have media files with streaming delivery, indicates what transcoding
44-
/// action MediaTailor it first receives these ads from the ADS. <c>TRANSCODE</c> indicates
45-
/// that MediaTailor must transcode the ads. <c>NONE</c> indicates that you have already
46-
/// transcoded the ads outside of MediaTailor and don't need them transcoded as part of
47-
/// 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>.
43+
/// For ads that have media files with streaming delivery and supported file extensions,
44+
/// indicates what transcoding action MediaTailor takes when it first receives these ads
45+
/// from the ADS. <c>TRANSCODE</c> indicates that MediaTailor must transcode the ads.
46+
/// <c>NONE</c> indicates that you have already transcoded the ads outside of MediaTailor
47+
/// and don't need them transcoded as part of the ad insertion workflow. For more information
48+
/// about ad conditioning see <a href="https://docs.aws.amazon.com/precondition-ads.html">https://docs.aws.amazon.com/precondition-ads.html</a>.
4849
/// </para>
4950
/// </summary>
5051
[AWSProperty(Required=true)]

sdk/src/Services/MediaTailor/Generated/Model/ConfigureLogsForPlaybackConfigurationRequest.cs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,38 @@ namespace Amazon.MediaTailor.Model
3535
/// </summary>
3636
public partial class ConfigureLogsForPlaybackConfigurationRequest : AmazonMediaTailorRequest
3737
{
38+
private List<string> _enabledLoggingStrategies = AWSConfigs.InitializeCollections ? new List<string>() : null;
3839
private int? _percentEnabled;
3940
private string _playbackConfigurationName;
4041

42+
/// <summary>
43+
/// Gets and sets the property EnabledLoggingStrategies.
44+
/// <para>
45+
/// The method used for collecting logs from AWS Elemental MediaTailor. To configure MediaTailor
46+
/// to send logs directly to Amazon CloudWatch Logs, choose <c>LEGACY_CLOUDWATCH</c>.
47+
/// To configure MediaTailor to send logs to CloudWatch, which then vends the logs to
48+
/// your destination of choice, choose <c>VENDED_LOGS</c>. Supported destinations are
49+
/// CloudWatch Logs log group, Amazon S3 bucket, and Amazon Data Firehose stream.
50+
/// </para>
51+
///
52+
/// <para>
53+
/// To use vended logs, you must configure the delivery destination in Amazon CloudWatch,
54+
/// as described in <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions-V2">Enable
55+
/// logging from AWS services, Logging that requires additional permissions [V2]</a>.
56+
/// </para>
57+
/// </summary>
58+
public List<string> EnabledLoggingStrategies
59+
{
60+
get { return this._enabledLoggingStrategies; }
61+
set { this._enabledLoggingStrategies = value; }
62+
}
63+
64+
// Check to see if EnabledLoggingStrategies property is set
65+
internal bool IsSetEnabledLoggingStrategies()
66+
{
67+
return this._enabledLoggingStrategies != null && (this._enabledLoggingStrategies.Count > 0 || !AWSConfigs.InitializeCollections);
68+
}
69+
4170
/// <summary>
4271
/// Gets and sets the property PercentEnabled.
4372
/// <para>

0 commit comments

Comments
 (0)