:doc:`MediaTailor <../../mediatailor>` / Client / put_playback_configuration

**************************
put_playback_configuration
**************************



.. py:method:: MediaTailor.Client.put_playback_configuration(**kwargs)

  

  Creates a playback configuration. For information about MediaTailor configurations, see `Working with configurations in AWS Elemental MediaTailor <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/PutPlaybackConfiguration>`_  


  **Request Syntax**
  ::

    response = client.put_playback_configuration(
        AdDecisionServerUrl='string',
        AvailSuppression={
            'Mode': 'OFF'|'BEHIND_LIVE_EDGE'|'AFTER_LIVE_EDGE',
            'Value': 'string',
            'FillPolicy': 'FULL_AVAIL_ONLY'|'PARTIAL_AVAIL'
        },
        Bumper={
            'EndUrl': 'string',
            'StartUrl': 'string'
        },
        CdnConfiguration={
            'AdSegmentUrlPrefix': 'string',
            'ContentSegmentUrlPrefix': 'string'
        },
        ConfigurationAliases={
            'string': {
                'string': 'string'
            }
        },
        DashConfiguration={
            'MpdLocation': 'string',
            'OriginManifestType': 'SINGLE_PERIOD'|'MULTI_PERIOD'
        },
        InsertionMode='STITCHED_ONLY'|'PLAYER_SELECT',
        LivePreRollConfiguration={
            'AdDecisionServerUrl': 'string',
            'MaxDurationSeconds': 123
        },
        ManifestProcessingRules={
            'AdMarkerPassthrough': {
                'Enabled': True|False
            }
        },
        Name='string',
        PersonalizationThresholdSeconds=123,
        SlateAdUrl='string',
        Tags={
            'string': 'string'
        },
        TranscodeProfileName='string',
        VideoContentSourceUrl='string',
        AdConditioningConfiguration={
            'StreamingMediaFileConditioning': 'TRANSCODE'|'NONE'
        },
        AdDecisionServerConfiguration={
            'HttpRequest': {
                'Method': 'GET'|'POST',
                'Body': 'string',
                'Headers': {
                    'string': 'string'
                },
                'CompressRequest': 'NONE'|'GZIP'
            }
        }
    )
    
  :type AdDecisionServerUrl: string
  :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.

    

  
  :type AvailSuppression: dict
  :param AvailSuppression: 

    The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see `Ad Suppression <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html>`__.

    

  
    - **Mode** *(string) --* 

      Sets the ad suppression mode. By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode is set to ``BEHIND_LIVE_EDGE``, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window. When Mode is set to ``AFTER_LIVE_EDGE``, ad suppression is active and MediaTailor won't fill ad breaks that are within the live edge plus the avail suppression value.

      

    
    - **Value** *(string) --* 

      A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.

      

    
    - **FillPolicy** *(string) --* 

      Defines the policy to apply to the avail suppression mode. ``BEHIND_LIVE_EDGE`` will always use the full avail suppression policy. ``AFTER_LIVE_EDGE`` mode can be used to invoke partial ad break fills when a session starts mid-break.

      

    
  
  :type Bumper: dict
  :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 <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html>`__.

    

  
    - **EndUrl** *(string) --* 

      The URL for the end bumper asset.

      

    
    - **StartUrl** *(string) --* 

      The URL for the start bumper asset.

      

    
  
  :type CdnConfiguration: dict
  :param CdnConfiguration: 

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

    

  
    - **AdSegmentUrlPrefix** *(string) --* 

      A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the origin ads.mediatailor.*<region>*.amazonaws.com. Then specify the rule's name in this ``AdSegmentUrlPrefix``. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.

      

    
    - **ContentSegmentUrlPrefix** *(string) --* 

      A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ``ContentSegmentUrlPrefix``. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.

      

    
  
  :type ConfigurationAliases: dict
  :param ConfigurationAliases: 

    The player parameters and aliases used as dynamic variables during session initialization. For more information, see `Domain Variables <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html>`__.

    

  
    - *(string) --* 

      The dynamic variable that has aliases.

      

    
      - *(dict) --* 

        Map of aliases to the value to be used at request time.

        

      
        - *(string) --* 

        
          - *(string) --* 

          
    
  


  :type DashConfiguration: dict
  :param DashConfiguration: 

    The configuration for DASH content.

    

  
    - **MpdLocation** *(string) --* 

      The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are ``DISABLED`` and ``EMT_DEFAULT``. The ``EMT_DEFAULT`` setting enables the inclusion of the tag and is the default value.

      

    
    - **OriginManifestType** *(string) --* 

      The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to ``SINGLE_PERIOD``. The default setting is ``MULTI_PERIOD``. For multi-period manifests, omit this setting or set it to ``MULTI_PERIOD``.

      

    
  
  :type InsertionMode: string
  :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.

    

  
  :type LivePreRollConfiguration: dict
  :param LivePreRollConfiguration: 

    The configuration for pre-roll ad insertion.

    

  
    - **AdDecisionServerUrl** *(string) --* 

      The URL for the ad decision server (ADS) for pre-roll 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.

      

    
    - **MaxDurationSeconds** *(integer) --* 

      The maximum allowed duration for the pre-roll ad avail. AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns.

      

    
  
  :type ManifestProcessingRules: dict
  :param ManifestProcessingRules: 

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

    

  
    - **AdMarkerPassthrough** *(dict) --* 

      For HLS, when set to ``true``, MediaTailor passes through ``EXT-X-CUE-IN``, ``EXT-X-CUE-OUT``, and ``EXT-X-SPLICEPOINT-SCTE35`` ad markers from the origin manifest to the MediaTailor personalized manifest.

       

      No logic is applied to these ad markers. For example, if ``EXT-X-CUE-OUT`` has a value of ``60``, but no ads are filled for that ad break, MediaTailor will not set the value to ``0``.

      

    
      - **Enabled** *(boolean) --* 

        Enables ad marker passthrough for your configuration.

        

      
    
  
  :type Name: string
  :param Name: **[REQUIRED]** 

    The identifier for the playback configuration.

    

  
  :type PersonalizationThresholdSeconds: integer
  :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 <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html>`__.

    

  
  :type SlateAdUrl: string
  :param 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 configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

    

  
  :type Tags: dict
  :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 <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html>`__.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type TranscodeProfileName: string
  :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.

    

  
  :type VideoContentSourceUrl: string
  :param VideoContentSourceUrl: 

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

    

  
  :type AdConditioningConfiguration: dict
  :param AdConditioningConfiguration: 

    The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads.

    

  
    - **StreamingMediaFileConditioning** *(string) --* **[REQUIRED]** 

      For ads that have media files with streaming delivery and supported file extensions, indicates what transcoding action MediaTailor takes when it first receives these ads from the ADS. ``TRANSCODE`` indicates that MediaTailor must transcode the ads. ``NONE`` indicates that you have already transcoded the ads outside of MediaTailor and don't need them transcoded as part of the ad insertion workflow. For more information about ad conditioning see `Using preconditioned ads <https://docs.aws.amazon.com/mediatailor/latest/ug/precondition-ads.html>`__ in the Elemental MediaTailor user guide.

      

    
  
  :type AdDecisionServerConfiguration: dict
  :param AdDecisionServerConfiguration: 

    The configuration for customizing HTTP requests to the ad decision server (ADS). This includes settings for request method, headers, body content, and compression options.

    

  
    - **HttpRequest** *(dict) --* 

      The HTTP request configuration parameters for the ad decision server.

      

    
      - **Method** *(string) --* 

        The HTTP method to use when making requests to the ad decision server. Supported values are ``GET`` and ``POST``.

        

      
      - **Body** *(string) --* 

        The request body content to send with HTTP requests to the ad decision server. This value is only eligible for ``POST`` requests.

        

      
      - **Headers** *(dict) --* 

        Custom HTTP headers to include in requests to the ad decision server. Specify headers as key-value pairs. This value is only eligible for ``POST`` requests.

        

      
        - *(string) --* 

        
          - *(string) --* 

          
    
  
      - **CompressRequest** *(string) --* 

        The compression method to apply to requests sent to the ad decision server. Supported values are ``NONE`` and ``GZIP``. This value is only eligible for ``POST`` requests.

        

      
    
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'AdDecisionServerUrl': 'string',
          'AvailSuppression': {
              'Mode': 'OFF'|'BEHIND_LIVE_EDGE'|'AFTER_LIVE_EDGE',
              'Value': 'string',
              'FillPolicy': 'FULL_AVAIL_ONLY'|'PARTIAL_AVAIL'
          },
          'Bumper': {
              'EndUrl': 'string',
              'StartUrl': 'string'
          },
          'CdnConfiguration': {
              'AdSegmentUrlPrefix': 'string',
              'ContentSegmentUrlPrefix': 'string'
          },
          'ConfigurationAliases': {
              'string': {
                  'string': 'string'
              }
          },
          'DashConfiguration': {
              'ManifestEndpointPrefix': 'string',
              'MpdLocation': 'string',
              'OriginManifestType': 'SINGLE_PERIOD'|'MULTI_PERIOD'
          },
          'HlsConfiguration': {
              'ManifestEndpointPrefix': 'string'
          },
          'InsertionMode': 'STITCHED_ONLY'|'PLAYER_SELECT',
          'LivePreRollConfiguration': {
              'AdDecisionServerUrl': 'string',
              'MaxDurationSeconds': 123
          },
          'LogConfiguration': {
              'PercentEnabled': 123,
              'EnabledLoggingStrategies': [
                  'VENDED_LOGS'|'LEGACY_CLOUDWATCH',
              ],
              'AdsInteractionLog': {
                  'PublishOptInEventTypes': [
                      'RAW_ADS_RESPONSE',
                  ],
                  'ExcludeEventTypes': [
                      'AD_MARKER_FOUND'|'NON_AD_MARKER_FOUND'|'MAKING_ADS_REQUEST'|'MODIFIED_TARGET_URL'|'VAST_REDIRECT'|'EMPTY_VAST_RESPONSE'|'EMPTY_VMAP_RESPONSE'|'VAST_RESPONSE'|'REDIRECTED_VAST_RESPONSE'|'FILLED_AVAIL'|'FILLED_OVERLAY_AVAIL'|'BEACON_FIRED'|'WARNING_NO_ADVERTISEMENTS'|'WARNING_VPAID_AD_DROPPED'|'WARNING_URL_VARIABLE_SUBSTITUTION_FAILED'|'ERROR_UNKNOWN'|'ERROR_UNKNOWN_HOST'|'ERROR_DISALLOWED_HOST'|'ERROR_ADS_IO'|'ERROR_ADS_TIMEOUT'|'ERROR_ADS_RESPONSE_PARSE'|'ERROR_ADS_RESPONSE_UNKNOWN_ROOT_ELEMENT'|'ERROR_ADS_INVALID_RESPONSE'|'ERROR_VAST_REDIRECT_EMPTY_RESPONSE'|'ERROR_VAST_REDIRECT_MULTIPLE_VAST'|'ERROR_VAST_REDIRECT_FAILED'|'ERROR_VAST_MISSING_MEDIAFILES'|'ERROR_VAST_MISSING_CREATIVES'|'ERROR_VAST_MISSING_OVERLAYS'|'ERROR_VAST_MISSING_IMPRESSION'|'ERROR_VAST_INVALID_VAST_AD_TAG_URI'|'ERROR_VAST_MULTIPLE_TRACKING_EVENTS'|'ERROR_VAST_MULTIPLE_LINEAR'|'ERROR_VAST_INVALID_MEDIA_FILE'|'ERROR_FIRING_BEACON_FAILED'|'ERROR_PERSONALIZATION_DISABLED'|'VOD_TIME_BASED_AVAIL_PLAN_VAST_RESPONSE_FOR_OFFSET'|'VOD_TIME_BASED_AVAIL_PLAN_SUCCESS'|'VOD_TIME_BASED_AVAIL_PLAN_WARNING_NO_ADVERTISEMENTS'|'INTERSTITIAL_VOD_SUCCESS'|'INTERSTITIAL_VOD_FAILURE',
                  ]
              },
              'ManifestServiceInteractionLog': {
                  'ExcludeEventTypes': [
                      'GENERATED_MANIFEST'|'ORIGIN_MANIFEST'|'SESSION_INITIALIZED'|'TRACKING_RESPONSE'|'CONFIG_SYNTAX_ERROR'|'CONFIG_SECURITY_ERROR'|'UNKNOWN_HOST'|'TIMEOUT_ERROR'|'CONNECTION_ERROR'|'IO_ERROR'|'UNKNOWN_ERROR'|'HOST_DISALLOWED'|'PARSING_ERROR'|'MANIFEST_ERROR'|'NO_MASTER_OR_MEDIA_PLAYLIST'|'NO_MASTER_PLAYLIST'|'NO_MEDIA_PLAYLIST'|'INCOMPATIBLE_HLS_VERSION'|'SCTE35_PARSING_ERROR'|'INVALID_SINGLE_PERIOD_DASH_MANIFEST'|'UNSUPPORTED_SINGLE_PERIOD_DASH_MANIFEST'|'LAST_PERIOD_MISSING_AUDIO'|'LAST_PERIOD_MISSING_AUDIO_WARNING'|'ERROR_ORIGIN_PREFIX_INTERPOLATION'|'ERROR_ADS_INTERPOLATION'|'ERROR_LIVE_PRE_ROLL_ADS_INTERPOLATION'|'ERROR_CDN_AD_SEGMENT_INTERPOLATION'|'ERROR_CDN_CONTENT_SEGMENT_INTERPOLATION'|'ERROR_SLATE_AD_URL_INTERPOLATION'|'ERROR_PROFILE_NAME_INTERPOLATION'|'ERROR_BUMPER_START_INTERPOLATION'|'ERROR_BUMPER_END_INTERPOLATION',
                  ]
              }
          },
          'ManifestProcessingRules': {
              'AdMarkerPassthrough': {
                  'Enabled': True|False
              }
          },
          'Name': 'string',
          'PersonalizationThresholdSeconds': 123,
          'PlaybackConfigurationArn': 'string',
          'PlaybackEndpointPrefix': 'string',
          'SessionInitializationEndpointPrefix': 'string',
          'SlateAdUrl': 'string',
          'Tags': {
              'string': 'string'
          },
          'TranscodeProfileName': 'string',
          'VideoContentSourceUrl': 'string',
          'AdConditioningConfiguration': {
              'StreamingMediaFileConditioning': 'TRANSCODE'|'NONE'
          },
          'AdDecisionServerConfiguration': {
              'HttpRequest': {
                  'Method': 'GET'|'POST',
                  'Body': 'string',
                  'Headers': {
                      'string': 'string'
                  },
                  'CompressRequest': 'NONE'|'GZIP'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **AdDecisionServerUrl** *(string) --* 

        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.

        
      

      - **AvailSuppression** *(dict) --* 

        The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see `Ad Suppression <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html>`__.

        
        

        - **Mode** *(string) --* 

          Sets the ad suppression mode. By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode is set to ``BEHIND_LIVE_EDGE``, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window. When Mode is set to ``AFTER_LIVE_EDGE``, ad suppression is active and MediaTailor won't fill ad breaks that are within the live edge plus the avail suppression value.

          
        

        - **Value** *(string) --* 

          A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.

          
        

        - **FillPolicy** *(string) --* 

          Defines the policy to apply to the avail suppression mode. ``BEHIND_LIVE_EDGE`` will always use the full avail suppression policy. ``AFTER_LIVE_EDGE`` mode can be used to invoke partial ad break fills when a session starts mid-break.

          
    
      

      - **Bumper** *(dict) --* 

        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 <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html>`__.

        
        

        - **EndUrl** *(string) --* 

          The URL for the end bumper asset.

          
        

        - **StartUrl** *(string) --* 

          The URL for the start bumper asset.

          
    
      

      - **CdnConfiguration** *(dict) --* 

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

        
        

        - **AdSegmentUrlPrefix** *(string) --* 

          A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the origin ads.mediatailor.*<region>*.amazonaws.com. Then specify the rule's name in this ``AdSegmentUrlPrefix``. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.

          
        

        - **ContentSegmentUrlPrefix** *(string) --* 

          A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ``ContentSegmentUrlPrefix``. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.

          
    
      

      - **ConfigurationAliases** *(dict) --* 

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see `Domain Variables <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html>`__.

        
        

        - *(string) --* 

          The dynamic variable that has aliases.

          
          

          - *(dict) --* 

            Map of aliases to the value to be used at request time.

            
            

            - *(string) --* 
              

              - *(string) --* 
        
      
    
  
      

      - **DashConfiguration** *(dict) --* 

        The configuration for DASH content.

        
        

        - **ManifestEndpointPrefix** *(string) --* 

          The URL generated by MediaTailor to initiate a playback session. The session uses server-side reporting. This setting is ignored in PUT operations.

          
        

        - **MpdLocation** *(string) --* 

          The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are ``DISABLED`` and ``EMT_DEFAULT``. The ``EMT_DEFAULT`` setting enables the inclusion of the tag and is the default value.

          
        

        - **OriginManifestType** *(string) --* 

          The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to ``SINGLE_PERIOD``. The default setting is ``MULTI_PERIOD``. For multi-period manifests, omit this setting or set it to ``MULTI_PERIOD``.

          
    
      

      - **HlsConfiguration** *(dict) --* 

        The configuration for HLS content.

        
        

        - **ManifestEndpointPrefix** *(string) --* 

          The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.

          
    
      

      - **InsertionMode** *(string) --* 

        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.

        
      

      - **LivePreRollConfiguration** *(dict) --* 

        The configuration for pre-roll ad insertion.

        
        

        - **AdDecisionServerUrl** *(string) --* 

          The URL for the ad decision server (ADS) for pre-roll 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.

          
        

        - **MaxDurationSeconds** *(integer) --* 

          The maximum allowed duration for the pre-roll ad avail. AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns.

          
    
      

      - **LogConfiguration** *(dict) --* 

        The configuration that defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        
        

        - **PercentEnabled** *(integer) --* 

          The percentage of session logs that MediaTailor sends to your configured log destination. For example, if your playback configuration has 1000 sessions and ``percentEnabled`` is set to ``60``, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the `debug log mode <https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html>`__.

           

          Valid values: ``0`` - ``100``

          
        

        - **EnabledLoggingStrategies** *(list) --* 

          The method used for collecting logs from AWS Elemental MediaTailor. ``LEGACY_CLOUDWATCH`` indicates that MediaTailor is sending logs directly to Amazon CloudWatch Logs. ``VENDED_LOGS`` indicates that MediaTailor is sending logs to CloudWatch, which then vends the logs to your destination of choice. Supported destinations are CloudWatch Logs log group, Amazon S3 bucket, and Amazon Data Firehose stream.

          
          

          - *(string) --* 
      
        

        - **AdsInteractionLog** *(dict) --* 

          Settings for customizing what events are included in logs for interactions with the ad decision server (ADS).

          
          

          - **PublishOptInEventTypes** *(list) --* 

            Indicates that MediaTailor emits ``RAW_ADS_RESPONSE`` logs for playback sessions that are initialized with this configuration.

            
            

            - *(string) --* 
        
          

          - **ExcludeEventTypes** *(list) --* 

            Indicates that MediaTailor won't emit the selected events in the logs for playback sessions that are initialized with this configuration.

            
            

            - *(string) --* 
        
      
        

        - **ManifestServiceInteractionLog** *(dict) --* 

          Settings for customizing what events are included in logs for interactions with the origin server.

          
          

          - **ExcludeEventTypes** *(list) --* 

            Indicates that MediaTailor won't emit the selected events in the logs for playback sessions that are initialized with this configuration.

            
            

            - *(string) --* 
        
      
    
      

      - **ManifestProcessingRules** *(dict) --* 

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

        
        

        - **AdMarkerPassthrough** *(dict) --* 

          For HLS, when set to ``true``, MediaTailor passes through ``EXT-X-CUE-IN``, ``EXT-X-CUE-OUT``, and ``EXT-X-SPLICEPOINT-SCTE35`` ad markers from the origin manifest to the MediaTailor personalized manifest.

           

          No logic is applied to these ad markers. For example, if ``EXT-X-CUE-OUT`` has a value of ``60``, but no ads are filled for that ad break, MediaTailor will not set the value to ``0``.

          
          

          - **Enabled** *(boolean) --* 

            Enables ad marker passthrough for your configuration.

            
      
    
      

      - **Name** *(string) --* 

        The identifier for the playback configuration.

        
      

      - **PersonalizationThresholdSeconds** *(integer) --* 

        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 <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html>`__.

        
      

      - **PlaybackConfigurationArn** *(string) --* 

        The Amazon Resource Name (ARN) associated with the playback configuration.

        
      

      - **PlaybackEndpointPrefix** *(string) --* 

        The playback endpoint prefix associated with the playback configuration.

        
      

      - **SessionInitializationEndpointPrefix** *(string) --* 

        The session initialization endpoint prefix associated with the playback configuration.

        
      

      - **SlateAdUrl** *(string) --* 

        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 configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

        
      

      - **Tags** *(dict) --* 

        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 <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html>`__.

        
        

        - *(string) --* 
          

          - *(string) --* 
    
  
      

      - **TranscodeProfileName** *(string) --* 

        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.

        
      

      - **VideoContentSourceUrl** *(string) --* 

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

        
      

      - **AdConditioningConfiguration** *(dict) --* 

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads.

        
        

        - **StreamingMediaFileConditioning** *(string) --* 

          For ads that have media files with streaming delivery and supported file extensions, indicates what transcoding action MediaTailor takes when it first receives these ads from the ADS. ``TRANSCODE`` indicates that MediaTailor must transcode the ads. ``NONE`` indicates that you have already transcoded the ads outside of MediaTailor and don't need them transcoded as part of the ad insertion workflow. For more information about ad conditioning see `Using preconditioned ads <https://docs.aws.amazon.com/mediatailor/latest/ug/precondition-ads.html>`__ in the Elemental MediaTailor user guide.

          
    
      

      - **AdDecisionServerConfiguration** *(dict) --* 

        The configuration for customizing HTTP requests to the ad decision server (ADS). This includes settings for request method, headers, body content, and compression options.

        
        

        - **HttpRequest** *(dict) --* 

          The HTTP request configuration parameters for the ad decision server.

          
          

          - **Method** *(string) --* 

            The HTTP method to use when making requests to the ad decision server. Supported values are ``GET`` and ``POST``.

            
          

          - **Body** *(string) --* 

            The request body content to send with HTTP requests to the ad decision server. This value is only eligible for ``POST`` requests.

            
          

          - **Headers** *(dict) --* 

            Custom HTTP headers to include in requests to the ad decision server. Specify headers as key-value pairs. This value is only eligible for ``POST`` requests.

            
            

            - *(string) --* 
              

              - *(string) --* 
        
      
          

          - **CompressRequest** *(string) --* 

            The compression method to apply to requests sent to the ad decision server. Supported values are ``NONE`` and ``GZIP``. This value is only eligible for ``POST`` requests.

            
      
    
  