Skip to content

create_router_output async

create_router_output(
    name: str,
    configuration: RouterOutputConfiguration,
    maximum_bitrate: int,
    routing_scope: RoutingScope,
    tier: RouterOutputTier,
    *,
    config_overrides: Optional[AsyncMediaConnectClientConfig] = None,
    region_name: Optional[str] = None,
    availability_zone: Optional[str] = None,
    maintenance_configuration: Optional[MaintenanceConfiguration] = None,
    tags: Optional[__mapOfString] = None,
    fabric_configuration: Optional[FabricConfiguration] = None,
    client_token: Optional[ClientToken] = None,
) -> CreateRouterOutputResponse

Creates a new router output in AWS Elemental MediaConnect.

Parameters:

  • name (str) –

    The name of the router output.

  • configuration (RouterOutputConfiguration) –

    The configuration settings for the router output.

  • maximum_bitrate (int) –

    The maximum bitrate for the router output.

  • routing_scope (RoutingScope) –

    Specifies whether the router output can take inputs that are in different Regions. REGIONAL (default) - can only take inputs from same Region. GLOBAL - can take inputs from any Region.

  • tier (RouterOutputTier) –

    The tier level for the router output. The tier sets the maximum bitrate, in Mbps, for the router output. Valid values include the following:

    • OUTPUT_20 – 20 Mbps

    • OUTPUT_50 – 50 Mbps

    • OUTPUT_100 – 100 Mbps

    • OUTPUT_250 – 250 Mbps

    • OUTPUT_500 – 500 Mbps

    The 250 Mbps and 500 Mbps tiers are high-bitrate tiers that support TR-07 (JPEG XS) workflows.

  • region_name (Optional[str], default: None ) –

    The Amazon Web Services Region for the router output. Defaults to the current region if not specified.

  • availability_zone (Optional[str], default: None ) –

    The Availability Zone where you want to create the router output. This must be a valid Availability Zone for the region specified by regionName, or the current region if no regionName is provided.

  • maintenance_configuration (Optional[MaintenanceConfiguration], default: None ) –

    The maintenance configuration settings for the router output, including preferred maintenance windows and schedules.

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

    Key-value pairs that can be used to tag this router output.

  • fabric_configuration (Optional[FabricConfiguration], default: None ) –

    The fabric configuration settings for the router output.

  • client_token (Optional[ClientToken], default: None ) –

    A unique identifier for the request to ensure idempotency.

Raises:

Source code in docs_src/capo_mediaconnect/_services/async_media_connect.py
async def create_router_output(
    self,
    name: str,
    configuration: "capo_mediaconnect.types.router_output_configuration.RouterOutputConfiguration",
    maximum_bitrate: int,
    routing_scope: "capo_mediaconnect.types.routing_scope.RoutingScope",
    tier: "capo_mediaconnect.types.router_output_tier.RouterOutputTier",
    *,
    config_overrides: Optional[AsyncMediaConnectClientConfig] = None,
    region_name: Optional[str] = None,
    availability_zone: Optional[str] = None,
    maintenance_configuration: Optional[
        "capo_mediaconnect.types.maintenance_configuration.MaintenanceConfiguration"
    ] = None,
    tags: Optional["capo_mediaconnect.types.__map_of_string.__mapOfString"] = None,
    fabric_configuration: Optional[
        "capo_mediaconnect.types.fabric_configuration.FabricConfiguration"
    ] = None,
    client_token: Optional[
        "capo_mediaconnect.types.client_token.ClientToken"
    ] = None,
) -> "capo_mediaconnect.types.create_router_output_response.CreateRouterOutputResponse":
    """<p>Creates a new router output in AWS Elemental MediaConnect.</p>

    Args:
        name: <p>The name of the router output.</p>
        configuration: <p>The configuration settings for the router output.</p>
        maximum_bitrate: <p>The maximum bitrate for the router output.</p>
        routing_scope: <p>Specifies whether the router output can take inputs that are in different Regions. REGIONAL (default) - can only take inputs from same Region. GLOBAL - can take inputs from any Region.</p>
        tier: <p>The tier level for the router output. The tier sets the maximum bitrate, in Mbps, for the router output. Valid values include the following:</p> <ul> <li> <p> <code>OUTPUT_20</code> – 20 Mbps</p> </li> <li> <p> <code>OUTPUT_50</code> – 50 Mbps</p> </li> <li> <p> <code>OUTPUT_100</code> – 100 Mbps</p> </li> <li> <p> <code>OUTPUT_250</code> – 250 Mbps</p> </li> <li> <p> <code>OUTPUT_500</code> – 500 Mbps</p> </li> </ul> <p>The 250 Mbps and 500 Mbps tiers are high-bitrate tiers that support TR-07 (JPEG XS) workflows.</p>
        region_name: <p>The Amazon Web Services Region for the router output. Defaults to the current region if not specified.</p>
        availability_zone: <p>The Availability Zone where you want to create the router output. This must be a valid Availability Zone for the region specified by <code>regionName</code>, or the current region if no <code>regionName</code> is provided. </p>
        maintenance_configuration: <p>The maintenance configuration settings for the router output, including preferred maintenance windows and schedules.</p>
        tags: <p>Key-value pairs that can be used to tag this router output.</p>
        fabric_configuration: <p>The fabric configuration settings for the router output.</p>
        client_token: <p>A unique identifier for the request to ensure idempotency.</p>

    Raises:
        capo_mediaconnect.errors.bad_request_exception.BadRequestException: <p>This exception is thrown if the request contains a semantic error. The precise meaning depends on the API, and is documented in the error message. </p>
        capo_mediaconnect.errors.conflict_exception.ConflictException: <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request. </p>
        capo_mediaconnect.errors.forbidden_exception.ForbiddenException: <p>You do not have sufficient access to perform this action. </p>
        capo_mediaconnect.errors.internal_server_error_exception.InternalServerErrorException: <p>The server encountered an internal error and is unable to complete the request. </p>
        capo_mediaconnect.errors.router_output_service_quota_exceeded_exception.RouterOutputServiceQuotaExceededException: <p>The request to create a new router output would exceed the service quotas (limits) set for the account. </p>
        capo_mediaconnect.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is currently unavailable or busy. </p>
        capo_mediaconnect.errors.too_many_requests_exception.TooManyRequestsException: <p>The request was denied due to request throttling. </p>
        capo_mediaconnect.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_mediaconnect.types.create_router_output_request.CreateRouterOutputRequest]",
    ) -> AsyncOperationResponse[
        "capo_mediaconnect.types.create_router_output_response.CreateRouterOutputResponse"
    ]:
        import capo_mediaconnect._operations.media_connect.create_router_output

        (
            output,
            http_response,
        ) = await capo_mediaconnect._operations.media_connect.create_router_output.async_create_router_output(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateRouterOutput")
    )
    input_: capo_mediaconnect.types.create_router_output_request.CreateRouterOutputRequest = {
        "name": name,
        "configuration": configuration,
        "maximum_bitrate": maximum_bitrate,
        "routing_scope": routing_scope,
        "tier": tier,
    }
    if region_name is not None:
        input_["region_name"] = region_name
    if availability_zone is not None:
        input_["availability_zone"] = availability_zone
    if maintenance_configuration is not None:
        input_["maintenance_configuration"] = maintenance_configuration
    if tags is not None:
        input_["tags"] = tags
    if fabric_configuration is not None:
        input_["fabric_configuration"] = fabric_configuration
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

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