/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace MediaTailor { namespace Model { class GetPlaybackConfigurationResult { public: AWS_MEDIATAILOR_API GetPlaybackConfigurationResult(); AWS_MEDIATAILOR_API GetPlaybackConfigurationResult(const Aws::AmazonWebServiceResult& result); AWS_MEDIATAILOR_API GetPlaybackConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

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 void SetAdDecisionServerUrl(const Aws::String& value) { 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_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_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 GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& 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 void SetAvailSuppression(const AvailSuppression& value) { 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_availSuppression = std::move(value); } /** *

The configuration for avail suppression, also known as ad suppression. For * more information about ad suppression, see Ad * Suppression.

*/ inline GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& 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 void SetBumper(const Bumper& value) { 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_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 GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& 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 void SetCdnConfiguration(const CdnConfiguration& value) { 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_cdnConfiguration = std::move(value); } /** *

The configuration for using a content delivery network (CDN), like Amazon * CloudFront, for content and ad segment management.

*/ inline GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& 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::Map>& GetConfigurationAliases() const{ return m_configurationAliases; } /** *

The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.

*/ inline void SetConfigurationAliases(const Aws::Map>& value) { m_configurationAliases = value; } /** *

The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.

*/ inline void SetConfigurationAliases(Aws::Map>&& value) { m_configurationAliases = std::move(value); } /** *

The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.

*/ inline GetPlaybackConfigurationResult& WithConfigurationAliases(const Aws::Map>& value) { SetConfigurationAliases(value); return *this;} /** *

The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.

*/ inline GetPlaybackConfigurationResult& WithConfigurationAliases(Aws::Map>&& value) { SetConfigurationAliases(std::move(value)); return *this;} /** *

The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.

*/ inline GetPlaybackConfigurationResult& AddConfigurationAliases(const Aws::String& key, const Aws::Map& value) { m_configurationAliases.emplace(key, value); return *this; } /** *

The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.

*/ inline GetPlaybackConfigurationResult& AddConfigurationAliases(Aws::String&& key, const Aws::Map& value) { m_configurationAliases.emplace(std::move(key), value); return *this; } /** *

The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.

*/ inline GetPlaybackConfigurationResult& AddConfigurationAliases(const Aws::String& key, Aws::Map&& value) { m_configurationAliases.emplace(key, std::move(value)); return *this; } /** *

The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.

*/ inline GetPlaybackConfigurationResult& AddConfigurationAliases(Aws::String&& key, Aws::Map&& value) { m_configurationAliases.emplace(std::move(key), std::move(value)); return *this; } /** *

The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.

*/ inline GetPlaybackConfigurationResult& AddConfigurationAliases(const char* key, Aws::Map&& value) { m_configurationAliases.emplace(key, std::move(value)); return *this; } /** *

The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain * Variables.

*/ inline GetPlaybackConfigurationResult& AddConfigurationAliases(const char* key, const Aws::Map& value) { m_configurationAliases.emplace(key, value); return *this; } /** *

The configuration for DASH content.

*/ inline const DashConfiguration& GetDashConfiguration() const{ return m_dashConfiguration; } /** *

The configuration for DASH content.

*/ inline void SetDashConfiguration(const DashConfiguration& value) { m_dashConfiguration = value; } /** *

The configuration for DASH content.

*/ inline void SetDashConfiguration(DashConfiguration&& value) { m_dashConfiguration = std::move(value); } /** *

The configuration for DASH content.

*/ inline GetPlaybackConfigurationResult& WithDashConfiguration(const DashConfiguration& value) { SetDashConfiguration(value); return *this;} /** *

The configuration for DASH content.

*/ inline GetPlaybackConfigurationResult& 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 void SetHlsConfiguration(const HlsConfiguration& value) { m_hlsConfiguration = value; } /** *

The configuration for HLS content.

*/ inline void SetHlsConfiguration(HlsConfiguration&& value) { m_hlsConfiguration = std::move(value); } /** *

The configuration for HLS content.

*/ inline GetPlaybackConfigurationResult& WithHlsConfiguration(const HlsConfiguration& value) { SetHlsConfiguration(value); return *this;} /** *

The configuration for HLS content.

*/ inline GetPlaybackConfigurationResult& 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 void SetLivePreRollConfiguration(const LivePreRollConfiguration& value) { m_livePreRollConfiguration = value; } /** *

The configuration for pre-roll ad insertion.

*/ inline void SetLivePreRollConfiguration(LivePreRollConfiguration&& value) { m_livePreRollConfiguration = std::move(value); } /** *

The configuration for pre-roll ad insertion.

*/ inline GetPlaybackConfigurationResult& WithLivePreRollConfiguration(const LivePreRollConfiguration& value) { SetLivePreRollConfiguration(value); return *this;} /** *

The configuration for pre-roll ad insertion.

*/ inline GetPlaybackConfigurationResult& 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 void SetLogConfiguration(const LogConfiguration& value) { m_logConfiguration = value; } /** *

The Amazon CloudWatch log settings for a playback configuration.

*/ inline void SetLogConfiguration(LogConfiguration&& value) { m_logConfiguration = std::move(value); } /** *

The Amazon CloudWatch log settings for a playback configuration.

*/ inline GetPlaybackConfigurationResult& WithLogConfiguration(const LogConfiguration& value) { SetLogConfiguration(value); return *this;} /** *

The Amazon CloudWatch log settings for a playback configuration.

*/ inline GetPlaybackConfigurationResult& 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 void SetManifestProcessingRules(const ManifestProcessingRules& value) { 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_manifestProcessingRules = std::move(value); } /** *

The configuration for manifest processing rules. Manifest processing rules * enable customization of the personalized manifests created by MediaTailor.

*/ inline GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& 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 void SetName(const Aws::String& value) { m_name = value; } /** *

The identifier for the playback configuration.

*/ inline void SetName(Aws::String&& value) { m_name = std::move(value); } /** *

The identifier for the playback configuration.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

The identifier for the playback configuration.

*/ inline GetPlaybackConfigurationResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The identifier for the playback configuration.

*/ inline GetPlaybackConfigurationResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The identifier for the playback configuration.

*/ inline GetPlaybackConfigurationResult& 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 void SetPersonalizationThresholdSeconds(int value) { 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 GetPlaybackConfigurationResult& 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 void SetPlaybackConfigurationArn(const Aws::String& value) { m_playbackConfigurationArn = value; } /** *

The Amazon Resource Name (ARN) for the playback configuration.

*/ inline void SetPlaybackConfigurationArn(Aws::String&& value) { m_playbackConfigurationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the playback configuration.

*/ inline void SetPlaybackConfigurationArn(const char* value) { m_playbackConfigurationArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the playback configuration.

*/ inline GetPlaybackConfigurationResult& WithPlaybackConfigurationArn(const Aws::String& value) { SetPlaybackConfigurationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the playback configuration.

*/ inline GetPlaybackConfigurationResult& WithPlaybackConfigurationArn(Aws::String&& value) { SetPlaybackConfigurationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the playback configuration.

*/ inline GetPlaybackConfigurationResult& WithPlaybackConfigurationArn(const char* value) { SetPlaybackConfigurationArn(value); return *this;} /** *

The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor. This session will use server-side reporting.

*/ inline const Aws::String& GetPlaybackEndpointPrefix() const{ return m_playbackEndpointPrefix; } /** *

The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor. This session will use server-side reporting.

*/ inline void SetPlaybackEndpointPrefix(const Aws::String& value) { m_playbackEndpointPrefix = value; } /** *

The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor. This session will use server-side reporting.

*/ inline void SetPlaybackEndpointPrefix(Aws::String&& value) { m_playbackEndpointPrefix = std::move(value); } /** *

The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor. This session will use server-side reporting.

*/ inline void SetPlaybackEndpointPrefix(const char* value) { m_playbackEndpointPrefix.assign(value); } /** *

The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor. This session will use server-side reporting.

*/ inline GetPlaybackConfigurationResult& WithPlaybackEndpointPrefix(const Aws::String& value) { SetPlaybackEndpointPrefix(value); return *this;} /** *

The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor. This session will use server-side reporting.

*/ inline GetPlaybackConfigurationResult& WithPlaybackEndpointPrefix(Aws::String&& value) { SetPlaybackEndpointPrefix(std::move(value)); return *this;} /** *

The URL that the player accesses to get a manifest from AWS Elemental * MediaTailor. This session will use server-side reporting.

*/ inline GetPlaybackConfigurationResult& 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 void SetSessionInitializationEndpointPrefix(const Aws::String& value) { 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_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_sessionInitializationEndpointPrefix.assign(value); } /** *

The URL that the player uses to initialize a session that uses client-side * reporting.

*/ inline GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& WithSessionInitializationEndpointPrefix(const char* value) { SetSessionInitializationEndpointPrefix(value); return *this;} /** *

The URL for a high-quality 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 high-quality 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_slateAdUrl = value; } /** *

The URL for a high-quality 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_slateAdUrl = std::move(value); } /** *

The URL for a high-quality 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_slateAdUrl.assign(value); } /** *

The URL for a high-quality 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 GetPlaybackConfigurationResult& WithSlateAdUrl(const Aws::String& value) { SetSlateAdUrl(value); return *this;} /** *

The URL for a high-quality 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 GetPlaybackConfigurationResult& WithSlateAdUrl(Aws::String&& value) { SetSlateAdUrl(std::move(value)); return *this;} /** *

The URL for a high-quality 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 GetPlaybackConfigurationResult& WithSlateAdUrl(const char* value) { SetSlateAdUrl(value); return *this;} /** *

The tags assigned 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::Map& GetTags() const{ return m_tags; } /** *

The tags assigned 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::Map& value) { m_tags = value; } /** *

The tags assigned 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::Map&& value) { m_tags = std::move(value); } /** *

The tags assigned 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 GetPlaybackConfigurationResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags assigned 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 GetPlaybackConfigurationResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags assigned 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 GetPlaybackConfigurationResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } /** *

The tags assigned 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 GetPlaybackConfigurationResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } /** *

The tags assigned 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 GetPlaybackConfigurationResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags assigned 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 GetPlaybackConfigurationResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags assigned 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 GetPlaybackConfigurationResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags assigned 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 GetPlaybackConfigurationResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } /** *

The tags assigned 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 GetPlaybackConfigurationResult& AddTags(const char* key, const char* value) { 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 void SetTranscodeProfileName(const Aws::String& value) { 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_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_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 GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& 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 void SetVideoContentSourceUrl(const Aws::String& value) { 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_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_videoContentSourceUrl.assign(value); } /** *

The URL prefix for the parent manifest for the stream, minus the asset ID. * The maximum length is 512 characters.

*/ inline GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& 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 GetPlaybackConfigurationResult& WithVideoContentSourceUrl(const char* value) { SetVideoContentSourceUrl(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetPlaybackConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetPlaybackConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetPlaybackConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_adDecisionServerUrl; AvailSuppression m_availSuppression; Bumper m_bumper; CdnConfiguration m_cdnConfiguration; Aws::Map> m_configurationAliases; DashConfiguration m_dashConfiguration; HlsConfiguration m_hlsConfiguration; LivePreRollConfiguration m_livePreRollConfiguration; LogConfiguration m_logConfiguration; ManifestProcessingRules m_manifestProcessingRules; Aws::String m_name; int m_personalizationThresholdSeconds; Aws::String m_playbackConfigurationArn; Aws::String m_playbackEndpointPrefix; Aws::String m_sessionInitializationEndpointPrefix; Aws::String m_slateAdUrl; Aws::Map m_tags; Aws::String m_transcodeProfileName; Aws::String m_videoContentSourceUrl; Aws::String m_requestId; }; } // namespace Model } // namespace MediaTailor } // namespace Aws