Skip to content

put_playback_configuration async

put_playback_configuration(
    name: __string,
    *,
    config_overrides: Optional[AsyncMediaTailorClientConfig] = None,
    ad_decision_server_url: Optional[__string] = None,
    avail_suppression: Optional[AvailSuppression] = None,
    bumper: Optional[Bumper] = None,
    cdn_configuration: Optional[CdnConfiguration] = None,
    configuration_aliases: Optional[ConfigurationAliasesRequest] = None,
    dash_configuration: Optional[DashConfigurationForPut] = None,
    insertion_mode: Optional[InsertionMode] = None,
    live_pre_roll_configuration: Optional[LivePreRollConfiguration] = None,
    manifest_processing_rules: Optional[ManifestProcessingRules] = None,
    personalization_threshold_seconds: Optional[__integerMin1] = None,
    slate_ad_url: Optional[__string] = None,
    tags: Optional[__mapOf__string] = None,
    transcode_profile_name: Optional[__string] = None,
    video_content_source_url: Optional[__string] = None,
    ad_conditioning_configuration: Optional[AdConditioningConfiguration] = None,
    ad_decision_server_configuration: Optional[AdDecisionServerConfiguration] = None,
    yield_optimization_configuration: Optional[YieldOptimizationConfiguration] = None,
    function_mapping: Optional[FunctionMapping] = None,
    ads_personalization_timeouts: Optional[AdsPersonalizationTimeouts] = None,
    ads_personalization_concurrency: Optional[AdsPersonalizationConcurrency] = None,
    beaconing_configuration: Optional[BeaconingConfiguration] = None,
) -> PutPlaybackConfigurationResponse

Creates a playback configuration. For information about MediaTailor configurations, see Working with configurations in AWS Elemental MediaTailor.

Parameters:

  • ad_decision_server_url (Optional[__string], default: None ) –

    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.

  • avail_suppression (Optional[AvailSuppression], default: None ) –

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

  • bumper (Optional[Bumper], default: None ) –

    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.

  • cdn_configuration (Optional[CdnConfiguration], default: None ) –

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

  • configuration_aliases (Optional[ConfigurationAliasesRequest], default: None ) –

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

  • dash_configuration (Optional[DashConfigurationForPut], default: None ) –

    The configuration for DASH content.

  • insertion_mode (Optional[InsertionMode], default: None ) –

    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.

  • live_pre_roll_configuration (Optional[LivePreRollConfiguration], default: None ) –

    The configuration for pre-roll ad insertion.

  • manifest_processing_rules (Optional[ManifestProcessingRules], default: None ) –

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

  • name (__string) –

    The identifier for the playback configuration.

  • personalization_threshold_seconds (Optional[__integerMin1], default: None ) –

    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.

  • slate_ad_url (Optional[__string], default: None ) –

    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 (Optional[__mapOf__string], default: None ) –

    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.

  • transcode_profile_name (Optional[__string], default: None ) –

    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.

  • video_content_source_url (Optional[__string], default: None ) –

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

  • ad_conditioning_configuration (Optional[AdConditioningConfiguration], default: None ) –

    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.

  • ad_decision_server_configuration (Optional[AdDecisionServerConfiguration], default: None ) –

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

  • yield_optimization_configuration (Optional[YieldOptimizationConfiguration], default: None ) –

    Configuration for Yield Optimization, which fills unsold ad inventory in ad breaks with programmatic ads from Amazon Publisher Services (APS).

  • function_mapping (Optional[FunctionMapping], default: None ) –

    A map of lifecycle hook event names to function identifiers. The function mapping specifies which function MediaTailor executes at each lifecycle hook during ad insertion. Valid keys are PRE_SESSION_INITIALIZATION, PRE_ADS_REQUEST, POST_ADS_RESPONSE, and PRE_MANIFEST_INSERTION. For more information, see Functions lifecycle hooks in the MediaTailor User Guide.

  • ads_personalization_timeouts (Optional[AdsPersonalizationTimeouts], default: None ) –

    The timeout settings for ad decision server interactions. These settings control how long MediaTailor waits for ADS responses and the total time budget for ad personalization across live, VOD, and prefetch workflows.

  • ads_personalization_concurrency (Optional[AdsPersonalizationConcurrency], default: None ) –

    The concurrency settings for ad decision server interactions. These settings control how many simultaneous ADS requests MediaTailor makes per manifest request.

  • beaconing_configuration (Optional[BeaconingConfiguration], default: None ) –

    The beaconing configuration for this playback configuration, which controls whether MediaTailor includes beacons of its own in the ad tracking response. If you omit this setting, MediaTailor uses INSIGHTS.

