Skip to content

create_playback_restriction_policy

create_playback_restriction_policy(
    *,
    config_overrides: Optional[ivsClientConfig] = None,
    allowed_countries: Optional[PlaybackRestrictionPolicyAllowedCountryList] = None,
    allowed_origins: Optional[PlaybackRestrictionPolicyAllowedOriginList] = None,
    enable_strict_origin_enforcement: Optional[
        PlaybackRestrictionPolicyEnableStrictOriginEnforcement
    ] = None,
    name: Optional[PlaybackRestrictionPolicyName] = None,
    tags: Optional[Tags] = None,
) -> CreatePlaybackRestrictionPolicyResponse

Creates a new playback restriction policy, for constraining playback by countries and/or origins.

Parameters:

Raises:

Source code in docs_src/capo_ivs/_services/ivs.py
def create_playback_restriction_policy(
    self,
    *,
    config_overrides: Optional[ivsClientConfig] = None,
    allowed_countries: Optional[
        "capo_ivs.types.playback_restriction_policy_allowed_country_list.PlaybackRestrictionPolicyAllowedCountryList"
    ] = None,
    allowed_origins: Optional[
        "capo_ivs.types.playback_restriction_policy_allowed_origin_list.PlaybackRestrictionPolicyAllowedOriginList"
    ] = None,
    enable_strict_origin_enforcement: Optional[
        "capo_ivs.types.playback_restriction_policy_enable_strict_origin_enforcement.PlaybackRestrictionPolicyEnableStrictOriginEnforcement"
    ] = None,
    name: Optional[
        "capo_ivs.types.playback_restriction_policy_name.PlaybackRestrictionPolicyName"
    ] = None,
    tags: Optional["capo_ivs.types.tags.Tags"] = None,
) -> "capo_ivs.types.create_playback_restriction_policy_response.CreatePlaybackRestrictionPolicyResponse":
    """<p>Creates a new playback restriction policy, for constraining playback by countries and/or origins.</p>

    Args:
        allowed_countries: <p>A list of country codes that control geoblocking restriction. Allowed values are the officially assigned <a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2</a> codes. Default: All countries (an empty array).</p>
        allowed_origins: <p>A list of origin sites that control CORS restriction. Allowed values are the same as valid values of the Origin header defined at <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin">https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin</a>. Default: All origins (an empty array).</p>
        enable_strict_origin_enforcement: <p>Whether channel playback is constrained by origin site. Default: <code>false</code>.</p>
        name: <p>Playback-restriction-policy name. The value does not need to be unique.</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.pending_verification.PendingVerification: <p>Your account is pending verification.</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_playback_restriction_policy_request.CreatePlaybackRestrictionPolicyRequest]",
    ) -> OperationResponse[
        "capo_ivs.types.create_playback_restriction_policy_response.CreatePlaybackRestrictionPolicyResponse"
    ]:
        import capo_ivs._operations.amazon_interactive_video_service.create_playback_restriction_policy

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreatePlaybackRestrictionPolicy")
    )
    input_: capo_ivs.types.create_playback_restriction_policy_request.CreatePlaybackRestrictionPolicyRequest = {}
    if allowed_countries is not None:
        input_["allowed_countries"] = allowed_countries
    if allowed_origins is not None:
        input_["allowed_origins"] = allowed_origins
    if enable_strict_origin_enforcement is not None:
        input_["enable_strict_origin_enforcement"] = (
            enable_strict_origin_enforcement
        )
    if name is not None:
        input_["name"] = name
    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