Skip to content
v2.274.0

CfnConnectorProfileProps Struct ​

Properties for defining a CfnConnectorProfile.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_appflow as appflow } from 'aws-cdk-lib';
const cfnConnectorProfileProps: appflow.CfnConnectorProfileProps = {
  connectionMode: 'connectionMode',
  connectorProfileName: 'connectorProfileName',
  connectorType: 'connectorType',

  // the properties below are optional
  connectorLabel: 'connectorLabel',
  connectorProfileConfig: {
    connectorProfileCredentials: {
      amplitude: {
        apiKey: 'apiKey',
        secretKey: 'secretKey',
      },
      customConnector: {
        authenticationType: 'authenticationType',

        // the properties below are optional
        apiKey: {
          apiKey: 'apiKey',

          // the properties below are optional
          apiSecretKey: 'apiSecretKey',
        },
        basic: {
          password: 'password',
          username: 'username',
        },
        custom: {
          customAuthenticationType: 'customAuthenticationType',

          // the properties below are optional
          credentialsMap: {
            credentialsMapKey: 'credentialsMap',
          },
        },
        oauth2: {
          accessToken: 'accessToken',
          clientId: 'clientId',
          clientSecret: 'clientSecret',
          oAuthRequest: {
            authCode: 'authCode',
            redirectUri: 'redirectUri',
          },
          refreshToken: 'refreshToken',
        },
      },
      datadog: {
        apiKey: 'apiKey',
        applicationKey: 'applicationKey',
      },
      dynatrace: {
        apiToken: 'apiToken',
      },
      googleAnalytics: {
        clientId: 'clientId',
        clientSecret: 'clientSecret',

        // the properties below are optional
        accessToken: 'accessToken',
        connectorOAuthRequest: {
          authCode: 'authCode',
          redirectUri: 'redirectUri',
        },
        refreshToken: 'refreshToken',
      },
      inforNexus: {
        accessKeyId: 'accessKeyId',
        datakey: 'datakey',
        secretAccessKey: 'secretAccessKey',
        userId: 'userId',
      },
      marketo: {
        clientId: 'clientId',
        clientSecret: 'clientSecret',

        // the properties below are optional
        accessToken: 'accessToken',
        connectorOAuthRequest: {
          authCode: 'authCode',
          redirectUri: 'redirectUri',
        },
      },
      pardot: {
        accessToken: 'accessToken',
        clientCredentialsArn: 'clientCredentialsArn',
        connectorOAuthRequest: {
          authCode: 'authCode',
          redirectUri: 'redirectUri',
        },
        refreshToken: 'refreshToken',
      },
      redshift: {
        password: 'password',
        username: 'username',
      },
      salesforce: {
        accessToken: 'accessToken',
        clientCredentialsArn: 'clientCredentialsArn',
        connectorOAuthRequest: {
          authCode: 'authCode',
          redirectUri: 'redirectUri',
        },
        jwtToken: 'jwtToken',
        oAuth2GrantType: 'oAuth2GrantType',
        refreshToken: 'refreshToken',
      },
      sapoData: {
        basicAuthCredentials: {
          password: 'password',
          username: 'username',
        },
        oAuthCredentials: {
          accessToken: 'accessToken',
          clientId: 'clientId',
          clientSecret: 'clientSecret',
          connectorOAuthRequest: {
            authCode: 'authCode',
            redirectUri: 'redirectUri',
          },
          refreshToken: 'refreshToken',
        },
      },
      serviceNow: {
        oAuth2Credentials: {
          accessToken: 'accessToken',
          clientId: 'clientId',
          clientSecret: 'clientSecret',
          oAuthRequest: {
            authCode: 'authCode',
            redirectUri: 'redirectUri',
          },
          refreshToken: 'refreshToken',
        },
        password: 'password',
        username: 'username',
      },
      singular: {
        apiKey: 'apiKey',
      },
      slack: {
        clientId: 'clientId',
        clientSecret: 'clientSecret',

        // the properties below are optional
        accessToken: 'accessToken',
        connectorOAuthRequest: {
          authCode: 'authCode',
          redirectUri: 'redirectUri',
        },
      },
      snowflake: {
        password: 'password',
        username: 'username',
      },
      trendmicro: {
        apiSecretKey: 'apiSecretKey',
      },
      veeva: {
        password: 'password',
        username: 'username',
      },
      zendesk: {
        clientId: 'clientId',
        clientSecret: 'clientSecret',

        // the properties below are optional
        accessToken: 'accessToken',
        connectorOAuthRequest: {
          authCode: 'authCode',
          redirectUri: 'redirectUri',
        },
      },
    },
    connectorProfileProperties: {
      customConnector: {
        oAuth2Properties: {
          oAuth2GrantType: 'oAuth2GrantType',
          tokenUrl: 'tokenUrl',
          tokenUrlCustomProperties: {
            tokenUrlCustomPropertiesKey: 'tokenUrlCustomProperties',
          },
        },
        profileProperties: {
          profilePropertiesKey: 'profileProperties',
        },
      },
      datadog: {
        instanceUrl: 'instanceUrl',
      },
      dynatrace: {
        instanceUrl: 'instanceUrl',
      },
      inforNexus: {
        instanceUrl: 'instanceUrl',
      },
      marketo: {
        instanceUrl: 'instanceUrl',
      },
      pardot: {
        businessUnitId: 'businessUnitId',

        // the properties below are optional
        instanceUrl: 'instanceUrl',
        isSandboxEnvironment: false,
      },
      redshift: {
        bucketName: 'bucketName',
        roleArn: 'roleArn',

        // the properties below are optional
        bucketPrefix: 'bucketPrefix',
        clusterIdentifier: 'clusterIdentifier',
        dataApiRoleArn: 'dataApiRoleArn',
        databaseName: 'databaseName',
        databaseUrl: 'databaseUrl',
        isRedshiftServerless: false,
        workgroupName: 'workgroupName',
      },
      salesforce: {
        instanceUrl: 'instanceUrl',
        isSandboxEnvironment: false,
        usePrivateLinkForMetadataAndAuthorization: false,
      },
      sapoData: {
        applicationHostUrl: 'applicationHostUrl',
        applicationServicePath: 'applicationServicePath',
        clientNumber: 'clientNumber',
        disableSso: false,
        logonLanguage: 'logonLanguage',
        oAuthProperties: {
          authCodeUrl: 'authCodeUrl',
          oAuthScopes: ['oAuthScopes'],
          tokenUrl: 'tokenUrl',
        },
        portNumber: 123,
        privateLinkServiceName: 'privateLinkServiceName',
      },
      serviceNow: {
        instanceUrl: 'instanceUrl',
      },
      slack: {
        instanceUrl: 'instanceUrl',
      },
      snowflake: {
        bucketName: 'bucketName',
        stage: 'stage',
        warehouse: 'warehouse',

        // the properties below are optional
        accountName: 'accountName',
        bucketPrefix: 'bucketPrefix',
        privateLinkServiceName: 'privateLinkServiceName',
        region: 'region',
      },
      veeva: {
        instanceUrl: 'instanceUrl',
      },
      zendesk: {
        instanceUrl: 'instanceUrl',
      },
    },
  },
  kmsArn: 'kmsArn',
};

Properties ​

connectionModestringconnection_modestrconnectionModeStringConnectionModestringConnectionMode*stringrequired#
Indicates the connection mode and if it is public or private.
connectorLabelstringconnector_labelstrconnectorLabelStringConnectorLabelstringConnectorLabel*string#
The label for the connector profile being created.
connectorProfileConfigIResolvable | CfnConnectorProfile.ConnectorProfileConfigPropertyconnector_profile_configtyping.Union[IResolvable, ConnectorProfileConfigProperty]connectorProfileConfigIResolvableConnectorProfileConfigIResolvableConnectorProfileConfiginterface{}#
Defines the connector-specific configuration and credentials.
connectorProfileNamestringconnector_profile_namestrconnectorProfileNameStringConnectorProfileNamestringConnectorProfileName*stringrequired#
The name of the connector profile.

The name is unique for each ConnectorProfile in the AWS account .

connectorTypestringconnector_typestrconnectorTypeStringConnectorTypestringConnectorType*stringrequired#
The type of connector, such as Salesforce, Amplitude, and so on.
kmsArnstringkms_arnstrkmsArnStringKmsArnstringKmsArn*string#
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.

This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.