Skip to content

register_connection_type async

register_connection_type(
    connection_type: NameString,
    integration_type: IntegrationType,
    connection_properties: ConnectionPropertiesConfiguration,
    connector_authentication_configuration: ConnectorAuthenticationConfiguration,
    rest_configuration: RestConfiguration,
    *,
    config_overrides: Optional[AsyncGlueClientConfig] = None,
    description: Optional[Description] = None,
    tags: Optional[TagsMap] = None,
) -> RegisterConnectionTypeResponse

Registers a custom connection type in Glue based on the configuration provided. This operation enables customers to configure custom connectors for any data source with REST-based APIs, eliminating the need for building custom Lambda connectors.

The registered connection type stores details about how requests and responses are interpreted by REST sources, including connection properties, authentication configuration, and REST configuration with entity definitions. Once registered, customers can create connections using this connection type and work with them the same way as natively supported Glue connectors.

Supports multiple authentication types including Basic, OAuth2 (Client Credentials, JWT Bearer, Authorization Code), and Custom Auth configurations.

Parameters:

  • connection_type (NameString) –

    The name of the connection type. Must be between 1 and 255 characters and must be prefixed with "REST-" to indicate it is a REST-based connector.

  • integration_type (IntegrationType) –

    The integration type for the connection. Currently only "REST" protocol is supported.

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

    A description of the connection type. Can be up to 2048 characters and provides details about the purpose and functionality of the connection type.

  • connection_properties (ConnectionPropertiesConfiguration) –

    Defines the base URL and additional request parameters needed during connection creation for this connection type.

  • connector_authentication_configuration (ConnectorAuthenticationConfiguration) –

    Defines the supported authentication types and required properties for this connection type, including Basic, OAuth2, and Custom authentication methods.

  • rest_configuration (RestConfiguration) –

    Defines the HTTP request and response configuration, validation endpoint, and entity configurations for REST API interactions.

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

    The tags you assign to the connection type.

Raises:

Source code in docs_src/capo_glue/_services/async_glue.py
async def register_connection_type(
    self,
    connection_type: "capo_glue.types.name_string.NameString",
    integration_type: "capo_glue.types.integration_type.IntegrationType",
    connection_properties: "capo_glue.types.connection_properties_configuration.ConnectionPropertiesConfiguration",
    connector_authentication_configuration: "capo_glue.types.connector_authentication_configuration.ConnectorAuthenticationConfiguration",
    rest_configuration: "capo_glue.types.rest_configuration.RestConfiguration",
    *,
    config_overrides: Optional[AsyncGlueClientConfig] = None,
    description: Optional["capo_glue.types.description.Description"] = None,
    tags: Optional["capo_glue.types.tags_map.TagsMap"] = None,
) -> "capo_glue.types.register_connection_type_response.RegisterConnectionTypeResponse":
    """<p>Registers a custom connection type in Glue based on the configuration provided. This operation enables customers to configure custom connectors for any data source with REST-based APIs, eliminating the need for building custom Lambda connectors.</p> <p>The registered connection type stores details about how requests and responses are interpreted by REST sources, including connection properties, authentication configuration, and REST configuration with entity definitions. Once registered, customers can create connections using this connection type and work with them the same way as natively supported Glue connectors.</p> <p>Supports multiple authentication types including Basic, OAuth2 (Client Credentials, JWT Bearer, Authorization Code), and Custom Auth configurations.</p>

    Args:
        connection_type: <p>The name of the connection type. Must be between 1 and 255 characters and must be prefixed with "REST-" to indicate it is a REST-based connector.</p>
        integration_type: <p>The integration type for the connection. Currently only "REST" protocol is supported.</p>
        description: <p>A description of the connection type. Can be up to 2048 characters and provides details about the purpose and functionality of the connection type.</p>
        connection_properties: <p>Defines the base URL and additional request parameters needed during connection creation for this connection type.</p>
        connector_authentication_configuration: <p>Defines the supported authentication types and required properties for this connection type, including Basic, OAuth2, and Custom authentication methods.</p>
        rest_configuration: <p>Defines the HTTP request and response configuration, validation endpoint, and entity configurations for REST API interactions.</p>
        tags: <p>The tags you assign to the connection type.</p>

    Raises:
        capo_glue.errors.access_denied_exception.AccessDeniedException: <p>Access to a resource was denied.</p>
        capo_glue.errors.internal_service_exception.InternalServiceException: <p>An internal service error occurred.</p>
        capo_glue.errors.invalid_input_exception.InvalidInputException: <p>The input provided was not valid.</p>
        capo_glue.errors.operation_timeout_exception.OperationTimeoutException: <p>The operation timed out.</p>
        capo_glue.errors.resource_number_limit_exceeded_exception.ResourceNumberLimitExceededException: <p>A resource numerical limit was exceeded.</p>
        capo_glue.errors.validation_exception.ValidationException: <p>A value could not be validated.</p>
        capo_glue.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_glue.types.register_connection_type_request.RegisterConnectionTypeRequest]",
    ) -> AsyncOperationResponse[
        "capo_glue.types.register_connection_type_response.RegisterConnectionTypeResponse"
    ]:
        import capo_glue._operations.aws_glue.register_connection_type

        (
            output,
            http_response,
        ) = await capo_glue._operations.aws_glue.register_connection_type.async_register_connection_type(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("RegisterConnectionType")
    )
    input_: capo_glue.types.register_connection_type_request.RegisterConnectionTypeRequest = {
        "connection_type": connection_type,
        "integration_type": integration_type,
        "connection_properties": connection_properties,
        "connector_authentication_configuration": connector_authentication_configuration,
        "rest_configuration": rest_configuration,
    }
    if description is not None:
        input_["description"] = description
    if tags is not None:
        input_["tags"] = tags

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