Raises:

Source code in docs_src/capo_mediatailor/_services/async_media_tailor.py
async def put_playback_configuration(
    self,
    name: "capo_mediatailor.types.__string.__string",
    *,
    config_overrides: Optional[AsyncMediaTailorClientConfig] = None,
    ad_decision_server_url: Optional[
        "capo_mediatailor.types.__string.__string"
    ] = None,
    avail_suppression: Optional[
        "capo_mediatailor.types.avail_suppression.AvailSuppression"
    ] = None,
    bumper: Optional["capo_mediatailor.types.bumper.Bumper"] = None,
    cdn_configuration: Optional[
        "capo_mediatailor.types.cdn_configuration.CdnConfiguration"
    ] = None,
    configuration_aliases: Optional[
        "capo_mediatailor.types.configuration_aliases_request.ConfigurationAliasesRequest"
    ] = None,
    dash_configuration: Optional[
        "capo_mediatailor.types.dash_configuration_for_put.DashConfigurationForPut"
    ] = None,
    insertion_mode: Optional[
        "capo_mediatailor.types.insertion_mode.InsertionMode"
    ] = None,
    live_pre_roll_configuration: Optional[
        "capo_mediatailor.types.live_pre_roll_configuration.LivePreRollConfiguration"
    ] = None,
    manifest_processing_rules: Optional[
        "capo_mediatailor.types.manifest_processing_rules.ManifestProcessingRules"
    ] = None,
    personalization_threshold_seconds: Optional[
        "capo_mediatailor.types.__integer_min1.__integerMin1"
    ] = None,
    slate_ad_url: Optional["capo_mediatailor.types.__string.__string"] = None,
    tags: Optional[
        "capo_mediatailor.types.__map_of__string.__mapOf__string"
    ] = None,
    transcode_profile_name: Optional[
        "capo_mediatailor.types.__string.__string"
    ] = None,
    video_content_source_url: Optional[
        "capo_mediatailor.types.__string.__string"
    ] = None,
    ad_conditioning_configuration: Optional[
        "capo_mediatailor.types.ad_conditioning_configuration.AdConditioningConfiguration"
    ] = None,
    ad_decision_server_configuration: Optional[
        "capo_mediatailor.types.ad_decision_server_configuration.AdDecisionServerConfiguration"
    ] = None,
    yield_optimization_configuration: Optional[
        "capo_mediatailor.types.yield_optimization_configuration.YieldOptimizationConfiguration"
    ] = None,
    function_mapping: Optional[
        "capo_mediatailor.types.function_mapping.FunctionMapping"
    ] = None,
    ads_personalization_timeouts: Optional[
        "capo_mediatailor.types.ads_personalization_timeouts.AdsPersonalizationTimeouts"
    ] = None,
    ads_personalization_concurrency: Optional[
        "capo_mediatailor.types.ads_personalization_concurrency.AdsPersonalizationConcurrency"
    ] = None,
    beaconing_configuration: Optional[
        "capo_mediatailor.types.beaconing_configuration.BeaconingConfiguration"
    ] = None,
) -> "capo_mediatailor.types.put_playback_configuration_response.PutPlaybackConfigurationResponse":
    """<p>Creates a playback configuration. For information about MediaTailor configurations, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html">Working with configurations in AWS Elemental MediaTailor</a>.</p>

    Args:
        ad_decision_server_url: <p>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.</p>
        avail_suppression: <p>The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html">Ad Suppression</a>.</p>
        bumper: <p>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 <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html">Bumpers</a>.</p>
        cdn_configuration: <p>The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.</p>
        configuration_aliases: <p>The player parameters and aliases used as dynamic variables during session initialization. For more information, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html">Domain Variables</a>.</p>
        dash_configuration: <p>The configuration for DASH content.</p>
        insertion_mode: <p>The setting that controls whether players can use stitched or guided ad insertion. The default, <code>STITCHED_ONLY</code>, forces all player sessions to use stitched (server-side) ad insertion. Choosing <code>PLAYER_SELECT</code> 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.</p>
        live_pre_roll_configuration: <p>The configuration for pre-roll ad insertion.</p>
        manifest_processing_rules: <p>The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.</p>
        name: <p>The identifier for the playback configuration.</p>
        personalization_threshold_seconds: <p>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 <i>ad replacement</i> 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 <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html">Ad Behavior in AWS Elemental MediaTailor</a>.</p>
        slate_ad_url: <p>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.</p>
        tags: <p>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 <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html">Tagging AWS Elemental MediaTailor Resources</a>.</p>
        transcode_profile_name: <p>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.</p>
        video_content_source_url: <p>The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.</p>
        ad_conditioning_configuration: <p>The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns, and what priority MediaTailor uses when inserting ads. </p>
        ad_decision_server_configuration: <p>The configuration for customizing HTTP requests to the ad decision server (ADS). This includes settings for request method, headers, body content, and compression options.</p>
        yield_optimization_configuration: <p>Configuration for Yield Optimization, which fills unsold ad inventory in ad breaks with programmatic ads from Amazon Publisher Services (APS).</p>
        function_mapping: <p>A map of lifecycle hook event names to function identifiers. The function mapping specifies which function MediaTailor executes at each lifecycle hook during ad insertion. Valid keys are <code>PRE_SESSION_INITIALIZATION</code>, <code>PRE_ADS_REQUEST</code>, <code>POST_ADS_RESPONSE</code>, and <code>PRE_MANIFEST_INSERTION</code>. For more information, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/monetization-functions-hooks.html">Functions lifecycle hooks</a> in the <i>MediaTailor User Guide</i>.</p>
        ads_personalization_timeouts: <p>The timeout settings for ad decision server interactions. These settings control how long MediaTailor waits for ADS responses and the total time budget for ad personalization across live, VOD, and prefetch workflows.</p>
        ads_personalization_concurrency: <p>The concurrency settings for ad decision server interactions. These settings control how many simultaneous ADS requests MediaTailor makes per manifest request.</p>
        beaconing_configuration: <p>The beaconing configuration for this playback configuration, which controls whether MediaTailor includes beacons of its own in the ad tracking response. If you omit this setting, MediaTailor uses <code>INSIGHTS</code>.</p>

    Raises:
        capo_mediatailor.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_mediatailor.types.put_playback_configuration_request.PutPlaybackConfigurationRequest]",
    ) -> AsyncOperationResponse[
        "capo_mediatailor.types.put_playback_configuration_response.PutPlaybackConfigurationResponse"
    ]:
        import capo_mediatailor._operations.media_tailor.put_playback_configuration

        (
            output,
            http_response,
        ) = await capo_mediatailor._operations.media_tailor.put_playback_configuration.async_put_playback_configuration(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("PutPlaybackConfiguration")
    )
    input_: capo_mediatailor.types.put_playback_configuration_request.PutPlaybackConfigurationRequest = {
        "name": name
    }
    if ad_decision_server_url is not None:
        input_["ad_decision_server_url"] = ad_decision_server_url
    if avail_suppression is not None:
        input_["avail_suppression"] = avail_suppression
    if bumper is not None:
        input_["bumper"] = bumper
    if cdn_configuration is not None:
        input_["cdn_configuration"] = cdn_configuration
    if configuration_aliases is not None:
        input_["configuration_aliases"] = configuration_aliases
    if dash_configuration is not None:
        input_["dash_configuration"] = dash_configuration
    if insertion_mode is not None:
        input_["insertion_mode"] = insertion_mode
    if live_pre_roll_configuration is not None:
        input_["live_pre_roll_configuration"] = live_pre_roll_configuration
    if manifest_processing_rules is not None:
        input_["manifest_processing_rules"] = manifest_processing_rules
    if personalization_threshold_seconds is not None:
        input_["personalization_threshold_seconds"] = (
            personalization_threshold_seconds
        )
    if slate_ad_url is not None:
        input_["slate_ad_url"] = slate_ad_url
    if tags is not None:
        input_["tags"] = tags
    if transcode_profile_name is not None:
        input_["transcode_profile_name"] = transcode_profile_name
    if video_content_source_url is not None:
        input_["video_content_source_url"] = video_content_source_url
    if ad_conditioning_configuration is not None:
        input_["ad_conditioning_configuration"] = ad_conditioning_configuration
    if ad_decision_server_configuration is not None:
        input_["ad_decision_server_configuration"] = (
            ad_decision_server_configuration
        )
    if yield_optimization_configuration is not None:
        input_["yield_optimization_configuration"] = (
            yield_optimization_configuration
        )
    if function_mapping is not None:
        input_["function_mapping"] = function_mapping
    if ads_personalization_timeouts is not None:
        input_["ads_personalization_timeouts"] = ads_personalization_timeouts
    if ads_personalization_concurrency is not None:
        input_["ads_personalization_concurrency"] = ads_personalization_concurrency
    if beaconing_configuration is not None:
        input_["beaconing_configuration"] = beaconing_configuration

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output