Skip to content

update_relay async

update_relay(
    relay_id: RelayId,
    *,
    config_overrides: Optional[AsyncMailManagerClientConfig] = None,
    relay_name: Optional[RelayName] = None,
    server_name: Optional[RelayServerName] = None,
    server_port: Optional[RelayServerPort] = None,
    authentication: Optional[RelayAuthentication] = None,
) -> UpdateRelayResponse

Updates the attributes of an existing relay resource.

Parameters:

  • relay_id (RelayId) –

    The unique relay identifier.

  • relay_name (Optional[RelayName], default: None ) –

    The name of the relay resource.

  • server_name (Optional[RelayServerName], default: None ) –

    The destination relay server address.

  • server_port (Optional[RelayServerPort], default: None ) –

    The destination relay server port.

  • authentication (Optional[RelayAuthentication], default: None ) –

    Authentication for the relay destination server—specify the secretARN where the SMTP credentials are stored.

Raises:

Source code in docs_src/capo_mailmanager/_services/async_mail_manager.py
async def update_relay(
    self,
    relay_id: "capo_mailmanager.types.relay_id.RelayId",
    *,
    config_overrides: Optional[AsyncMailManagerClientConfig] = None,
    relay_name: Optional["capo_mailmanager.types.relay_name.RelayName"] = None,
    server_name: Optional[
        "capo_mailmanager.types.relay_server_name.RelayServerName"
    ] = None,
    server_port: Optional[
        "capo_mailmanager.types.relay_server_port.RelayServerPort"
    ] = None,
    authentication: Optional[
        "capo_mailmanager.types.relay_authentication.RelayAuthentication"
    ] = None,
) -> "capo_mailmanager.types.update_relay_response.UpdateRelayResponse":
    """<p>Updates the attributes of an existing relay resource.</p>

    Args:
        relay_id: <p>The unique relay identifier.</p>
        relay_name: <p>The name of the relay resource.</p>
        server_name: <p>The destination relay server address.</p>
        server_port: <p>The destination relay server port.</p>
        authentication: <p>Authentication for the relay destination server—specify the secretARN where the SMTP credentials are stored.</p>

    Raises:
        capo_mailmanager.errors.conflict_exception.ConflictException: <p>The request configuration has conflicts. For details, see the accompanying error message.</p>
        capo_mailmanager.errors.resource_not_found_exception.ResourceNotFoundException: <p>Occurs when a requested resource is not found.</p>
        capo_mailmanager.errors.validation_exception.ValidationException: <p>The request validation has failed. For details, see the accompanying error message.</p>
        capo_mailmanager.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_mailmanager.types.update_relay_request.UpdateRelayRequest]",
    ) -> AsyncOperationResponse[
        "capo_mailmanager.types.update_relay_response.UpdateRelayResponse"
    ]:
        import capo_mailmanager._operations.mail_manager_svc.update_relay

        (
            output,
            http_response,
        ) = await capo_mailmanager._operations.mail_manager_svc.update_relay.async_update_relay(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateRelay")
    )
    input_: capo_mailmanager.types.update_relay_request.UpdateRelayRequest = {
        "relay_id": relay_id
    }
    if relay_name is not None:
        input_["relay_name"] = relay_name
    if server_name is not None:
        input_["server_name"] = server_name
    if server_port is not None:
        input_["server_port"] = server_port
    if authentication is not None:
        input_["authentication"] = authentication

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