Skip to content
v2.274.0

CfnConnectionTypeProps Struct ​

Properties for defining a CfnConnectionType.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_glue as glue } from 'aws-cdk-lib';
const cfnConnectionTypeProps: glue.CfnConnectionTypeProps = {
  connectionType: 'connectionType',
  restConfiguration: {
    entityConfigurations: {
      entityConfigurationsKey: {
        schema: {
          schemaKey: {
            fieldDataType: 'fieldDataType',
            name: 'name',

            // the properties below are optional
            filterOverrides: {
              betweenConfiguration: {
                highBoundKey: 'highBoundKey',
                lowBoundKey: 'lowBoundKey',
                template: 'template',
              },
              dateTimeFormat: 'dateTimeFormat',
              fieldName: 'fieldName',
              operatorMappings: {
                operatorMappingsKey: 'operatorMappings',
              },
            },
            isNullable: false,
            isOrderable: false,
            isPartitionable: false,
            isQueryable: false,
            responseDateFormat: 'responseDateFormat',
          },
        },
        sourceConfiguration: {
          filterConfiguration: {
            filterMode: 'filterMode',

            // the properties below are optional
            betweenConfiguration: {
              highBoundKey: 'highBoundKey',
              lowBoundKey: 'lowBoundKey',
              template: 'template',
            },
            dateTimeFormat: 'dateTimeFormat',
            filterStringConfiguration: {
              queryParameterName: 'queryParameterName',

              // the properties below are optional
              quoteCharacter: 'quoteCharacter',
              quoteStringValues: false,
            },
            operatorMappings: {
              operatorMappingsKey: 'operatorMappings',
            },
            stripQuotes: false,
          },
          paginationConfiguration: {
            cursorConfiguration: {
              nextPage: {
                defaultValue: 'defaultValue',
                key: 'key',
                propertyLocation: 'propertyLocation',
                value: {
                  contentPath: 'contentPath',
                  headerKey: 'headerKey',
                },
              },

              // the properties below are optional
              limitParameter: {
                defaultValue: 'defaultValue',
                key: 'key',
                propertyLocation: 'propertyLocation',
                value: {
                  contentPath: 'contentPath',
                  headerKey: 'headerKey',
                },
              },
            },
            offsetConfiguration: {
              limitParameter: {
                defaultValue: 'defaultValue',
                key: 'key',
                propertyLocation: 'propertyLocation',
                value: {
                  contentPath: 'contentPath',
                  headerKey: 'headerKey',
                },
              },
              offsetParameter: {
                defaultValue: 'defaultValue',
                key: 'key',
                propertyLocation: 'propertyLocation',
                value: {
                  contentPath: 'contentPath',
                  headerKey: 'headerKey',
                },
              },
            },
          },
          requestMethod: 'requestMethod',
          requestParameters: [{
            name: 'name',
            propertyType: 'propertyType',
            required: false,

            // the properties below are optional
            allowedValues: ['allowedValues'],
            defaultValue: 'defaultValue',
            keyOverride: 'keyOverride',
            propertyLocation: 'propertyLocation',
          }],
          requestPath: 'requestPath',
          responseConfiguration: {
            resultPath: 'resultPath',

            // the properties below are optional
            errorPath: 'errorPath',
          },
        },
      },
    },
    globalSourceConfiguration: {
      filterConfiguration: {
        filterMode: 'filterMode',

        // the properties below are optional
        betweenConfiguration: {
          highBoundKey: 'highBoundKey',
          lowBoundKey: 'lowBoundKey',
          template: 'template',
        },
        dateTimeFormat: 'dateTimeFormat',
        filterStringConfiguration: {
          queryParameterName: 'queryParameterName',

          // the properties below are optional
          quoteCharacter: 'quoteCharacter',
          quoteStringValues: false,
        },
        operatorMappings: {
          operatorMappingsKey: 'operatorMappings',
        },
        stripQuotes: false,
      },
      paginationConfiguration: {
        cursorConfiguration: {
          nextPage: {
            defaultValue: 'defaultValue',
            key: 'key',
            propertyLocation: 'propertyLocation',
            value: {
              contentPath: 'contentPath',
              headerKey: 'headerKey',
            },
          },

          // the properties below are optional
          limitParameter: {
            defaultValue: 'defaultValue',
            key: 'key',
            propertyLocation: 'propertyLocation',
            value: {
              contentPath: 'contentPath',
              headerKey: 'headerKey',
            },
          },
        },
        offsetConfiguration: {
          limitParameter: {
            defaultValue: 'defaultValue',
            key: 'key',
            propertyLocation: 'propertyLocation',
            value: {
              contentPath: 'contentPath',
              headerKey: 'headerKey',
            },
          },
          offsetParameter: {
            defaultValue: 'defaultValue',
            key: 'key',
            propertyLocation: 'propertyLocation',
            value: {
              contentPath: 'contentPath',
              headerKey: 'headerKey',
            },
          },
        },
      },
      requestMethod: 'requestMethod',
      requestParameters: [{
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        allowedValues: ['allowedValues'],
        defaultValue: 'defaultValue',
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      }],
      requestPath: 'requestPath',
      responseConfiguration: {
        resultPath: 'resultPath',

        // the properties below are optional
        errorPath: 'errorPath',
      },
    },
    validationEndpointConfiguration: {
      requestMethod: 'requestMethod',
      requestPath: 'requestPath',
    },
  },

  // the properties below are optional
  connectionProperties: {
    additionalRequestParameters: [{
      name: 'name',
      propertyType: 'propertyType',
      required: false,

      // the properties below are optional
      allowedValues: ['allowedValues'],
      defaultValue: 'defaultValue',
      keyOverride: 'keyOverride',
      propertyLocation: 'propertyLocation',
    }],
    url: {
      name: 'name',
      propertyType: 'propertyType',
      required: false,

      // the properties below are optional
      allowedValues: ['allowedValues'],
      defaultValue: 'defaultValue',
      keyOverride: 'keyOverride',
      propertyLocation: 'propertyLocation',
    },
  },
  connectorAuthenticationConfiguration: {
    authenticationTypes: ['authenticationTypes'],

    // the properties below are optional
    basicAuthenticationProperties: {
      password: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
      username: {
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      },
    },
    customAuthenticationProperties: {
      authenticationParameters: [{
        name: 'name',
        propertyType: 'propertyType',
        required: false,

        // the properties below are optional
        keyOverride: 'keyOverride',
        propertyLocation: 'propertyLocation',
      }],
    },
    oAuth2Properties: {
      oAuth2GrantType: 'oAuth2GrantType',

      // the properties below are optional
      authorizationCodeProperties: {
        authorizationCode: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        authorizationCodeUrl: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        clientId: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        clientSecret: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        contentType: 'contentType',
        prompt: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        redirectUri: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        requestMethod: 'requestMethod',
        scope: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        tokenUrl: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        tokenUrlParameters: [{
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        }],
      },
      clientCredentialsProperties: {
        clientId: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        clientSecret: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        contentType: 'contentType',
        requestMethod: 'requestMethod',
        scope: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        tokenUrl: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        tokenUrlParameters: [{
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        }],
      },
      jwtBearerProperties: {
        contentType: 'contentType',
        jwtToken: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        requestMethod: 'requestMethod',
        tokenUrl: {
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        },
        tokenUrlParameters: [{
          name: 'name',
          propertyType: 'propertyType',
          required: false,

          // the properties below are optional
          allowedValues: ['allowedValues'],
          defaultValue: 'defaultValue',
          keyOverride: 'keyOverride',
          propertyLocation: 'propertyLocation',
        }],
      },
    },
  },
  description: 'description',
  integrationType: 'integrationType',
  tags: [{
    key: 'key',
    value: 'value',
  }],
};

