Skip to content

update_connector_registration async

update_connector_registration(
    connector_label: ConnectorLabel,
    *,
    config_overrides: Optional[AsyncAppflowClientConfig] = None,
    description: Optional[Description] = None,
    connector_provisioning_config: Optional[ConnectorProvisioningConfig] = None,
    client_token: Optional[ClientToken] = None,
) -> UpdateConnectorRegistrationResponse

Updates a custom connector that you've previously registered. This operation updates the connector with one of the following:

  • The latest version of the AWS Lambda function that's assigned to the connector

  • A new AWS Lambda function that you specify

Parameters:

  • connector_label (ConnectorLabel) –

    The name of the connector. The name is unique for each connector registration in your AWS account.

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

    A description about the update that you're applying to the connector.

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

    The clientToken parameter is an idempotency token. It ensures that your UpdateConnectorRegistration request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

    If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

    If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken, Amazon AppFlow considers it a new call to UpdateConnectorRegistration. The token is active for 8 hours.

Raises:

Source code in docs_src/capo_appflow/_services/async_appflow.py
async def update_connector_registration(
    self,
    connector_label: "capo_appflow.types.connector_label.ConnectorLabel",
    *,
    config_overrides: Optional[AsyncAppflowClientConfig] = None,
    description: Optional["capo_appflow.types.description.Description"] = None,
    connector_provisioning_config: Optional[
        "capo_appflow.types.connector_provisioning_config.ConnectorProvisioningConfig"
    ] = None,
    client_token: Optional["capo_appflow.types.client_token.ClientToken"] = None,
) -> "capo_appflow.types.update_connector_registration_response.UpdateConnectorRegistrationResponse":
    """<p>Updates a custom connector that you've previously registered. This operation updates the connector with one of the following:</p> <ul> <li> <p>The latest version of the AWS Lambda function that's assigned to the connector</p> </li> <li> <p>A new AWS Lambda function that you specify</p> </li> </ul>

    Args:
        connector_label: <p>The name of the connector. The name is unique for each connector registration in your AWS account.</p>
        description: <p>A description about the update that you're applying to the connector.</p>
        client_token: <p>The <code>clientToken</code> parameter is an idempotency token. It ensures that your <code>UpdateConnectorRegistration</code> request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same <code>clientToken</code> parameter value.</p> <p>If you omit a <code>clientToken</code> value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.</p> <p>If you specify input parameters that differ from your first request, an error occurs. If you use a different value for <code>clientToken</code>, Amazon AppFlow considers it a new call to <code>UpdateConnectorRegistration</code>. The token is active for 8 hours.</p>

    Raises:
        capo_appflow.errors.access_denied_exception.AccessDeniedException: <p>AppFlow/Requester has invalid or missing permissions.</p>
        capo_appflow.errors.conflict_exception.ConflictException: <p> There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again. </p>
        capo_appflow.errors.connector_authentication_exception.ConnectorAuthenticationException: <p> An error occurred when authenticating with the connector endpoint. </p>
        capo_appflow.errors.connector_server_exception.ConnectorServerException: <p> An error occurred when retrieving data from the connector endpoint. </p>
        capo_appflow.errors.internal_server_exception.InternalServerException: <p> An internal service error occurred during the processing of your request. Try again later. </p>
        capo_appflow.errors.resource_not_found_exception.ResourceNotFoundException: <p> The resource specified in the request (such as the source or destination connector profile) is not found. </p>
        capo_appflow.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The request would cause a service quota (such as the number of flows) to be exceeded. </p>
        capo_appflow.errors.throttling_exception.ThrottlingException: <p>API calls have exceeded the maximum allowed API request rate per account and per Region. </p>
        capo_appflow.errors.validation_exception.ValidationException: <p> The request has invalid or missing parameters. </p>
        capo_appflow.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_appflow.types.update_connector_registration_request.UpdateConnectorRegistrationRequest]",
    ) -> AsyncOperationResponse[
        "capo_appflow.types.update_connector_registration_response.UpdateConnectorRegistrationResponse"
    ]:
        import capo_appflow._operations.sandstone_configuration_service_lambda.update_connector_registration

        (
            output,
            http_response,
        ) = await capo_appflow._operations.sandstone_configuration_service_lambda.update_connector_registration.async_update_connector_registration(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateConnectorRegistration")
    )
    input_: capo_appflow.types.update_connector_registration_request.UpdateConnectorRegistrationRequest = {
        "connector_label": connector_label
    }
    if description is not None:
        input_["description"] = description
    if connector_provisioning_config is not None:
        input_["connector_provisioning_config"] = connector_provisioning_config
    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