Skip to content

create_ad_configuration

create_ad_configuration(
    media_tailor_playback_configurations: MediaTailorPlaybackConfigurationsList,
    *,
    config_overrides: Optional[ivsClientConfig] = None,
    name: Optional[AdConfigurationName] = None,
    post_roll_configuration: Optional[PostRollConfiguration] = None,
    tags: Optional[Tags] = None,
) -> CreateAdConfigurationResponse

Creates a new ad configuration to be used for server-side ad insertion.

Parameters:

  • name (Optional[AdConfigurationName], default: None ) –

    Ad configuration name. Defaults to “”.

  • media_tailor_playback_configurations (MediaTailorPlaybackConfigurationsList) –

    List of integration configurations with MediaTailor resources. The first item in the list is the default playback configuration used for the ad configuration. To select a different configuration per viewing session, see Generate and Sign IVS Playback Tokens.

  • post_roll_configuration (Optional[PostRollConfiguration], default: None ) –

    Configuration for the post-roll ad break to use for this ad configuration. Default: disabled (enabled set to false, durationSeconds set to 15).

  • tags (Optional[Tags], default: None ) –

    Array of 1-50 maps, each of the form string:string (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented there.

Raises:

Source code in docs_src/capo_ivs/_services/ivs.py
def create_ad_configuration(
    self,
    media_tailor_playback_configurations: "capo_ivs.types.media_tailor_playback_configurations_list.MediaTailorPlaybackConfigurationsList",
    *,
    config_overrides: Optional[ivsClientConfig] = None,
    name: Optional[
        "capo_ivs.types.ad_configuration_name.AdConfigurationName"
    ] = None,
    post_roll_configuration: Optional[
        "capo_ivs.types.post_roll_configuration.PostRollConfiguration"
    ] = None,
    tags: Optional["capo_ivs.types.tags.Tags"] = None,
) -> (
    "capo_ivs.types.create_ad_configuration_response.CreateAdConfigurationResponse"
):
    """<p>Creates a new ad configuration to be used for server-side ad insertion.</p>

    Args:
        name: <p>Ad configuration name. Defaults to “”.</p>
        media_tailor_playback_configurations: <p>List of integration configurations with MediaTailor resources. The first item in the list is the default playback configuration used for the ad configuration. To select a different configuration per viewing session, see <a href="https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/private-channels-generate-tokens.html">Generate and Sign IVS Playback Tokens</a>.</p>
        post_roll_configuration: <p>Configuration for the post-roll ad break to use for this ad configuration. Default: disabled (<code>enabled</code> set to false, <code>durationSeconds</code> set to 15).</p>
        tags: <p>Array of 1-50 maps, each of the form <code>string:string (key:value)</code>. See <a href="https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html">Best practices and strategies</a> in <i>Tagging Amazon Web Services Resources and Tag Editor</i> for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented there.</p>

    Raises:
        capo_ivs.errors.access_denied_exception.AccessDeniedException: <p>User does not have sufficient access to perform this action.</p>
        capo_ivs.errors.conflict_exception.ConflictException: <p>Updating or deleting a resource can cause an inconsistent state.</p>
        capo_ivs.errors.internal_server_exception.InternalServerException: <p>Unexpected error during processing of request.</p>
        capo_ivs.errors.pending_verification.PendingVerification: <p>Your account is pending verification.</p>
        capo_ivs.errors.resource_not_found_exception.ResourceNotFoundException: <p>Request references a resource which does not exist.</p>
        capo_ivs.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Request would cause a service quota to be exceeded.</p>
        capo_ivs.errors.throttling_exception.ThrottlingException: <p>Request was denied due to request throttling.</p>
        capo_ivs.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_ivs.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_ivs.types.create_ad_configuration_request.CreateAdConfigurationRequest]",
    ) -> OperationResponse[
        "capo_ivs.types.create_ad_configuration_response.CreateAdConfigurationResponse"
    ]:
        import capo_ivs._operations.amazon_interactive_video_service.create_ad_configuration

        output, http_response = (
            capo_ivs._operations.amazon_interactive_video_service.create_ad_configuration.create_ad_configuration(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateAdConfiguration")
    )
    input_: capo_ivs.types.create_ad_configuration_request.CreateAdConfigurationRequest = {
        "media_tailor_playback_configurations": media_tailor_playback_configurations
    }
    if name is not None:
        input_["name"] = name
    if post_roll_configuration is not None:
        input_["post_roll_configuration"] = post_roll_configuration
    if tags is not None:
        input_["tags"] = tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output