connection_types
Creates, updates, deletes, gets or lists a connection_types resource.
Overview
| Name | connection_types |
| Type | Resource |
| Id | aws.glue.connection_types |
Fields
The following fields are returned by SELECT queries:
- describe_connection_type
- list_connection_types
| Name | Datatype | Description |
|---|---|---|
athena_connection_properties | object | Connection properties specific to the Athena compute environment. |
authentication_configuration | object | The type of authentication used for the connection. |
capabilities | object | The supported authentication types, data interface types (compute environments), and data operations of the connector. |
compute_environment_configurations | object | The compute environments that are supported by the connection. |
connection_options | object | Returns properties that can be set when creating a connection in the ConnectionInput.ConnectionProperties. ConnectionOptions defines parameters that can be set in a Spark ETL script in the connection options map passed to a dataframe. |
connection_properties | object | Connection properties which are common across compute environments. |
connection_type | string | The name of the connection type. (pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*</code>) |
description | string | A description of the connection type. |
physical_connection_requirements | object | Physical requirements for a connection, such as VPC, Subnet and Security Group specifications. |
python_connection_properties | object | Connection properties specific to the Python compute environment. |
rest_configuration | object | HTTP request and response configuration, validation endpoint, and entity configurations for REST based data source. |
spark_connection_properties | object | Connection properties specific to the Spark compute environment. |
| Name | Datatype | Description |
|---|---|---|
capabilities | object | The supported authentication types, data interface types (compute environments), and data operations of the connector. |
categories | array | A list of categories that this connection type belongs to. Categories help users filter and find appropriate connection types based on their use cases. |
connection_type | string | The name of the connection type. (JDBC, SFTP, MONGODB, KAFKA, NETWORK, MARKETPLACE, CUSTOM, SALESFORCE, VIEW_VALIDATION_REDSHIFT, VIEW_VALIDATION_ATHENA, GOOGLEADS, GOOGLESHEETS, GOOGLEANALYTICS4, SERVICENOW, MARKETO, SAPODATA, ZENDESK, JIRACLOUD, NETSUITEERP, HUBSPOT, FACEBOOKADS, INSTAGRAMADS, ZOHOCRM, SALESFORCEPARDOT, SALESFORCEMARKETINGCLOUD, ADOBEANALYTICS, SLACK, LINKEDIN, MIXPANEL, ASANA, STRIPE, SMARTSHEET, DATADOG, WOOCOMMERCE, INTERCOM, SNAPCHATADS, PAYPAL, QUICKBOOKS, FACEBOOKPAGEINSIGHTS, FRESHDESK, TWILIO, DOCUSIGNMONITOR, FRESHSALES, ZOOM, GOOGLESEARCHCONSOLE, SALESFORCECOMMERCECLOUD, SAPCONCUR, DYNATRACE, MICROSOFTDYNAMIC365FINANCEANDOPS, MICROSOFTTEAMS, BLACKBAUDRAISEREDGENXT, MAILCHIMP, GITLAB, PENDO, PRODUCTBOARD, CIRCLECI, PIPEDIVE, SENDGRID, AZURECOSMOS, AZURESQL, BIGQUERY, BLACKBAUD, CLOUDERAHIVE, CLOUDERAIMPALA, CLOUDWATCH, CLOUDWATCHMETRICS, CMDB, DATALAKEGEN2, DB2, DB2AS400, DOCUMENTDB, DOMO, DYNAMODB, GOOGLECLOUDSTORAGE, HBASE, KUSTOMER, MICROSOFTDYNAMICS365CRM, MONDAY, MYSQL, OKTA, OPENSEARCH, ORACLE, PIPEDRIVE, POSTGRESQL, SAPHANA, SQLSERVER, SYNAPSE, TERADATA, TERADATANOS, TIMESTREAM, TPCDS, VERTICA) |
connection_type_variants | array | A list of variants available for this connection type. Different variants may provide specialized configurations for specific use cases or implementations of the same general connection type. |
description | string | A description of the connection type. |
display_name | string | The human-readable name for the connection type that is displayed in the Glue console. |
logo_url | string | The URL of the logo associated with a connection type. |
vendor | string | The name of the vendor or provider that created or maintains this connection type. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
describe_connection_type | select | region | The DescribeConnectionType API provides full details of the supported options for a given connection type in Glue. The response includes authentication configuration details that show supported authentication types and properties, and RestConfiguration for custom REST-based connection types registered via RegisterConnectionType. See also: ListConnectionTypes, RegisterConnectionType, DeleteConnectionType | |
list_connection_types | select | region | The ListConnectionTypes API provides a discovery mechanism to learn available connection types in Glue. The response contains a list of connection types with high-level details of what is supported for each connection type, including both built-in connection types and custom connection types registered via RegisterConnectionType. The connection types listed are the set of supported options for the ConnectionType value in the CreateConnection API. See also: DescribeConnectionType, RegisterConnectionType, DeleteConnectionType | |
register_connection_type | insert | region, ConnectionType, IntegrationType, ConnectionProperties, ConnectorAuthenticationConfiguration, RestConfiguration | 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. | |
delete_connection_type | delete | region | Deletes a custom connection type in Glue. The connection type must exist and be registered before it can be deleted. This operation supports cleanup of connection type resources and helps maintain proper lifecycle management of custom connection types. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
region | string | AWS region (default: us-east-1) |
SELECT examples
- describe_connection_type
- list_connection_types
The DescribeConnectionType API provides full details of the supported options for a given connection type in Glue. The response includes authentication configuration details that show supported authentication types and properties, and RestConfiguration for custom REST-based connection types registered via RegisterConnectionType. See also: ListConnectionTypes, RegisterConnectionType, DeleteConnectionType
SELECT
athena_connection_properties,
authentication_configuration,
capabilities,
compute_environment_configurations,
connection_options,
connection_properties,
connection_type,
description,
physical_connection_requirements,
python_connection_properties,
rest_configuration,
spark_connection_properties
FROM aws.glue.connection_types
WHERE region = '{{ region }}' -- required
;
The ListConnectionTypes API provides a discovery mechanism to learn available connection types in Glue. The response contains a list of connection types with high-level details of what is supported for each connection type, including both built-in connection types and custom connection types registered via RegisterConnectionType. The connection types listed are the set of supported options for the ConnectionType value in the CreateConnection API. See also: DescribeConnectionType, RegisterConnectionType, DeleteConnectionType
SELECT
capabilities,
categories,
connection_type,
connection_type_variants,
description,
display_name,
logo_url,
vendor
FROM aws.glue.connection_types
WHERE region = '{{ region }}' -- required
;
INSERT examples
- register_connection_type
- Manifest
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.
INSERT INTO aws.glue.connection_types (
ConnectionType,
IntegrationType,
Description,
ConnectionProperties,
ConnectorAuthenticationConfiguration,
RestConfiguration,
Tags,
region
)
SELECT
'{{ ConnectionType }}' /* required */,
'{{ IntegrationType }}' /* required */,
'{{ Description }}',
'{{ ConnectionProperties }}' /* required */,
'{{ ConnectorAuthenticationConfiguration }}' /* required */,
'{{ RestConfiguration }}' /* required */,
'{{ Tags }}',
'{{ region }}'
RETURNING
connection_type_arn
;
# Description fields are for documentation purposes
- name: connection_types
props:
- name: region
value: "{{ region }}"
description: Required parameter for the connection_types resource.
- name: ConnectionType
value: "{{ ConnectionType }}"
description: |
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.
- name: IntegrationType
value: "{{ IntegrationType }}"
description: |
The integration type for the connection. Currently only "REST" protocol is supported.
valid_values: ['REST']
- name: Description
value: "{{ Description }}"
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.
- name: ConnectionProperties
description: |
Defines the base URL and additional request parameters needed during connection creation for this connection type.
value:
Url:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
AdditionalRequestParameters:
- Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues: "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
- name: ConnectorAuthenticationConfiguration
description: |
Defines the supported authentication types and required properties for this connection type, including Basic, OAuth2, and Custom authentication methods.
value:
AuthenticationTypes:
- "{{ AuthenticationTypes }}"
OAuth2Properties:
OAuth2GrantType: "{{ OAuth2GrantType }}"
ClientCredentialsProperties:
TokenUrl:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
RequestMethod: "{{ RequestMethod }}"
ContentType: "{{ ContentType }}"
ClientId:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
ClientSecret:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
Scope:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
TokenUrlParameters:
- Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues: "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
JWTBearerProperties:
TokenUrl:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
RequestMethod: "{{ RequestMethod }}"
ContentType: "{{ ContentType }}"
JwtToken:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
TokenUrlParameters:
- Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues: "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
AuthorizationCodeProperties:
AuthorizationCodeUrl:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
AuthorizationCode:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
RedirectUri:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
TokenUrl:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
RequestMethod: "{{ RequestMethod }}"
ContentType: "{{ ContentType }}"
ClientId:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
ClientSecret:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
Scope:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
Prompt:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
TokenUrlParameters:
- Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues: "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
BasicAuthenticationProperties:
Username:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
Password:
Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues:
- "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
CustomAuthenticationProperties:
AuthenticationParameters:
- Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues: "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
- name: RestConfiguration
description: |
Defines the HTTP request and response configuration, validation endpoint, and entity configurations for REST API interactions.
value:
GlobalSourceConfiguration:
RequestMethod: "{{ RequestMethod }}"
RequestPath: "{{ RequestPath }}"
RequestParameters:
- Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues: "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
ResponseConfiguration:
ResultPath: "{{ ResultPath }}"
ErrorPath: "{{ ErrorPath }}"
PaginationConfiguration:
CursorConfiguration:
NextPage:
Key: "{{ Key }}"
DefaultValue: "{{ DefaultValue }}"
PropertyLocation: "{{ PropertyLocation }}"
Value: "{{ Value }}"
LimitParameter:
Key: "{{ Key }}"
DefaultValue: "{{ DefaultValue }}"
PropertyLocation: "{{ PropertyLocation }}"
Value: "{{ Value }}"
OffsetConfiguration:
OffsetParameter:
Key: "{{ Key }}"
DefaultValue: "{{ DefaultValue }}"
PropertyLocation: "{{ PropertyLocation }}"
Value: "{{ Value }}"
LimitParameter:
Key: "{{ Key }}"
DefaultValue: "{{ DefaultValue }}"
PropertyLocation: "{{ PropertyLocation }}"
Value: "{{ Value }}"
FilterConfiguration:
FilterMode: "{{ FilterMode }}"
OperatorMappings: "{{ OperatorMappings }}"
DateTimeFormat: "{{ DateTimeFormat }}"
StripQuotes: {{ StripQuotes }}
BetweenConfiguration:
LowBoundKey: "{{ LowBoundKey }}"
HighBoundKey: "{{ HighBoundKey }}"
Template: "{{ Template }}"
FilterStringConfiguration:
QueryParameterName: "{{ QueryParameterName }}"
QuoteStringValues: {{ QuoteStringValues }}
QuoteCharacter: "{{ QuoteCharacter }}"
ValidationEndpointConfiguration:
RequestMethod: "{{ RequestMethod }}"
RequestPath: "{{ RequestPath }}"
RequestParameters:
- Name: "{{ Name }}"
KeyOverride: "{{ KeyOverride }}"
Required: {{ Required }}
DefaultValue: "{{ DefaultValue }}"
AllowedValues: "{{ AllowedValues }}"
PropertyLocation: "{{ PropertyLocation }}"
PropertyType: "{{ PropertyType }}"
Format: "{{ Format }}"
ResponseConfiguration:
ResultPath: "{{ ResultPath }}"
ErrorPath: "{{ ErrorPath }}"
PaginationConfiguration:
CursorConfiguration:
NextPage:
Key: "{{ Key }}"
DefaultValue: "{{ DefaultValue }}"
PropertyLocation: "{{ PropertyLocation }}"
Value: "{{ Value }}"
LimitParameter:
Key: "{{ Key }}"
DefaultValue: "{{ DefaultValue }}"
PropertyLocation: "{{ PropertyLocation }}"
Value: "{{ Value }}"
OffsetConfiguration:
OffsetParameter:
Key: "{{ Key }}"
DefaultValue: "{{ DefaultValue }}"
PropertyLocation: "{{ PropertyLocation }}"
Value: "{{ Value }}"
LimitParameter:
Key: "{{ Key }}"
DefaultValue: "{{ DefaultValue }}"
PropertyLocation: "{{ PropertyLocation }}"
Value: "{{ Value }}"
FilterConfiguration:
FilterMode: "{{ FilterMode }}"
OperatorMappings: "{{ OperatorMappings }}"
DateTimeFormat: "{{ DateTimeFormat }}"
StripQuotes: {{ StripQuotes }}
BetweenConfiguration:
LowBoundKey: "{{ LowBoundKey }}"
HighBoundKey: "{{ HighBoundKey }}"
Template: "{{ Template }}"
FilterStringConfiguration:
QueryParameterName: "{{ QueryParameterName }}"
QuoteStringValues: {{ QuoteStringValues }}
QuoteCharacter: "{{ QuoteCharacter }}"
EntityConfigurations: "{{ EntityConfigurations }}"
- name: Tags
value: "{{ Tags }}"
description: |
The tags you assign to the connection type.
DELETE examples
- delete_connection_type
Deletes a custom connection type in Glue. The connection type must exist and be registered before it can be deleted. This operation supports cleanup of connection type resources and helps maintain proper lifecycle management of custom connection types.
DELETE FROM aws.glue.connection_types
WHERE region = '{{ region }}' --required
;