Skip to content

update_link_module_flow async

update_link_module_flow(
    client_token: str,
    gateway_id: GatewayId,
    link_id: LinkId,
    modules: ModuleConfigurationList,
    *,
    config_overrides: Optional[AsyncRTBFabricClientConfig] = None,
) -> UpdateLinkModuleFlowResponse

Updates a link module flow.

Parameters:

  • client_token (str) –

    Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

    If you don't provide this value, then Amazon Web Services generates a random one for you.

    If you retry the operation with the same clientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

  • gateway_id (GatewayId) –

    The unique identifier of the gateway.

  • link_id (LinkId) –

    The unique identifier of the link.

  • modules (ModuleConfigurationList) –

    The configuration of a module.

Raises:

  • AccessDeniedException –

    The request could not be completed because you do not have sufficient access to perform this action.

  • ConflictException –

    The request could not be completed because of a conflict in the current state of the resource.

  • InternalServerException –

    The request could not be completed because of an internal server error. Try your call again.

  • ResourceNotFoundException –

    The request could not be completed because the resource does not exist.

  • ServiceQuotaExceededException –

    The request could not be completed because you exceeded a service quota.

  • ThrottlingException –

    The request was denied due to request throttling.

  • ValidationException –

    The request could not be completed because it fails satisfy the constraints specified by the service.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Examples:

Update link module flow Update link module flow for link

>>> await client.update_link_module_flow(gateway_id='rtb-gw-12345678', link_id='link-87654321', client_token='randomClientToken', modules=[{'name': 'noBidModule', 'version': '1dot0dot0', 'dependsOn': [], 'moduleParameters': {'noBid': {'reason': 'test', 'reasonCode': 1, 'passThroughPercentage': 50.0}}}])
Source code in docs_src/capo_rtbfabric/_services/async_rtb_fabric.py
async def update_link_module_flow(
    self,
    client_token: str,
    gateway_id: "capo_rtbfabric.types.gateway_id.GatewayId",
    link_id: "capo_rtbfabric.types.link_id.LinkId",
    modules: "capo_rtbfabric.types.module_configuration_list.ModuleConfigurationList",
    *,
    config_overrides: Optional[AsyncRTBFabricClientConfig] = None,
) -> "capo_rtbfabric.types.update_link_module_flow_response.UpdateLinkModuleFlowResponse":
    """<p>Updates a link module flow.</p>

    Args:
        client_token: <p>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p> <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p> <p>If you retry the operation with the same <code>clientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
        gateway_id: <p>The unique identifier of the gateway.</p>
        link_id: <p>The unique identifier of the link.</p>
        modules: <p>The configuration of a module.</p>

    Raises:
        capo_rtbfabric.errors.access_denied_exception.AccessDeniedException: <p>The request could not be completed because you do not have sufficient access to perform this action.</p>
        capo_rtbfabric.errors.conflict_exception.ConflictException: <p>The request could not be completed because of a conflict in the current state of the resource.</p>
        capo_rtbfabric.errors.internal_server_exception.InternalServerException: <p>The request could not be completed because of an internal server error. Try your call again.</p>
        capo_rtbfabric.errors.resource_not_found_exception.ResourceNotFoundException: <p>The request could not be completed because the resource does not exist.</p>
        capo_rtbfabric.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request could not be completed because you exceeded a service quota.</p>
        capo_rtbfabric.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_rtbfabric.errors.validation_exception.ValidationException: <p>The request could not be completed because it fails satisfy the constraints specified by the service.</p>
        capo_rtbfabric.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Update link module flow
        Update link module flow for link

        >>> await client.update_link_module_flow(gateway_id='rtb-gw-12345678', link_id='link-87654321', client_token='randomClientToken', modules=[{'name': 'noBidModule', 'version': '1dot0dot0', 'dependsOn': [], 'moduleParameters': {'noBid': {'reason': 'test', 'reasonCode': 1, 'passThroughPercentage': 50.0}}}])
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_rtbfabric.types.update_link_module_flow_request.UpdateLinkModuleFlowRequest]",
    ) -> AsyncOperationResponse[
        "capo_rtbfabric.types.update_link_module_flow_response.UpdateLinkModuleFlowResponse"
    ]:
        import capo_rtbfabric._operations.rtb_fabric.update_link_module_flow

        (
            output,
            http_response,
        ) = await capo_rtbfabric._operations.rtb_fabric.update_link_module_flow.async_update_link_module_flow(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateLinkModuleFlow")
    )
    input_: capo_rtbfabric.types.update_link_module_flow_request.UpdateLinkModuleFlowRequest = {
        "client_token": client_token,
        "gateway_id": gateway_id,
        "link_id": link_id,
        "modules": modules,
    }

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