Properties ​

connectionPropertiesIResolvable | CfnConnectionType.ConnectionPropertiesConfigurationPropertyconnection_propertiestyping.Union[IResolvable, ConnectionPropertiesConfigurationProperty]connectionPropertiesIResolvableConnectionPropertiesIResolvableConnectionPropertiesinterface{}#
Configuration that defines the base URL and additional request parameters needed during connection creation.
connectionTypestringconnection_typestrconnectionTypeStringConnectionTypestringConnectionType*stringrequired#
The name of the connection type.

Must be prefixed with REST-.

connectorAuthenticationConfigurationIResolvable | CfnConnectionType.ConnectorAuthenticationConfigurationPropertyconnector_authentication_configurationtyping.Union[IResolvable, ConnectorAuthenticationConfigurationProperty]connectorAuthenticationConfigurationIResolvableConnectorAuthenticationConfigurationIResolvableConnectorAuthenticationConfigurationinterface{}#
Configuration that defines supported authentication types and required properties.
descriptionstringdescriptionstrdescriptionStringDescriptionstringDescription*string#
A description of the connection type.
integrationTypestringintegration_typestrintegrationTypeStringIntegrationTypestringIntegrationType*string#
The integration type for the connection.

Currently only REST is supported.

restConfigurationIResolvable | CfnConnectionType.RestConfigurationPropertyrest_configurationtyping.Union[IResolvable, RestConfigurationProperty]restConfigurationIResolvableRestConfigurationIResolvableRestConfigurationinterface{}required#
Configuration for HTTP request and response handling.
tagsCfnTag[]tagstyping.List[CfnTag]tagsList<CfnTag>TagsCfnTag[]Tags*[]CfnTag#
Tags to assign to the connection type.