Skip to content

Register Connection Type

glue_register_connection_type R Documentation

Registers a custom connection type in Glue based on the configuration provided

Description

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.

Usage

glue_register_connection_type(ConnectionType, IntegrationType,
  Description, ConnectionProperties, ConnectorAuthenticationConfiguration,
  RestConfiguration, Tags)

Arguments

ConnectionType

[required] 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.

IntegrationType

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

Description

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

ConnectionProperties

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

ConnectorAuthenticationConfiguration

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

RestConfiguration

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

Tags

The tags you assign to the connection type.

Value

A list with the following syntax:

list(
  ConnectionTypeArn = "string"
)

Request syntax

svc$register_connection_type(
  ConnectionType = "string",
  IntegrationType = "REST",
  Description = "string",
  ConnectionProperties = list(
    Url = list(
      Name = "string",
      KeyOverride = "string",
      Required = TRUE|FALSE,
      DefaultValue = "string",
      AllowedValues = list(
        "string"
      ),
      PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
      PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
    ),
    AdditionalRequestParameters = list(
      list(
        Name = "string",
        KeyOverride = "string",
        Required = TRUE|FALSE,
        DefaultValue = "string",
        AllowedValues = list(
          "string"
        ),
        PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
        PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
      )
    )
  ),
  ConnectorAuthenticationConfiguration = list(
    AuthenticationTypes = list(
      "BASIC"|"OAUTH2"|"CUSTOM"|"IAM"
    ),
    OAuth2Properties = list(
      OAuth2GrantType = "CLIENT_CREDENTIALS"|"JWT_BEARER"|"AUTHORIZATION_CODE",
      ClientCredentialsProperties = list(
        TokenUrl = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        RequestMethod = "GET"|"POST",
        ContentType = "APPLICATION_JSON"|"URL_ENCODED",
        ClientId = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        ClientSecret = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        Scope = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        TokenUrlParameters = list(
          list(
            Name = "string",
            KeyOverride = "string",
            Required = TRUE|FALSE,
            DefaultValue = "string",
            AllowedValues = list(
              "string"
            ),
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
          )
        )
      ),
      JWTBearerProperties = list(
        TokenUrl = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        RequestMethod = "GET"|"POST",
        ContentType = "APPLICATION_JSON"|"URL_ENCODED",
        JwtToken = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        TokenUrlParameters = list(
          list(
            Name = "string",
            KeyOverride = "string",
            Required = TRUE|FALSE,
            DefaultValue = "string",
            AllowedValues = list(
              "string"
            ),
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
          )
        )
      ),
      AuthorizationCodeProperties = list(
        AuthorizationCodeUrl = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        AuthorizationCode = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        RedirectUri = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        TokenUrl = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        RequestMethod = "GET"|"POST",
        ContentType = "APPLICATION_JSON"|"URL_ENCODED",
        ClientId = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        ClientSecret = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        Scope = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        Prompt = list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        ),
        TokenUrlParameters = list(
          list(
            Name = "string",
            KeyOverride = "string",
            Required = TRUE|FALSE,
            DefaultValue = "string",
            AllowedValues = list(
              "string"
            ),
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
          )
        )
      )
    ),
    BasicAuthenticationProperties = list(
      Username = list(
        Name = "string",
        KeyOverride = "string",
        Required = TRUE|FALSE,
        DefaultValue = "string",
        AllowedValues = list(
          "string"
        ),
        PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
        PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
      ),
      Password = list(
        Name = "string",
        KeyOverride = "string",
        Required = TRUE|FALSE,
        DefaultValue = "string",
        AllowedValues = list(
          "string"
        ),
        PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
        PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
      )
    ),
    CustomAuthenticationProperties = list(
      AuthenticationParameters = list(
        list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        )
      )
    )
  ),
  RestConfiguration = list(
    GlobalSourceConfiguration = list(
      RequestMethod = "GET"|"POST",
      RequestPath = "string",
      RequestParameters = list(
        list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        )
      ),
      ResponseConfiguration = list(
        ResultPath = "string",
        ErrorPath = "string"
      ),
      PaginationConfiguration = list(
        CursorConfiguration = list(
          NextPage = list(
            Key = "string",
            DefaultValue = "string",
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            Value = list(
              ContentPath = "string",
              HeaderKey = "string"
            )
          ),
          LimitParameter = list(
            Key = "string",
            DefaultValue = "string",
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            Value = list(
              ContentPath = "string",
              HeaderKey = "string"
            )
          )
        ),
        OffsetConfiguration = list(
          OffsetParameter = list(
            Key = "string",
            DefaultValue = "string",
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            Value = list(
              ContentPath = "string",
              HeaderKey = "string"
            )
          ),
          LimitParameter = list(
            Key = "string",
            DefaultValue = "string",
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            Value = list(
              ContentPath = "string",
              HeaderKey = "string"
            )
          )
        )
      )
    ),
    ValidationEndpointConfiguration = list(
      RequestMethod = "GET"|"POST",
      RequestPath = "string",
      RequestParameters = list(
        list(
          Name = "string",
          KeyOverride = "string",
          Required = TRUE|FALSE,
          DefaultValue = "string",
          AllowedValues = list(
            "string"
          ),
          PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
          PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
        )
      ),
      ResponseConfiguration = list(
        ResultPath = "string",
        ErrorPath = "string"
      ),
      PaginationConfiguration = list(
        CursorConfiguration = list(
          NextPage = list(
            Key = "string",
            DefaultValue = "string",
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            Value = list(
              ContentPath = "string",
              HeaderKey = "string"
            )
          ),
          LimitParameter = list(
            Key = "string",
            DefaultValue = "string",
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            Value = list(
              ContentPath = "string",
              HeaderKey = "string"
            )
          )
        ),
        OffsetConfiguration = list(
          OffsetParameter = list(
            Key = "string",
            DefaultValue = "string",
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            Value = list(
              ContentPath = "string",
              HeaderKey = "string"
            )
          ),
          LimitParameter = list(
            Key = "string",
            DefaultValue = "string",
            PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
            Value = list(
              ContentPath = "string",
              HeaderKey = "string"
            )
          )
        )
      )
    ),
    EntityConfigurations = list(
      list(
        SourceConfiguration = list(
          RequestMethod = "GET"|"POST",
          RequestPath = "string",
          RequestParameters = list(
            list(
              Name = "string",
              KeyOverride = "string",
              Required = TRUE|FALSE,
              DefaultValue = "string",
              AllowedValues = list(
                "string"
              ),
              PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
              PropertyType = "USER_INPUT"|"SECRET"|"READ_ONLY"|"UNUSED"|"SECRET_OR_USER_INPUT"
            )
          ),
          ResponseConfiguration = list(
            ResultPath = "string",
            ErrorPath = "string"
          ),
          PaginationConfiguration = list(
            CursorConfiguration = list(
              NextPage = list(
                Key = "string",
                DefaultValue = "string",
                PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
                Value = list(
                  ContentPath = "string",
                  HeaderKey = "string"
                )
              ),
              LimitParameter = list(
                Key = "string",
                DefaultValue = "string",
                PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
                Value = list(
                  ContentPath = "string",
                  HeaderKey = "string"
                )
              )
            ),
            OffsetConfiguration = list(
              OffsetParameter = list(
                Key = "string",
                DefaultValue = "string",
                PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
                Value = list(
                  ContentPath = "string",
                  HeaderKey = "string"
                )
              ),
              LimitParameter = list(
                Key = "string",
                DefaultValue = "string",
                PropertyLocation = "HEADER"|"BODY"|"QUERY_PARAM"|"PATH",
                Value = list(
                  ContentPath = "string",
                  HeaderKey = "string"
                )
              )
            )
          )
        ),
        Schema = list(
          list(
            Name = "string",
            FieldDataType = "INT"|"SMALLINT"|"BIGINT"|"FLOAT"|"LONG"|"DATE"|"BOOLEAN"|"MAP"|"ARRAY"|"STRING"|"TIMESTAMP"|"DECIMAL"|"BYTE"|"SHORT"|"DOUBLE"|"STRUCT"|"BINARY"|"UNION"
          )
        )
      )
    )
  ),
  Tags = list(
    "string"
  )
)