All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.mediatailor.model.PlaybackConfiguration Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS MediaTailor module holds the client classes that are used for communicating with AWS MediaTailor Service

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.mediatailor.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* A playback configuration. For information about MediaTailor configurations, see Working with configurations in AWS * Elemental MediaTailor. *

* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class PlaybackConfiguration implements Serializable, Cloneable, StructuredPojo { /** *

* 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. *

*/ private String adDecisionServerUrl; /** *

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

*/ private AvailSuppression availSuppression; /** *

* 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. *

*/ private Bumper bumper; /** *

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

*/ private CdnConfiguration cdnConfiguration; /** *

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

*/ private java.util.Map> configurationAliases; /** *

* The configuration for a DASH source. *

*/ private DashConfiguration dashConfiguration; /** *

* The configuration for HLS content. *

*/ private HlsConfiguration hlsConfiguration; /** *

* The setting that controls whether players can use stitched or guided ad insertion. The default, * STITCHED_ONLY, forces all player sessions to use stitched (server-side) ad insertion. Choosing * PLAYER_SELECT allows players to select either stitched or guided ad insertion at * session-initialization time. The default for players that do not specify an insertion mode is stitched. *

*/ private String insertionMode; /** *

* The configuration for pre-roll ad insertion. *

*/ private LivePreRollConfiguration livePreRollConfiguration; /** *

* The Amazon CloudWatch log settings for a playback configuration. *

*/ private LogConfiguration logConfiguration; /** *

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

*/ private ManifestProcessingRules manifestProcessingRules; /** *

* The identifier for the playback configuration. *

*/ private String name; /** *

* 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. *

*/ private Integer personalizationThresholdSeconds; /** *

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

*/ private String playbackConfigurationArn; /** *

* The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. *

*/ private String playbackEndpointPrefix; /** *

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

*/ private String sessionInitializationEndpointPrefix; /** *

* 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. *

*/ private String slateAdUrl; /** *

* 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. *

*/ private java.util.Map tags; /** *

* 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. *

*/ private String transcodeProfileName; /** *

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

*/ private String videoContentSourceUrl; /** *

* 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. *

* * @param 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. */ public void setAdDecisionServerUrl(String adDecisionServerUrl) { this.adDecisionServerUrl = 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. *

* * @return 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. */ public String getAdDecisionServerUrl() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withAdDecisionServerUrl(String adDecisionServerUrl) { setAdDecisionServerUrl(adDecisionServerUrl); return this; } /** *

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

* * @param availSuppression * The configuration for avail suppression, also known as ad suppression. For more information about ad * suppression, see Ad * Suppression. */ public void setAvailSuppression(AvailSuppression availSuppression) { this.availSuppression = availSuppression; } /** *

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

* * @return The configuration for avail suppression, also known as ad suppression. For more information about ad * suppression, see Ad * Suppression. */ public AvailSuppression getAvailSuppression() { return this.availSuppression; } /** *

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

* * @param availSuppression * The configuration for avail suppression, also known as ad suppression. For more information about ad * suppression, see Ad * Suppression. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withAvailSuppression(AvailSuppression availSuppression) { setAvailSuppression(availSuppression); 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. *

* * @param 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. */ public void setBumper(Bumper bumper) { this.bumper = 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. *

* * @return 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. */ public Bumper getBumper() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withBumper(Bumper bumper) { setBumper(bumper); return this; } /** *

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

* * @param cdnConfiguration * The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad * segment management. */ public void setCdnConfiguration(CdnConfiguration cdnConfiguration) { this.cdnConfiguration = cdnConfiguration; } /** *

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

* * @return The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad * segment management. */ public CdnConfiguration getCdnConfiguration() { return this.cdnConfiguration; } /** *

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

* * @param cdnConfiguration * The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad * segment management. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withCdnConfiguration(CdnConfiguration cdnConfiguration) { setCdnConfiguration(cdnConfiguration); return this; } /** *

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

* * @return The player parameters and aliases used as dynamic variables during session initialization. For more * information, see Domain * Variables. */ public java.util.Map> getConfigurationAliases() { return configurationAliases; } /** *

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

* * @param configurationAliases * The player parameters and aliases used as dynamic variables during session initialization. For more * information, see Domain * Variables. */ public void setConfigurationAliases(java.util.Map> configurationAliases) { this.configurationAliases = configurationAliases; } /** *

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

* * @param configurationAliases * The player parameters and aliases used as dynamic variables during session initialization. For more * information, see Domain * Variables. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withConfigurationAliases(java.util.Map> configurationAliases) { setConfigurationAliases(configurationAliases); return this; } /** * Add a single ConfigurationAliases entry * * @see PlaybackConfiguration#withConfigurationAliases * @returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration addConfigurationAliasesEntry(String key, java.util.Map value) { if (null == this.configurationAliases) { this.configurationAliases = new java.util.HashMap>(); } if (this.configurationAliases.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.configurationAliases.put(key, value); return this; } /** * Removes all the entries added into ConfigurationAliases. * * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration clearConfigurationAliasesEntries() { this.configurationAliases = null; return this; } /** *

* The configuration for a DASH source. *

* * @param dashConfiguration * The configuration for a DASH source. */ public void setDashConfiguration(DashConfiguration dashConfiguration) { this.dashConfiguration = dashConfiguration; } /** *

* The configuration for a DASH source. *

* * @return The configuration for a DASH source. */ public DashConfiguration getDashConfiguration() { return this.dashConfiguration; } /** *

* The configuration for a DASH source. *

* * @param dashConfiguration * The configuration for a DASH source. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withDashConfiguration(DashConfiguration dashConfiguration) { setDashConfiguration(dashConfiguration); return this; } /** *

* The configuration for HLS content. *

* * @param hlsConfiguration * The configuration for HLS content. */ public void setHlsConfiguration(HlsConfiguration hlsConfiguration) { this.hlsConfiguration = hlsConfiguration; } /** *

* The configuration for HLS content. *

* * @return The configuration for HLS content. */ public HlsConfiguration getHlsConfiguration() { return this.hlsConfiguration; } /** *

* The configuration for HLS content. *

* * @param hlsConfiguration * The configuration for HLS content. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withHlsConfiguration(HlsConfiguration hlsConfiguration) { setHlsConfiguration(hlsConfiguration); return this; } /** *

* The setting that controls whether players can use stitched or guided ad insertion. The default, * STITCHED_ONLY, forces all player sessions to use stitched (server-side) ad insertion. Choosing * PLAYER_SELECT allows players to select either stitched or guided ad insertion at * session-initialization time. The default for players that do not specify an insertion mode is stitched. *

* * @param insertionMode * The setting that controls whether players can use stitched or guided ad insertion. The default, * STITCHED_ONLY, forces all player sessions to use stitched (server-side) ad insertion. * Choosing PLAYER_SELECT allows players to select either stitched or guided ad insertion at * session-initialization time. The default for players that do not specify an insertion mode is stitched. * @see InsertionMode */ public void setInsertionMode(String insertionMode) { this.insertionMode = insertionMode; } /** *

* The setting that controls whether players can use stitched or guided ad insertion. The default, * STITCHED_ONLY, forces all player sessions to use stitched (server-side) ad insertion. Choosing * PLAYER_SELECT allows players to select either stitched or guided ad insertion at * session-initialization time. The default for players that do not specify an insertion mode is stitched. *

* * @return The setting that controls whether players can use stitched or guided ad insertion. The default, * STITCHED_ONLY, forces all player sessions to use stitched (server-side) ad insertion. * Choosing PLAYER_SELECT allows players to select either stitched or guided ad insertion at * session-initialization time. The default for players that do not specify an insertion mode is stitched. * @see InsertionMode */ public String getInsertionMode() { return this.insertionMode; } /** *

* The setting that controls whether players can use stitched or guided ad insertion. The default, * STITCHED_ONLY, forces all player sessions to use stitched (server-side) ad insertion. Choosing * PLAYER_SELECT allows players to select either stitched or guided ad insertion at * session-initialization time. The default for players that do not specify an insertion mode is stitched. *

* * @param insertionMode * The setting that controls whether players can use stitched or guided ad insertion. The default, * STITCHED_ONLY, forces all player sessions to use stitched (server-side) ad insertion. * Choosing PLAYER_SELECT allows players to select either stitched or guided ad insertion at * session-initialization time. The default for players that do not specify an insertion mode is stitched. * @return Returns a reference to this object so that method calls can be chained together. * @see InsertionMode */ public PlaybackConfiguration withInsertionMode(String insertionMode) { setInsertionMode(insertionMode); return this; } /** *

* The setting that controls whether players can use stitched or guided ad insertion. The default, * STITCHED_ONLY, forces all player sessions to use stitched (server-side) ad insertion. Choosing * PLAYER_SELECT allows players to select either stitched or guided ad insertion at * session-initialization time. The default for players that do not specify an insertion mode is stitched. *

* * @param insertionMode * The setting that controls whether players can use stitched or guided ad insertion. The default, * STITCHED_ONLY, forces all player sessions to use stitched (server-side) ad insertion. * Choosing PLAYER_SELECT allows players to select either stitched or guided ad insertion at * session-initialization time. The default for players that do not specify an insertion mode is stitched. * @return Returns a reference to this object so that method calls can be chained together. * @see InsertionMode */ public PlaybackConfiguration withInsertionMode(InsertionMode insertionMode) { this.insertionMode = insertionMode.toString(); return this; } /** *

* The configuration for pre-roll ad insertion. *

* * @param livePreRollConfiguration * The configuration for pre-roll ad insertion. */ public void setLivePreRollConfiguration(LivePreRollConfiguration livePreRollConfiguration) { this.livePreRollConfiguration = livePreRollConfiguration; } /** *

* The configuration for pre-roll ad insertion. *

* * @return The configuration for pre-roll ad insertion. */ public LivePreRollConfiguration getLivePreRollConfiguration() { return this.livePreRollConfiguration; } /** *

* The configuration for pre-roll ad insertion. *

* * @param livePreRollConfiguration * The configuration for pre-roll ad insertion. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withLivePreRollConfiguration(LivePreRollConfiguration livePreRollConfiguration) { setLivePreRollConfiguration(livePreRollConfiguration); return this; } /** *

* The Amazon CloudWatch log settings for a playback configuration. *

* * @param logConfiguration * The Amazon CloudWatch log settings for a playback configuration. */ public void setLogConfiguration(LogConfiguration logConfiguration) { this.logConfiguration = logConfiguration; } /** *

* The Amazon CloudWatch log settings for a playback configuration. *

* * @return The Amazon CloudWatch log settings for a playback configuration. */ public LogConfiguration getLogConfiguration() { return this.logConfiguration; } /** *

* The Amazon CloudWatch log settings for a playback configuration. *

* * @param logConfiguration * The Amazon CloudWatch log settings for a playback configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withLogConfiguration(LogConfiguration logConfiguration) { setLogConfiguration(logConfiguration); return this; } /** *

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

* * @param manifestProcessingRules * The configuration for manifest processing rules. Manifest processing rules enable customization of the * personalized manifests created by MediaTailor. */ public void setManifestProcessingRules(ManifestProcessingRules manifestProcessingRules) { this.manifestProcessingRules = manifestProcessingRules; } /** *

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

* * @return The configuration for manifest processing rules. Manifest processing rules enable customization of the * personalized manifests created by MediaTailor. */ public ManifestProcessingRules getManifestProcessingRules() { return this.manifestProcessingRules; } /** *

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

* * @param manifestProcessingRules * The configuration for manifest processing rules. Manifest processing rules enable customization of the * personalized manifests created by MediaTailor. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withManifestProcessingRules(ManifestProcessingRules manifestProcessingRules) { setManifestProcessingRules(manifestProcessingRules); return this; } /** *

* The identifier for the playback configuration. *

* * @param name * The identifier for the playback configuration. */ public void setName(String name) { this.name = name; } /** *

* The identifier for the playback configuration. *

* * @return The identifier for the playback configuration. */ public String getName() { return this.name; } /** *

* The identifier for the playback configuration. *

* * @param name * The identifier for the playback configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withName(String name) { setName(name); 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. *

* * @param 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. */ public void setPersonalizationThresholdSeconds(Integer personalizationThresholdSeconds) { this.personalizationThresholdSeconds = 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. *

* * @return 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. */ public Integer getPersonalizationThresholdSeconds() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withPersonalizationThresholdSeconds(Integer personalizationThresholdSeconds) { setPersonalizationThresholdSeconds(personalizationThresholdSeconds); return this; } /** *

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

* * @param playbackConfigurationArn * The Amazon Resource Name (ARN) for the playback configuration. */ public void setPlaybackConfigurationArn(String playbackConfigurationArn) { this.playbackConfigurationArn = playbackConfigurationArn; } /** *

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

* * @return The Amazon Resource Name (ARN) for the playback configuration. */ public String getPlaybackConfigurationArn() { return this.playbackConfigurationArn; } /** *

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

* * @param playbackConfigurationArn * The Amazon Resource Name (ARN) for the playback configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withPlaybackConfigurationArn(String playbackConfigurationArn) { setPlaybackConfigurationArn(playbackConfigurationArn); return this; } /** *

* The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. *

* * @param playbackEndpointPrefix * The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. */ public void setPlaybackEndpointPrefix(String playbackEndpointPrefix) { this.playbackEndpointPrefix = playbackEndpointPrefix; } /** *

* The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. *

* * @return The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. */ public String getPlaybackEndpointPrefix() { return this.playbackEndpointPrefix; } /** *

* The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. *

* * @param playbackEndpointPrefix * The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withPlaybackEndpointPrefix(String playbackEndpointPrefix) { setPlaybackEndpointPrefix(playbackEndpointPrefix); return this; } /** *

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

* * @param sessionInitializationEndpointPrefix * The URL that the player uses to initialize a session that uses client-side reporting. */ public void setSessionInitializationEndpointPrefix(String sessionInitializationEndpointPrefix) { this.sessionInitializationEndpointPrefix = sessionInitializationEndpointPrefix; } /** *

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

* * @return The URL that the player uses to initialize a session that uses client-side reporting. */ public String getSessionInitializationEndpointPrefix() { return this.sessionInitializationEndpointPrefix; } /** *

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

* * @param sessionInitializationEndpointPrefix * The URL that the player uses to initialize a session that uses client-side reporting. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withSessionInitializationEndpointPrefix(String sessionInitializationEndpointPrefix) { setSessionInitializationEndpointPrefix(sessionInitializationEndpointPrefix); 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. *

* * @param 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. */ public void setSlateAdUrl(String slateAdUrl) { this.slateAdUrl = 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. *

* * @return 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. */ public String getSlateAdUrl() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withSlateAdUrl(String slateAdUrl) { setSlateAdUrl(slateAdUrl); 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. *

* * @return 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. */ public java.util.Map getTags() { return tags; } /** *

* 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. *

* * @param tags * 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. */ public void setTags(java.util.Map tags) { this.tags = tags; } /** *

* 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. *

* * @param tags * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withTags(java.util.Map tags) { setTags(tags); return this; } /** * Add a single Tags entry * * @see PlaybackConfiguration#withTags * @returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration addTagsEntry(String key, String value) { if (null == this.tags) { this.tags = new java.util.HashMap(); } if (this.tags.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.tags.put(key, value); return this; } /** * Removes all the entries added into Tags. * * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration clearTagsEntries() { this.tags = null; 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. *

* * @param 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. */ public void setTranscodeProfileName(String transcodeProfileName) { this.transcodeProfileName = 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. *

* * @return 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. */ public String getTranscodeProfileName() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withTranscodeProfileName(String transcodeProfileName) { setTranscodeProfileName(transcodeProfileName); return this; } /** *

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

* * @param videoContentSourceUrl * The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 * characters. */ public void setVideoContentSourceUrl(String videoContentSourceUrl) { this.videoContentSourceUrl = videoContentSourceUrl; } /** *

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

* * @return The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 * characters. */ public String getVideoContentSourceUrl() { return this.videoContentSourceUrl; } /** *

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

* * @param videoContentSourceUrl * The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 * characters. * @return Returns a reference to this object so that method calls can be chained together. */ public PlaybackConfiguration withVideoContentSourceUrl(String videoContentSourceUrl) { setVideoContentSourceUrl(videoContentSourceUrl); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAdDecisionServerUrl() != null) sb.append("AdDecisionServerUrl: ").append(getAdDecisionServerUrl()).append(","); if (getAvailSuppression() != null) sb.append("AvailSuppression: ").append(getAvailSuppression()).append(","); if (getBumper() != null) sb.append("Bumper: ").append(getBumper()).append(","); if (getCdnConfiguration() != null) sb.append("CdnConfiguration: ").append(getCdnConfiguration()).append(","); if (getConfigurationAliases() != null) sb.append("ConfigurationAliases: ").append(getConfigurationAliases()).append(","); if (getDashConfiguration() != null) sb.append("DashConfiguration: ").append(getDashConfiguration()).append(","); if (getHlsConfiguration() != null) sb.append("HlsConfiguration: ").append(getHlsConfiguration()).append(","); if (getInsertionMode() != null) sb.append("InsertionMode: ").append(getInsertionMode()).append(","); if (getLivePreRollConfiguration() != null) sb.append("LivePreRollConfiguration: ").append(getLivePreRollConfiguration()).append(","); if (getLogConfiguration() != null) sb.append("LogConfiguration: ").append(getLogConfiguration()).append(","); if (getManifestProcessingRules() != null) sb.append("ManifestProcessingRules: ").append(getManifestProcessingRules()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getPersonalizationThresholdSeconds() != null) sb.append("PersonalizationThresholdSeconds: ").append(getPersonalizationThresholdSeconds()).append(","); if (getPlaybackConfigurationArn() != null) sb.append("PlaybackConfigurationArn: ").append(getPlaybackConfigurationArn()).append(","); if (getPlaybackEndpointPrefix() != null) sb.append("PlaybackEndpointPrefix: ").append(getPlaybackEndpointPrefix()).append(","); if (getSessionInitializationEndpointPrefix() != null) sb.append("SessionInitializationEndpointPrefix: ").append(getSessionInitializationEndpointPrefix()).append(","); if (getSlateAdUrl() != null) sb.append("SlateAdUrl: ").append(getSlateAdUrl()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getTranscodeProfileName() != null) sb.append("TranscodeProfileName: ").append(getTranscodeProfileName()).append(","); if (getVideoContentSourceUrl() != null) sb.append("VideoContentSourceUrl: ").append(getVideoContentSourceUrl()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PlaybackConfiguration == false) return false; PlaybackConfiguration other = (PlaybackConfiguration) obj; if (other.getAdDecisionServerUrl() == null ^ this.getAdDecisionServerUrl() == null) return false; if (other.getAdDecisionServerUrl() != null && other.getAdDecisionServerUrl().equals(this.getAdDecisionServerUrl()) == false) return false; if (other.getAvailSuppression() == null ^ this.getAvailSuppression() == null) return false; if (other.getAvailSuppression() != null && other.getAvailSuppression().equals(this.getAvailSuppression()) == false) return false; if (other.getBumper() == null ^ this.getBumper() == null) return false; if (other.getBumper() != null && other.getBumper().equals(this.getBumper()) == false) return false; if (other.getCdnConfiguration() == null ^ this.getCdnConfiguration() == null) return false; if (other.getCdnConfiguration() != null && other.getCdnConfiguration().equals(this.getCdnConfiguration()) == false) return false; if (other.getConfigurationAliases() == null ^ this.getConfigurationAliases() == null) return false; if (other.getConfigurationAliases() != null && other.getConfigurationAliases().equals(this.getConfigurationAliases()) == false) return false; if (other.getDashConfiguration() == null ^ this.getDashConfiguration() == null) return false; if (other.getDashConfiguration() != null && other.getDashConfiguration().equals(this.getDashConfiguration()) == false) return false; if (other.getHlsConfiguration() == null ^ this.getHlsConfiguration() == null) return false; if (other.getHlsConfiguration() != null && other.getHlsConfiguration().equals(this.getHlsConfiguration()) == false) return false; if (other.getInsertionMode() == null ^ this.getInsertionMode() == null) return false; if (other.getInsertionMode() != null && other.getInsertionMode().equals(this.getInsertionMode()) == false) return false; if (other.getLivePreRollConfiguration() == null ^ this.getLivePreRollConfiguration() == null) return false; if (other.getLivePreRollConfiguration() != null && other.getLivePreRollConfiguration().equals(this.getLivePreRollConfiguration()) == false) return false; if (other.getLogConfiguration() == null ^ this.getLogConfiguration() == null) return false; if (other.getLogConfiguration() != null && other.getLogConfiguration().equals(this.getLogConfiguration()) == false) return false; if (other.getManifestProcessingRules() == null ^ this.getManifestProcessingRules() == null) return false; if (other.getManifestProcessingRules() != null && other.getManifestProcessingRules().equals(this.getManifestProcessingRules()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getPersonalizationThresholdSeconds() == null ^ this.getPersonalizationThresholdSeconds() == null) return false; if (other.getPersonalizationThresholdSeconds() != null && other.getPersonalizationThresholdSeconds().equals(this.getPersonalizationThresholdSeconds()) == false) return false; if (other.getPlaybackConfigurationArn() == null ^ this.getPlaybackConfigurationArn() == null) return false; if (other.getPlaybackConfigurationArn() != null && other.getPlaybackConfigurationArn().equals(this.getPlaybackConfigurationArn()) == false) return false; if (other.getPlaybackEndpointPrefix() == null ^ this.getPlaybackEndpointPrefix() == null) return false; if (other.getPlaybackEndpointPrefix() != null && other.getPlaybackEndpointPrefix().equals(this.getPlaybackEndpointPrefix()) == false) return false; if (other.getSessionInitializationEndpointPrefix() == null ^ this.getSessionInitializationEndpointPrefix() == null) return false; if (other.getSessionInitializationEndpointPrefix() != null && other.getSessionInitializationEndpointPrefix().equals(this.getSessionInitializationEndpointPrefix()) == false) return false; if (other.getSlateAdUrl() == null ^ this.getSlateAdUrl() == null) return false; if (other.getSlateAdUrl() != null && other.getSlateAdUrl().equals(this.getSlateAdUrl()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getTranscodeProfileName() == null ^ this.getTranscodeProfileName() == null) return false; if (other.getTranscodeProfileName() != null && other.getTranscodeProfileName().equals(this.getTranscodeProfileName()) == false) return false; if (other.getVideoContentSourceUrl() == null ^ this.getVideoContentSourceUrl() == null) return false; if (other.getVideoContentSourceUrl() != null && other.getVideoContentSourceUrl().equals(this.getVideoContentSourceUrl()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAdDecisionServerUrl() == null) ? 0 : getAdDecisionServerUrl().hashCode()); hashCode = prime * hashCode + ((getAvailSuppression() == null) ? 0 : getAvailSuppression().hashCode()); hashCode = prime * hashCode + ((getBumper() == null) ? 0 : getBumper().hashCode()); hashCode = prime * hashCode + ((getCdnConfiguration() == null) ? 0 : getCdnConfiguration().hashCode()); hashCode = prime * hashCode + ((getConfigurationAliases() == null) ? 0 : getConfigurationAliases().hashCode()); hashCode = prime * hashCode + ((getDashConfiguration() == null) ? 0 : getDashConfiguration().hashCode()); hashCode = prime * hashCode + ((getHlsConfiguration() == null) ? 0 : getHlsConfiguration().hashCode()); hashCode = prime * hashCode + ((getInsertionMode() == null) ? 0 : getInsertionMode().hashCode()); hashCode = prime * hashCode + ((getLivePreRollConfiguration() == null) ? 0 : getLivePreRollConfiguration().hashCode()); hashCode = prime * hashCode + ((getLogConfiguration() == null) ? 0 : getLogConfiguration().hashCode()); hashCode = prime * hashCode + ((getManifestProcessingRules() == null) ? 0 : getManifestProcessingRules().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getPersonalizationThresholdSeconds() == null) ? 0 : getPersonalizationThresholdSeconds().hashCode()); hashCode = prime * hashCode + ((getPlaybackConfigurationArn() == null) ? 0 : getPlaybackConfigurationArn().hashCode()); hashCode = prime * hashCode + ((getPlaybackEndpointPrefix() == null) ? 0 : getPlaybackEndpointPrefix().hashCode()); hashCode = prime * hashCode + ((getSessionInitializationEndpointPrefix() == null) ? 0 : getSessionInitializationEndpointPrefix().hashCode()); hashCode = prime * hashCode + ((getSlateAdUrl() == null) ? 0 : getSlateAdUrl().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getTranscodeProfileName() == null) ? 0 : getTranscodeProfileName().hashCode()); hashCode = prime * hashCode + ((getVideoContentSourceUrl() == null) ? 0 : getVideoContentSourceUrl().hashCode()); return hashCode; } @Override public PlaybackConfiguration clone() { try { return (PlaybackConfiguration) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.mediatailor.model.transform.PlaybackConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy