/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A playback configuration. For information about MediaTailor configurations,
* see Working
* with configurations in AWS Elemental MediaTailor.See Also:
* AWS
* API Reference
The URL for the ad decision server (ADS). This includes the specification of * static parameters and placeholders for dynamic parameters. AWS Elemental * MediaTailor substitutes player-specific and session-specific parameters as * needed when calling the ADS. Alternately, for testing you can provide a static * VAST URL. The maximum length is 25,000 characters.
*/ inline const Aws::String& GetAdDecisionServerUrl() const{ return m_adDecisionServerUrl; } /** *The URL for the ad decision server (ADS). This includes the specification of * static parameters and placeholders for dynamic parameters. AWS Elemental * MediaTailor substitutes player-specific and session-specific parameters as * needed when calling the ADS. Alternately, for testing you can provide a static * VAST URL. The maximum length is 25,000 characters.
*/ inline bool AdDecisionServerUrlHasBeenSet() const { return m_adDecisionServerUrlHasBeenSet; } /** *The URL for the ad decision server (ADS). This includes the specification of * static parameters and placeholders for dynamic parameters. AWS Elemental * MediaTailor substitutes player-specific and session-specific parameters as * needed when calling the ADS. Alternately, for testing you can provide a static * VAST URL. The maximum length is 25,000 characters.
*/ inline void SetAdDecisionServerUrl(const Aws::String& value) { m_adDecisionServerUrlHasBeenSet = true; m_adDecisionServerUrl = value; } /** *The URL for the ad decision server (ADS). This includes the specification of * static parameters and placeholders for dynamic parameters. AWS Elemental * MediaTailor substitutes player-specific and session-specific parameters as * needed when calling the ADS. Alternately, for testing you can provide a static * VAST URL. The maximum length is 25,000 characters.
*/ inline void SetAdDecisionServerUrl(Aws::String&& value) { m_adDecisionServerUrlHasBeenSet = true; m_adDecisionServerUrl = std::move(value); } /** *The URL for the ad decision server (ADS). This includes the specification of * static parameters and placeholders for dynamic parameters. AWS Elemental * MediaTailor substitutes player-specific and session-specific parameters as * needed when calling the ADS. Alternately, for testing you can provide a static * VAST URL. The maximum length is 25,000 characters.
*/ inline void SetAdDecisionServerUrl(const char* value) { m_adDecisionServerUrlHasBeenSet = true; m_adDecisionServerUrl.assign(value); } /** *The URL for the ad decision server (ADS). This includes the specification of * static parameters and placeholders for dynamic parameters. AWS Elemental * MediaTailor substitutes player-specific and session-specific parameters as * needed when calling the ADS. Alternately, for testing you can provide a static * VAST URL. The maximum length is 25,000 characters.
*/ inline PlaybackConfiguration& WithAdDecisionServerUrl(const Aws::String& value) { SetAdDecisionServerUrl(value); return *this;} /** *The URL for the ad decision server (ADS). This includes the specification of * static parameters and placeholders for dynamic parameters. AWS Elemental * MediaTailor substitutes player-specific and session-specific parameters as * needed when calling the ADS. Alternately, for testing you can provide a static * VAST URL. The maximum length is 25,000 characters.
*/ inline PlaybackConfiguration& WithAdDecisionServerUrl(Aws::String&& value) { SetAdDecisionServerUrl(std::move(value)); return *this;} /** *The URL for the ad decision server (ADS). This includes the specification of * static parameters and placeholders for dynamic parameters. AWS Elemental * MediaTailor substitutes player-specific and session-specific parameters as * needed when calling the ADS. Alternately, for testing you can provide a static * VAST URL. The maximum length is 25,000 characters.
*/ inline PlaybackConfiguration& WithAdDecisionServerUrl(const char* value) { SetAdDecisionServerUrl(value); return *this;} /** *The configuration for avail suppression, also known as ad suppression. For * more information about ad suppression, see Ad * Suppression.
*/ inline const AvailSuppression& GetAvailSuppression() const{ return m_availSuppression; } /** *The configuration for avail suppression, also known as ad suppression. For * more information about ad suppression, see Ad * Suppression.
*/ inline bool AvailSuppressionHasBeenSet() const { return m_availSuppressionHasBeenSet; } /** *The configuration for avail suppression, also known as ad suppression. For * more information about ad suppression, see Ad * Suppression.
*/ inline void SetAvailSuppression(const AvailSuppression& value) { m_availSuppressionHasBeenSet = true; m_availSuppression = value; } /** *The configuration for avail suppression, also known as ad suppression. For * more information about ad suppression, see Ad * Suppression.
*/ inline void SetAvailSuppression(AvailSuppression&& value) { m_availSuppressionHasBeenSet = true; m_availSuppression = std::move(value); } /** *The configuration for avail suppression, also known as ad suppression. For * more information about ad suppression, see Ad * Suppression.
*/ inline PlaybackConfiguration& WithAvailSuppression(const AvailSuppression& value) { SetAvailSuppression(value); return *this;} /** *The configuration for avail suppression, also known as ad suppression. For * more information about ad suppression, see Ad * Suppression.
*/ inline PlaybackConfiguration& WithAvailSuppression(AvailSuppression&& value) { SetAvailSuppression(std::move(value)); return *this;} /** *The configuration for bumpers. Bumpers are short audio or video clips that * play at the start or before the end of an ad break. To learn more about bumpers, * see Bumpers.
*/ inline const Bumper& GetBumper() const{ return m_bumper; } /** *The configuration for bumpers. Bumpers are short audio or video clips that * play at the start or before the end of an ad break. To learn more about bumpers, * see Bumpers.
*/ inline bool BumperHasBeenSet() const { return m_bumperHasBeenSet; } /** *The configuration for bumpers. Bumpers are short audio or video clips that * play at the start or before the end of an ad break. To learn more about bumpers, * see Bumpers.
*/ inline void SetBumper(const Bumper& value) { m_bumperHasBeenSet = true; m_bumper = value; } /** *The configuration for bumpers. Bumpers are short audio or video clips that * play at the start or before the end of an ad break. To learn more about bumpers, * see Bumpers.
*/ inline void SetBumper(Bumper&& value) { m_bumperHasBeenSet = true; m_bumper = std::move(value); } /** *The configuration for bumpers. Bumpers are short audio or video clips that * play at the start or before the end of an ad break. To learn more about bumpers, * see Bumpers.
*/ inline PlaybackConfiguration& WithBumper(const Bumper& value) { SetBumper(value); return *this;} /** *The configuration for bumpers. Bumpers are short audio or video clips that * play at the start or before the end of an ad break. To learn more about bumpers, * see Bumpers.
*/ inline PlaybackConfiguration& WithBumper(Bumper&& value) { SetBumper(std::move(value)); return *this;} /** *The configuration for using a content delivery network (CDN), like Amazon * CloudFront, for content and ad segment management.
*/ inline const CdnConfiguration& GetCdnConfiguration() const{ return m_cdnConfiguration; } /** *The configuration for using a content delivery network (CDN), like Amazon * CloudFront, for content and ad segment management.
*/ inline bool CdnConfigurationHasBeenSet() const { return m_cdnConfigurationHasBeenSet; } /** *The configuration for using a content delivery network (CDN), like Amazon * CloudFront, for content and ad segment management.
*/ inline void SetCdnConfiguration(const CdnConfiguration& value) { m_cdnConfigurationHasBeenSet = true; m_cdnConfiguration = value; } /** *The configuration for using a content delivery network (CDN), like Amazon * CloudFront, for content and ad segment management.
*/ inline void SetCdnConfiguration(CdnConfiguration&& value) { m_cdnConfigurationHasBeenSet = true; m_cdnConfiguration = std::move(value); } /** *The configuration for using a content delivery network (CDN), like Amazon * CloudFront, for content and ad segment management.
*/ inline PlaybackConfiguration& WithCdnConfiguration(const CdnConfiguration& value) { SetCdnConfiguration(value); return *this;} /** *The configuration for using a content delivery network (CDN), like Amazon * CloudFront, for content and ad segment management.
*/ inline PlaybackConfiguration& WithCdnConfiguration(CdnConfiguration&& value) { SetCdnConfiguration(std::move(value)); return *this;} /** *The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline const Aws::MapThe player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline bool ConfigurationAliasesHasBeenSet() const { return m_configurationAliasesHasBeenSet; } /** *The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline void SetConfigurationAliases(const Aws::MapThe player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline void SetConfigurationAliases(Aws::MapThe player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline PlaybackConfiguration& WithConfigurationAliases(const Aws::MapThe player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline PlaybackConfiguration& WithConfigurationAliases(Aws::MapThe player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline PlaybackConfiguration& AddConfigurationAliases(const Aws::String& key, const Aws::MapThe player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline PlaybackConfiguration& AddConfigurationAliases(Aws::String&& key, const Aws::MapThe player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline PlaybackConfiguration& AddConfigurationAliases(const Aws::String& key, Aws::MapThe player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline PlaybackConfiguration& AddConfigurationAliases(Aws::String&& key, Aws::MapThe player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline PlaybackConfiguration& AddConfigurationAliases(const char* key, Aws::MapThe player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.
*/ inline PlaybackConfiguration& AddConfigurationAliases(const char* key, const Aws::MapThe configuration for a DASH source.
*/ inline const DashConfiguration& GetDashConfiguration() const{ return m_dashConfiguration; } /** *The configuration for a DASH source.
*/ inline bool DashConfigurationHasBeenSet() const { return m_dashConfigurationHasBeenSet; } /** *The configuration for a DASH source.
*/ inline void SetDashConfiguration(const DashConfiguration& value) { m_dashConfigurationHasBeenSet = true; m_dashConfiguration = value; } /** *The configuration for a DASH source.
*/ inline void SetDashConfiguration(DashConfiguration&& value) { m_dashConfigurationHasBeenSet = true; m_dashConfiguration = std::move(value); } /** *The configuration for a DASH source.
*/ inline PlaybackConfiguration& WithDashConfiguration(const DashConfiguration& value) { SetDashConfiguration(value); return *this;} /** *The configuration for a DASH source.
*/ inline PlaybackConfiguration& WithDashConfiguration(DashConfiguration&& value) { SetDashConfiguration(std::move(value)); return *this;} /** *The configuration for HLS content.
*/ inline const HlsConfiguration& GetHlsConfiguration() const{ return m_hlsConfiguration; } /** *The configuration for HLS content.
*/ inline bool HlsConfigurationHasBeenSet() const { return m_hlsConfigurationHasBeenSet; } /** *The configuration for HLS content.
*/ inline void SetHlsConfiguration(const HlsConfiguration& value) { m_hlsConfigurationHasBeenSet = true; m_hlsConfiguration = value; } /** *The configuration for HLS content.
*/ inline void SetHlsConfiguration(HlsConfiguration&& value) { m_hlsConfigurationHasBeenSet = true; m_hlsConfiguration = std::move(value); } /** *The configuration for HLS content.
*/ inline PlaybackConfiguration& WithHlsConfiguration(const HlsConfiguration& value) { SetHlsConfiguration(value); return *this;} /** *The configuration for HLS content.
*/ inline PlaybackConfiguration& WithHlsConfiguration(HlsConfiguration&& value) { SetHlsConfiguration(std::move(value)); return *this;} /** *The configuration for pre-roll ad insertion.
*/ inline const LivePreRollConfiguration& GetLivePreRollConfiguration() const{ return m_livePreRollConfiguration; } /** *The configuration for pre-roll ad insertion.
*/ inline bool LivePreRollConfigurationHasBeenSet() const { return m_livePreRollConfigurationHasBeenSet; } /** *The configuration for pre-roll ad insertion.
*/ inline void SetLivePreRollConfiguration(const LivePreRollConfiguration& value) { m_livePreRollConfigurationHasBeenSet = true; m_livePreRollConfiguration = value; } /** *The configuration for pre-roll ad insertion.
*/ inline void SetLivePreRollConfiguration(LivePreRollConfiguration&& value) { m_livePreRollConfigurationHasBeenSet = true; m_livePreRollConfiguration = std::move(value); } /** *The configuration for pre-roll ad insertion.
*/ inline PlaybackConfiguration& WithLivePreRollConfiguration(const LivePreRollConfiguration& value) { SetLivePreRollConfiguration(value); return *this;} /** *The configuration for pre-roll ad insertion.
*/ inline PlaybackConfiguration& WithLivePreRollConfiguration(LivePreRollConfiguration&& value) { SetLivePreRollConfiguration(std::move(value)); return *this;} /** *The Amazon CloudWatch log settings for a playback configuration.
*/ inline const LogConfiguration& GetLogConfiguration() const{ return m_logConfiguration; } /** *The Amazon CloudWatch log settings for a playback configuration.
*/ inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; } /** *The Amazon CloudWatch log settings for a playback configuration.
*/ inline void SetLogConfiguration(const LogConfiguration& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = value; } /** *The Amazon CloudWatch log settings for a playback configuration.
*/ inline void SetLogConfiguration(LogConfiguration&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::move(value); } /** *The Amazon CloudWatch log settings for a playback configuration.
*/ inline PlaybackConfiguration& WithLogConfiguration(const LogConfiguration& value) { SetLogConfiguration(value); return *this;} /** *The Amazon CloudWatch log settings for a playback configuration.
*/ inline PlaybackConfiguration& WithLogConfiguration(LogConfiguration&& value) { SetLogConfiguration(std::move(value)); return *this;} /** *The configuration for manifest processing rules. Manifest processing rules * enable customization of the personalized manifests created by MediaTailor.
*/ inline const ManifestProcessingRules& GetManifestProcessingRules() const{ return m_manifestProcessingRules; } /** *The configuration for manifest processing rules. Manifest processing rules * enable customization of the personalized manifests created by MediaTailor.
*/ inline bool ManifestProcessingRulesHasBeenSet() const { return m_manifestProcessingRulesHasBeenSet; } /** *The configuration for manifest processing rules. Manifest processing rules * enable customization of the personalized manifests created by MediaTailor.
*/ inline void SetManifestProcessingRules(const ManifestProcessingRules& value) { m_manifestProcessingRulesHasBeenSet = true; m_manifestProcessingRules = value; } /** *The configuration for manifest processing rules. Manifest processing rules * enable customization of the personalized manifests created by MediaTailor.
*/ inline void SetManifestProcessingRules(ManifestProcessingRules&& value) { m_manifestProcessingRulesHasBeenSet = true; m_manifestProcessingRules = std::move(value); } /** *The configuration for manifest processing rules. Manifest processing rules * enable customization of the personalized manifests created by MediaTailor.
*/ inline PlaybackConfiguration& WithManifestProcessingRules(const ManifestProcessingRules& value) { SetManifestProcessingRules(value); return *this;} /** *The configuration for manifest processing rules. Manifest processing rules * enable customization of the personalized manifests created by MediaTailor.
*/ inline PlaybackConfiguration& WithManifestProcessingRules(ManifestProcessingRules&& value) { SetManifestProcessingRules(std::move(value)); return *this;} /** *The identifier for the playback configuration.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The identifier for the playback configuration.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The identifier for the playback configuration.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The identifier for the playback configuration.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The identifier for the playback configuration.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The identifier for the playback configuration.
*/ inline PlaybackConfiguration& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The identifier for the playback configuration.
*/ inline PlaybackConfiguration& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The identifier for the playback configuration.
*/ inline PlaybackConfiguration& WithName(const char* value) { SetName(value); return *this;} /** *Defines the maximum duration of underfilled ad time (in seconds) allowed in * an ad break. If the duration of underfilled ad time exceeds the personalization * threshold, then the personalization of the ad break is abandoned and the * underlying content is shown. This feature applies to ad replacement in * live and VOD streams, rather than ad insertion, because it relies on an * underlying content stream. For more information about ad break behavior, * including ad replacement and insertion, see Ad * Behavior in AWS Elemental MediaTailor.
*/ inline int GetPersonalizationThresholdSeconds() const{ return m_personalizationThresholdSeconds; } /** *Defines the maximum duration of underfilled ad time (in seconds) allowed in * an ad break. If the duration of underfilled ad time exceeds the personalization * threshold, then the personalization of the ad break is abandoned and the * underlying content is shown. This feature applies to ad replacement in * live and VOD streams, rather than ad insertion, because it relies on an * underlying content stream. For more information about ad break behavior, * including ad replacement and insertion, see Ad * Behavior in AWS Elemental MediaTailor.
*/ inline bool PersonalizationThresholdSecondsHasBeenSet() const { return m_personalizationThresholdSecondsHasBeenSet; } /** *Defines the maximum duration of underfilled ad time (in seconds) allowed in * an ad break. If the duration of underfilled ad time exceeds the personalization * threshold, then the personalization of the ad break is abandoned and the * underlying content is shown. This feature applies to ad replacement in * live and VOD streams, rather than ad insertion, because it relies on an * underlying content stream. For more information about ad break behavior, * including ad replacement and insertion, see Ad * Behavior in AWS Elemental MediaTailor.
*/ inline void SetPersonalizationThresholdSeconds(int value) { m_personalizationThresholdSecondsHasBeenSet = true; m_personalizationThresholdSeconds = value; } /** *Defines the maximum duration of underfilled ad time (in seconds) allowed in * an ad break. If the duration of underfilled ad time exceeds the personalization * threshold, then the personalization of the ad break is abandoned and the * underlying content is shown. This feature applies to ad replacement in * live and VOD streams, rather than ad insertion, because it relies on an * underlying content stream. For more information about ad break behavior, * including ad replacement and insertion, see Ad * Behavior in AWS Elemental MediaTailor.
*/ inline PlaybackConfiguration& WithPersonalizationThresholdSeconds(int value) { SetPersonalizationThresholdSeconds(value); return *this;} /** *The Amazon Resource Name (ARN) for the playback configuration.
*/ inline const Aws::String& GetPlaybackConfigurationArn() const{ return m_playbackConfigurationArn; } /** *The Amazon Resource Name (ARN) for the playback configuration.
*/ inline bool PlaybackConfigurationArnHasBeenSet() const { return m_playbackConfigurationArnHasBeenSet; } /** *The Amazon Resource Name (ARN) for the playback configuration.
*/ inline void SetPlaybackConfigurationArn(const Aws::String& value) { m_playbackConfigurationArnHasBeenSet = true; m_playbackConfigurationArn = value; } /** *The Amazon Resource Name (ARN) for the playback configuration.
*/ inline void SetPlaybackConfigurationArn(Aws::String&& value) { m_playbackConfigurationArnHasBeenSet = true; m_playbackConfigurationArn = std::move(value); } /** *The Amazon Resource Name (ARN) for the playback configuration.
*/ inline void SetPlaybackConfigurationArn(const char* value) { m_playbackConfigurationArnHasBeenSet = true; m_playbackConfigurationArn.assign(value); } /** *The Amazon Resource Name (ARN) for the playback configuration.
*/ inline PlaybackConfiguration& WithPlaybackConfigurationArn(const Aws::String& value) { SetPlaybackConfigurationArn(value); return *this;} /** *The Amazon Resource Name (ARN) for the playback configuration.
*/ inline PlaybackConfiguration& WithPlaybackConfigurationArn(Aws::String&& value) { SetPlaybackConfigurationArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) for the playback configuration.
*/ inline PlaybackConfiguration& WithPlaybackConfigurationArn(const char* value) { SetPlaybackConfigurationArn(value); return *this;} /** *The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor.
*/ inline const Aws::String& GetPlaybackEndpointPrefix() const{ return m_playbackEndpointPrefix; } /** *The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor.
*/ inline bool PlaybackEndpointPrefixHasBeenSet() const { return m_playbackEndpointPrefixHasBeenSet; } /** *The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor.
*/ inline void SetPlaybackEndpointPrefix(const Aws::String& value) { m_playbackEndpointPrefixHasBeenSet = true; m_playbackEndpointPrefix = value; } /** *The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor.
*/ inline void SetPlaybackEndpointPrefix(Aws::String&& value) { m_playbackEndpointPrefixHasBeenSet = true; m_playbackEndpointPrefix = std::move(value); } /** *The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor.
*/ inline void SetPlaybackEndpointPrefix(const char* value) { m_playbackEndpointPrefixHasBeenSet = true; m_playbackEndpointPrefix.assign(value); } /** *The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor.
*/ inline PlaybackConfiguration& WithPlaybackEndpointPrefix(const Aws::String& value) { SetPlaybackEndpointPrefix(value); return *this;} /** *The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor.
*/ inline PlaybackConfiguration& WithPlaybackEndpointPrefix(Aws::String&& value) { SetPlaybackEndpointPrefix(std::move(value)); return *this;} /** *The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor.
*/ inline PlaybackConfiguration& WithPlaybackEndpointPrefix(const char* value) { SetPlaybackEndpointPrefix(value); return *this;} /** *The URL that the player uses to initialize a session that uses client-side * reporting.
*/ inline const Aws::String& GetSessionInitializationEndpointPrefix() const{ return m_sessionInitializationEndpointPrefix; } /** *The URL that the player uses to initialize a session that uses client-side * reporting.
*/ inline bool SessionInitializationEndpointPrefixHasBeenSet() const { return m_sessionInitializationEndpointPrefixHasBeenSet; } /** *The URL that the player uses to initialize a session that uses client-side * reporting.
*/ inline void SetSessionInitializationEndpointPrefix(const Aws::String& value) { m_sessionInitializationEndpointPrefixHasBeenSet = true; m_sessionInitializationEndpointPrefix = value; } /** *The URL that the player uses to initialize a session that uses client-side * reporting.
*/ inline void SetSessionInitializationEndpointPrefix(Aws::String&& value) { m_sessionInitializationEndpointPrefixHasBeenSet = true; m_sessionInitializationEndpointPrefix = std::move(value); } /** *The URL that the player uses to initialize a session that uses client-side * reporting.
*/ inline void SetSessionInitializationEndpointPrefix(const char* value) { m_sessionInitializationEndpointPrefixHasBeenSet = true; m_sessionInitializationEndpointPrefix.assign(value); } /** *The URL that the player uses to initialize a session that uses client-side * reporting.
*/ inline PlaybackConfiguration& WithSessionInitializationEndpointPrefix(const Aws::String& value) { SetSessionInitializationEndpointPrefix(value); return *this;} /** *The URL that the player uses to initialize a session that uses client-side * reporting.
*/ inline PlaybackConfiguration& WithSessionInitializationEndpointPrefix(Aws::String&& value) { SetSessionInitializationEndpointPrefix(std::move(value)); return *this;} /** *The URL that the player uses to initialize a session that uses client-side * reporting.
*/ inline PlaybackConfiguration& WithSessionInitializationEndpointPrefix(const char* value) { SetSessionInitializationEndpointPrefix(value); return *this;} /** *The URL for a video asset to transcode and use to fill in time that's not * used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media * content. Configuring the slate is optional for non-VPAID playback * configurations. For VPAID, the slate is required because MediaTailor provides it * in the slots designated for dynamic ad content. The slate must be a high-quality * asset that contains both audio and video.
*/ inline const Aws::String& GetSlateAdUrl() const{ return m_slateAdUrl; } /** *The URL for a video asset to transcode and use to fill in time that's not * used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media * content. Configuring the slate is optional for non-VPAID playback * configurations. For VPAID, the slate is required because MediaTailor provides it * in the slots designated for dynamic ad content. The slate must be a high-quality * asset that contains both audio and video.
*/ inline bool SlateAdUrlHasBeenSet() const { return m_slateAdUrlHasBeenSet; } /** *The URL for a video asset to transcode and use to fill in time that's not * used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media * content. Configuring the slate is optional for non-VPAID playback * configurations. For VPAID, the slate is required because MediaTailor provides it * in the slots designated for dynamic ad content. The slate must be a high-quality * asset that contains both audio and video.
*/ inline void SetSlateAdUrl(const Aws::String& value) { m_slateAdUrlHasBeenSet = true; m_slateAdUrl = value; } /** *The URL for a video asset to transcode and use to fill in time that's not * used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media * content. Configuring the slate is optional for non-VPAID playback * configurations. For VPAID, the slate is required because MediaTailor provides it * in the slots designated for dynamic ad content. The slate must be a high-quality * asset that contains both audio and video.
*/ inline void SetSlateAdUrl(Aws::String&& value) { m_slateAdUrlHasBeenSet = true; m_slateAdUrl = std::move(value); } /** *The URL for a video asset to transcode and use to fill in time that's not * used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media * content. Configuring the slate is optional for non-VPAID playback * configurations. For VPAID, the slate is required because MediaTailor provides it * in the slots designated for dynamic ad content. The slate must be a high-quality * asset that contains both audio and video.
*/ inline void SetSlateAdUrl(const char* value) { m_slateAdUrlHasBeenSet = true; m_slateAdUrl.assign(value); } /** *The URL for a video asset to transcode and use to fill in time that's not * used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media * content. Configuring the slate is optional for non-VPAID playback * configurations. For VPAID, the slate is required because MediaTailor provides it * in the slots designated for dynamic ad content. The slate must be a high-quality * asset that contains both audio and video.
*/ inline PlaybackConfiguration& WithSlateAdUrl(const Aws::String& value) { SetSlateAdUrl(value); return *this;} /** *The URL for a video asset to transcode and use to fill in time that's not * used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media * content. Configuring the slate is optional for non-VPAID playback * configurations. For VPAID, the slate is required because MediaTailor provides it * in the slots designated for dynamic ad content. The slate must be a high-quality * asset that contains both audio and video.
*/ inline PlaybackConfiguration& WithSlateAdUrl(Aws::String&& value) { SetSlateAdUrl(std::move(value)); return *this;} /** *The URL for a video asset to transcode and use to fill in time that's not * used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media * content. Configuring the slate is optional for non-VPAID playback * configurations. For VPAID, the slate is required because MediaTailor provides it * in the slots designated for dynamic ad content. The slate must be a high-quality * asset that contains both audio and video.
*/ inline PlaybackConfiguration& WithSlateAdUrl(const char* value) { SetSlateAdUrl(value); return *this;} /** *The tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline const Aws::MapThe tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline void SetTags(const Aws::MapThe tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline void SetTags(Aws::MapThe tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline PlaybackConfiguration& WithTags(const Aws::MapThe tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline PlaybackConfiguration& WithTags(Aws::MapThe tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline PlaybackConfiguration& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline PlaybackConfiguration& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline PlaybackConfiguration& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline PlaybackConfiguration& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *The tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline PlaybackConfiguration& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline PlaybackConfiguration& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The tags to assign to the playback configuration. Tags are key-value pairs * that you can associate with Amazon resources to help with organization, access * control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.
*/ inline PlaybackConfiguration& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The name that is used to associate this playback configuration with a custom * transcode profile. This overrides the dynamic transcoding defaults of * MediaTailor. Use this only if you have already set up custom profiles with the * help of AWS Support.
*/ inline const Aws::String& GetTranscodeProfileName() const{ return m_transcodeProfileName; } /** *The name that is used to associate this playback configuration with a custom * transcode profile. This overrides the dynamic transcoding defaults of * MediaTailor. Use this only if you have already set up custom profiles with the * help of AWS Support.
*/ inline bool TranscodeProfileNameHasBeenSet() const { return m_transcodeProfileNameHasBeenSet; } /** *The name that is used to associate this playback configuration with a custom * transcode profile. This overrides the dynamic transcoding defaults of * MediaTailor. Use this only if you have already set up custom profiles with the * help of AWS Support.
*/ inline void SetTranscodeProfileName(const Aws::String& value) { m_transcodeProfileNameHasBeenSet = true; m_transcodeProfileName = value; } /** *The name that is used to associate this playback configuration with a custom * transcode profile. This overrides the dynamic transcoding defaults of * MediaTailor. Use this only if you have already set up custom profiles with the * help of AWS Support.
*/ inline void SetTranscodeProfileName(Aws::String&& value) { m_transcodeProfileNameHasBeenSet = true; m_transcodeProfileName = std::move(value); } /** *The name that is used to associate this playback configuration with a custom * transcode profile. This overrides the dynamic transcoding defaults of * MediaTailor. Use this only if you have already set up custom profiles with the * help of AWS Support.
*/ inline void SetTranscodeProfileName(const char* value) { m_transcodeProfileNameHasBeenSet = true; m_transcodeProfileName.assign(value); } /** *The name that is used to associate this playback configuration with a custom * transcode profile. This overrides the dynamic transcoding defaults of * MediaTailor. Use this only if you have already set up custom profiles with the * help of AWS Support.
*/ inline PlaybackConfiguration& WithTranscodeProfileName(const Aws::String& value) { SetTranscodeProfileName(value); return *this;} /** *The name that is used to associate this playback configuration with a custom * transcode profile. This overrides the dynamic transcoding defaults of * MediaTailor. Use this only if you have already set up custom profiles with the * help of AWS Support.
*/ inline PlaybackConfiguration& WithTranscodeProfileName(Aws::String&& value) { SetTranscodeProfileName(std::move(value)); return *this;} /** *The name that is used to associate this playback configuration with a custom * transcode profile. This overrides the dynamic transcoding defaults of * MediaTailor. Use this only if you have already set up custom profiles with the * help of AWS Support.
*/ inline PlaybackConfiguration& WithTranscodeProfileName(const char* value) { SetTranscodeProfileName(value); return *this;} /** *The URL prefix for the parent manifest for the stream, minus the asset ID. * The maximum length is 512 characters.
*/ inline const Aws::String& GetVideoContentSourceUrl() const{ return m_videoContentSourceUrl; } /** *The URL prefix for the parent manifest for the stream, minus the asset ID. * The maximum length is 512 characters.
*/ inline bool VideoContentSourceUrlHasBeenSet() const { return m_videoContentSourceUrlHasBeenSet; } /** *The URL prefix for the parent manifest for the stream, minus the asset ID. * The maximum length is 512 characters.
*/ inline void SetVideoContentSourceUrl(const Aws::String& value) { m_videoContentSourceUrlHasBeenSet = true; m_videoContentSourceUrl = value; } /** *The URL prefix for the parent manifest for the stream, minus the asset ID. * The maximum length is 512 characters.
*/ inline void SetVideoContentSourceUrl(Aws::String&& value) { m_videoContentSourceUrlHasBeenSet = true; m_videoContentSourceUrl = std::move(value); } /** *The URL prefix for the parent manifest for the stream, minus the asset ID. * The maximum length is 512 characters.
*/ inline void SetVideoContentSourceUrl(const char* value) { m_videoContentSourceUrlHasBeenSet = true; m_videoContentSourceUrl.assign(value); } /** *The URL prefix for the parent manifest for the stream, minus the asset ID. * The maximum length is 512 characters.
*/ inline PlaybackConfiguration& WithVideoContentSourceUrl(const Aws::String& value) { SetVideoContentSourceUrl(value); return *this;} /** *The URL prefix for the parent manifest for the stream, minus the asset ID. * The maximum length is 512 characters.
*/ inline PlaybackConfiguration& WithVideoContentSourceUrl(Aws::String&& value) { SetVideoContentSourceUrl(std::move(value)); return *this;} /** *The URL prefix for the parent manifest for the stream, minus the asset ID. * The maximum length is 512 characters.
*/ inline PlaybackConfiguration& WithVideoContentSourceUrl(const char* value) { SetVideoContentSourceUrl(value); return *this;} private: Aws::String m_adDecisionServerUrl; bool m_adDecisionServerUrlHasBeenSet = false; AvailSuppression m_availSuppression; bool m_availSuppressionHasBeenSet = false; Bumper m_bumper; bool m_bumperHasBeenSet = false; CdnConfiguration m_cdnConfiguration; bool m_cdnConfigurationHasBeenSet = false; Aws::Map