Skip to content

update_responder_gateway

update_responder_gateway(
    port: int,
    protocol: Protocol,
    client_token: str,
    gateway_id: GatewayId,
    *,
    config_overrides: Optional[RTBFabricClientConfig] = None,
    domain_name: Optional[DomainName] = None,
    listener_config: Optional[ListenerConfig] = None,
    trust_store_configuration: Optional[TrustStoreConfiguration] = None,
    managed_endpoint_configuration: Optional[ManagedEndpointConfiguration] = None,
    description: Optional[str] = None,
    client_routing_policy: Optional[ClientRoutingPolicy] = None,
) -> UpdateResponderGatewayResponse

Updates the description, Auto Scaling group managed endpoint configuration, trust store configuration, and client routing policy of a responder gateway. This operation also updates the protocols list in the listener configuration.

You cannot change the domainName, port, and protocol values that you set when you create a responder gateway. To change any of them, delete the gateway and create a new one.

Parameters:

  • domain_name (Optional[DomainName], default: None ) –

    Domain name for the responder gateway. This operation does not change the domain name of an existing gateway. To use a different domain name, delete the gateway and create a new one.

  • port (int) –

    Networking port to use. This operation does not change the port of an existing gateway. To use a different port, delete the gateway and create a new one.

  • protocol (Protocol) –

    Networking protocol to use. This operation does not change the protocol of an existing gateway. To use a different protocol, delete the gateway and create a new one.

  • listener_config (Optional[ListenerConfig], default: None ) –

    The listener configuration for the responder gateway.

  • trust_store_configuration (Optional[TrustStoreConfiguration], default: None ) –

    The configuration of the trust store.

  • managed_endpoint_configuration (Optional[ManagedEndpointConfiguration], default: None ) –

    The configuration for the managed endpoint.

  • 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.

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

    An optional description for the responder gateway.

  • client_routing_policy (Optional[ClientRoutingPolicy], default: None ) –

    The client routing policy of the gateway. This policy controls which Availability Zones RTB Fabric uses to reach the gateway for the requester gateways that send traffic to it. Valid values are the following:

    • AVAILABILITY_ZONE_AFFINITY: RTB Fabric routes each requester's traffic to gateway capacity in the requester's own Availability Zone when the gateway has capacity available there. Otherwise, RTB Fabric routes the traffic to gateway capacity in the other Availability Zones of the gateway.

    • ANY_AVAILABILITY_ZONE: RTB Fabric routes each requester's traffic to gateway capacity in every Availability Zone that the subnets of the gateway span. The Availability Zone that the requester is in does not change this.

    If you don't specify a value, the gateway keeps its current client routing policy. Changing the policy sets the gateway status to PENDING_UPDATE until the change is complete. RTB Fabric does not support partial Availability Zone affinity, so PARTIAL_AVAILABILITY_ZONE_AFFINITY is not a valid value. For more information, see Configuring Availability Zone affinity in the Amazon Web Services RTB Fabric User Guide.

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.

  • 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 responder gateway Update responder gateway

>>> client.update_responder_gateway(gateway_id='rtb-gw-12345678', description='Updated responder gateway description', port=8080, protocol='HTTP', client_token='12345678-1234-1234-1234-123456789012')
Source code in docs_src/capo_rtbfabric/_services/rtb_fabric.py
def update_responder_gateway(
    self,
    port: int,
    protocol: "capo_rtbfabric.types.protocol.Protocol",
    client_token: str,
    gateway_id: "capo_rtbfabric.types.gateway_id.GatewayId",
    *,
    config_overrides: Optional[RTBFabricClientConfig] = None,
    domain_name: Optional["capo_rtbfabric.types.domain_name.DomainName"] = None,
    listener_config: Optional[
        "capo_rtbfabric.types.listener_config.ListenerConfig"
    ] = None,
    trust_store_configuration: Optional[
        "capo_rtbfabric.types.trust_store_configuration.TrustStoreConfiguration"
    ] = None,
    managed_endpoint_configuration: Optional[
        "capo_rtbfabric.types.managed_endpoint_configuration.ManagedEndpointConfiguration"
    ] = None,
    description: Optional[str] = None,
    client_routing_policy: Optional[
        "capo_rtbfabric.types.client_routing_policy.ClientRoutingPolicy"
    ] = None,
) -> "capo_rtbfabric.types.update_responder_gateway_response.UpdateResponderGatewayResponse":
    """<p>Updates the description, Auto Scaling group managed endpoint configuration, trust store configuration, and client routing policy of a responder gateway. This operation also updates the <code>protocols</code> list in the listener configuration.</p> <p>You cannot change the <code>domainName</code>, <code>port</code>, and <code>protocol</code> values that you set when you create a responder gateway. To change any of them, delete the gateway and create a new one.</p>

    Args:
        domain_name: <p>Domain name for the responder gateway. This operation does not change the domain name of an existing gateway. To use a different domain name, delete the gateway and create a new one.</p>
        port: <p>Networking port to use. This operation does not change the port of an existing gateway. To use a different port, delete the gateway and create a new one.</p>
        protocol: <p>Networking protocol to use. This operation does not change the protocol of an existing gateway. To use a different protocol, delete the gateway and create a new one.</p>
        listener_config: <p>The listener configuration for the responder gateway.</p>
        trust_store_configuration: <p>The configuration of the trust store.</p>
        managed_endpoint_configuration: <p>The configuration for the managed endpoint.</p>
        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>
        description: <p>An optional description for the responder gateway.</p>
        client_routing_policy: <p>The client routing policy of the gateway. This policy controls which Availability Zones RTB Fabric uses to reach the gateway for the requester gateways that send traffic to it. Valid values are the following:</p> <ul> <li> <p> <code>AVAILABILITY_ZONE_AFFINITY</code>: RTB Fabric routes each requester's traffic to gateway capacity in the requester's own Availability Zone when the gateway has capacity available there. Otherwise, RTB Fabric routes the traffic to gateway capacity in the other Availability Zones of the gateway.</p> </li> <li> <p> <code>ANY_AVAILABILITY_ZONE</code>: RTB Fabric routes each requester's traffic to gateway capacity in every Availability Zone that the subnets of the gateway span. The Availability Zone that the requester is in does not change this.</p> </li> </ul> <p>If you don't specify a value, the gateway keeps its current client routing policy. Changing the policy sets the gateway status to <code>PENDING_UPDATE</code> until the change is complete. RTB Fabric does not support partial Availability Zone affinity, so <code>PARTIAL_AVAILABILITY_ZONE_AFFINITY</code> is not a valid value. For more information, see <a href="https://docs.aws.amazon.com/rtb-fabric/latest/userguide/working-with-responder-gateways.html#configuring-availability-zone-affinity">Configuring Availability Zone affinity</a> in the <i>Amazon Web Services RTB Fabric User Guide</i>.</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.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 responder gateway
        Update responder gateway

        >>> client.update_responder_gateway(gateway_id='rtb-gw-12345678', description='Updated responder gateway description', port=8080, protocol='HTTP', client_token='12345678-1234-1234-1234-123456789012')
    """

    def _handler(
        req: "OperationRequest[capo_rtbfabric.types.update_responder_gateway_request.UpdateResponderGatewayRequest]",
    ) -> OperationResponse[
        "capo_rtbfabric.types.update_responder_gateway_response.UpdateResponderGatewayResponse"
    ]:
        import capo_rtbfabric._operations.rtb_fabric.update_responder_gateway

        output, http_response = (
            capo_rtbfabric._operations.rtb_fabric.update_responder_gateway.update_responder_gateway(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_rtbfabric.types.update_responder_gateway_request.UpdateResponderGatewayRequest",
    ) -> dict[str, Any]:
        import capo_rtbfabric.types.update_responder_gateway_request

        return (
            capo_rtbfabric.types.update_responder_gateway_request.redact_sensitive(
                input_
            )
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UpdateResponderGateway", redact_input=_redact_input),
    )
    input_: capo_rtbfabric.types.update_responder_gateway_request.UpdateResponderGatewayRequest = {
        "port": port,
        "protocol": protocol,
        "client_token": client_token,
        "gateway_id": gateway_id,
    }
    if domain_name is not None:
        input_["domain_name"] = domain_name
    if listener_config is not None:
        input_["listener_config"] = listener_config
    if trust_store_configuration is not None:
        input_["trust_store_configuration"] = trust_store_configuration
    if managed_endpoint_configuration is not None:
        input_["managed_endpoint_configuration"] = managed_endpoint_configuration
    if description is not None:
        input_["description"] = description
    if client_routing_policy is not None:
        input_["client_routing_policy"] = client_routing_policy

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