Class CfnConnectorProfile
- All Implemented Interfaces:
IConstruct,IDependable,IInspectable,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct
AWS::AppFlow::ConnectorProfile.
The AWS::AppFlow::ConnectorProfile resource is an Amazon AppFlow resource type that specifies the configuration profile for an instance of a connector. This includes the provided name, credentials ARN, connection-mode, and so on. The fields that are common to all types of connector profiles are explicitly specified under the Properties field. The rest of the connector-specific properties are specified under Properties/ConnectorProfileConfig .
If you want to use AWS CloudFormation to create a connector profile for connectors that implement OAuth (such as Salesforce, Slack, Zendesk, and Google Analytics), you must fetch the access and refresh tokens. You can do this by implementing your own UI for OAuth, or by retrieving the tokens from elsewhere. Alternatively, you can use the Amazon AppFlow console to create the connector profile, and then use that connector profile in the flow creation CloudFormation template.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.appflow.*;
CfnConnectorProfile cfnConnectorProfile = CfnConnectorProfile.Builder.create(this, "MyCfnConnectorProfile")
.connectionMode("connectionMode")
.connectorProfileName("connectorProfileName")
.connectorType("connectorType")
// the properties below are optional
.connectorLabel("connectorLabel")
.connectorProfileConfig(ConnectorProfileConfigProperty.builder()
.connectorProfileCredentials(ConnectorProfileCredentialsProperty.builder()
.amplitude(AmplitudeConnectorProfileCredentialsProperty.builder()
.apiKey("apiKey")
.secretKey("secretKey")
.build())
.customConnector(CustomConnectorProfileCredentialsProperty.builder()
.authenticationType("authenticationType")
// the properties below are optional
.apiKey(ApiKeyCredentialsProperty.builder()
.apiKey("apiKey")
// the properties below are optional
.apiSecretKey("apiSecretKey")
.build())
.basic(BasicAuthCredentialsProperty.builder()
.password("password")
.username("username")
.build())
.custom(CustomAuthCredentialsProperty.builder()
.customAuthenticationType("customAuthenticationType")
// the properties below are optional
.credentialsMap(Map.of(
"credentialsMapKey", "credentialsMap"))
.build())
.oauth2(OAuth2CredentialsProperty.builder()
.accessToken("accessToken")
.clientId("clientId")
.clientSecret("clientSecret")
.oAuthRequest(ConnectorOAuthRequestProperty.builder()
.authCode("authCode")
.redirectUri("redirectUri")
.build())
.refreshToken("refreshToken")
.build())
.build())
.datadog(DatadogConnectorProfileCredentialsProperty.builder()
.apiKey("apiKey")
.applicationKey("applicationKey")
.build())
.dynatrace(DynatraceConnectorProfileCredentialsProperty.builder()
.apiToken("apiToken")
.build())
.googleAnalytics(GoogleAnalyticsConnectorProfileCredentialsProperty.builder()
.clientId("clientId")
.clientSecret("clientSecret")
// the properties below are optional
.accessToken("accessToken")
.connectorOAuthRequest(ConnectorOAuthRequestProperty.builder()
.authCode("authCode")
.redirectUri("redirectUri")
.build())
.refreshToken("refreshToken")
.build())
.inforNexus(InforNexusConnectorProfileCredentialsProperty.builder()
.accessKeyId("accessKeyId")
.datakey("datakey")
.secretAccessKey("secretAccessKey")
.userId("userId")
.build())
.marketo(MarketoConnectorProfileCredentialsProperty.builder()
.clientId("clientId")
.clientSecret("clientSecret")
// the properties below are optional
.accessToken("accessToken")
.connectorOAuthRequest(ConnectorOAuthRequestProperty.builder()
.authCode("authCode")
.redirectUri("redirectUri")
.build())
.build())
.pardot(PardotConnectorProfileCredentialsProperty.builder()
.accessToken("accessToken")
.clientCredentialsArn("clientCredentialsArn")
.connectorOAuthRequest(ConnectorOAuthRequestProperty.builder()
.authCode("authCode")
.redirectUri("redirectUri")
.build())
.refreshToken("refreshToken")
.build())
.redshift(RedshiftConnectorProfileCredentialsProperty.builder()
.password("password")
.username("username")
.build())
.salesforce(SalesforceConnectorProfileCredentialsProperty.builder()
.accessToken("accessToken")
.clientCredentialsArn("clientCredentialsArn")
.connectorOAuthRequest(ConnectorOAuthRequestProperty.builder()
.authCode("authCode")
.redirectUri("redirectUri")
.build())
.jwtToken("jwtToken")
.oAuth2GrantType("oAuth2GrantType")
.refreshToken("refreshToken")
.build())
.sapoData(SAPODataConnectorProfileCredentialsProperty.builder()
.basicAuthCredentials(BasicAuthCredentialsProperty.builder()
.password("password")
.username("username")
.build())
.oAuthCredentials(OAuthCredentialsProperty.builder()
.accessToken("accessToken")
.clientId("clientId")
.clientSecret("clientSecret")
.connectorOAuthRequest(ConnectorOAuthRequestProperty.builder()
.authCode("authCode")
.redirectUri("redirectUri")
.build())
.refreshToken("refreshToken")
.build())
.build())
.serviceNow(ServiceNowConnectorProfileCredentialsProperty.builder()
.password("password")
.username("username")
.build())
.singular(SingularConnectorProfileCredentialsProperty.builder()
.apiKey("apiKey")
.build())
.slack(SlackConnectorProfileCredentialsProperty.builder()
.clientId("clientId")
.clientSecret("clientSecret")
// the properties below are optional
.accessToken("accessToken")
.connectorOAuthRequest(ConnectorOAuthRequestProperty.builder()
.authCode("authCode")
.redirectUri("redirectUri")
.build())
.build())
.snowflake(SnowflakeConnectorProfileCredentialsProperty.builder()
.password("password")
.username("username")
.build())
.trendmicro(TrendmicroConnectorProfileCredentialsProperty.builder()
.apiSecretKey("apiSecretKey")
.build())
.veeva(VeevaConnectorProfileCredentialsProperty.builder()
.password("password")
.username("username")
.build())
.zendesk(ZendeskConnectorProfileCredentialsProperty.builder()
.clientId("clientId")
.clientSecret("clientSecret")
// the properties below are optional
.accessToken("accessToken")
.connectorOAuthRequest(ConnectorOAuthRequestProperty.builder()
.authCode("authCode")
.redirectUri("redirectUri")
.build())
.build())
.build())
.connectorProfileProperties(ConnectorProfilePropertiesProperty.builder()
.customConnector(CustomConnectorProfilePropertiesProperty.builder()
.oAuth2Properties(OAuth2PropertiesProperty.builder()
.oAuth2GrantType("oAuth2GrantType")
.tokenUrl("tokenUrl")
.tokenUrlCustomProperties(Map.of(
"tokenUrlCustomPropertiesKey", "tokenUrlCustomProperties"))
.build())
.profileProperties(Map.of(
"profilePropertiesKey", "profileProperties"))
.build())
.datadog(DatadogConnectorProfilePropertiesProperty.builder()
.instanceUrl("instanceUrl")
.build())
.dynatrace(DynatraceConnectorProfilePropertiesProperty.builder()
.instanceUrl("instanceUrl")
.build())
.inforNexus(InforNexusConnectorProfilePropertiesProperty.builder()
.instanceUrl("instanceUrl")
.build())
.marketo(MarketoConnectorProfilePropertiesProperty.builder()
.instanceUrl("instanceUrl")
.build())
.pardot(PardotConnectorProfilePropertiesProperty.builder()
.businessUnitId("businessUnitId")
// the properties below are optional
.instanceUrl("instanceUrl")
.isSandboxEnvironment(false)
.build())
.redshift(RedshiftConnectorProfilePropertiesProperty.builder()
.bucketName("bucketName")
.roleArn("roleArn")
// the properties below are optional
.bucketPrefix("bucketPrefix")
.clusterIdentifier("clusterIdentifier")
.dataApiRoleArn("dataApiRoleArn")
.databaseName("databaseName")
.databaseUrl("databaseUrl")
.isRedshiftServerless(false)
.workgroupName("workgroupName")
.build())
.salesforce(SalesforceConnectorProfilePropertiesProperty.builder()
.instanceUrl("instanceUrl")
.isSandboxEnvironment(false)
.usePrivateLinkForMetadataAndAuthorization(false)
.build())
.sapoData(SAPODataConnectorProfilePropertiesProperty.builder()
.applicationHostUrl("applicationHostUrl")
.applicationServicePath("applicationServicePath")
.clientNumber("clientNumber")
.logonLanguage("logonLanguage")
.oAuthProperties(OAuthPropertiesProperty.builder()
.authCodeUrl("authCodeUrl")
.oAuthScopes(List.of("oAuthScopes"))
.tokenUrl("tokenUrl")
.build())
.portNumber(123)
.privateLinkServiceName("privateLinkServiceName")
.build())
.serviceNow(ServiceNowConnectorProfilePropertiesProperty.builder()
.instanceUrl("instanceUrl")
.build())
.slack(SlackConnectorProfilePropertiesProperty.builder()
.instanceUrl("instanceUrl")
.build())
.snowflake(SnowflakeConnectorProfilePropertiesProperty.builder()
.bucketName("bucketName")
.stage("stage")
.warehouse("warehouse")
// the properties below are optional
.accountName("accountName")
.bucketPrefix("bucketPrefix")
.privateLinkServiceName("privateLinkServiceName")
.region("region")
.build())
.veeva(VeevaConnectorProfilePropertiesProperty.builder()
.instanceUrl("instanceUrl")
.build())
.zendesk(ZendeskConnectorProfilePropertiesProperty.builder()
.instanceUrl("instanceUrl")
.build())
.build())
.build())
.kmsArn("kmsArn")
.build();
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceThe connector-specific credentials required when using Amplitude.static interfaceThe API key credentials required for API key authentication.static interfaceThe basic auth credentials required for basic authentication.static final classA fluent builder forCfnConnectorProfile.static interfaceUsed by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.static interfaceDefines the connector-specific configuration and credentials for the connector profile.static interfaceThe connector-specific credentials required by a connector.static interfaceThe connector-specific profile properties required by each connector.static interfaceThe custom credentials required for custom authentication.static interfaceThe connector-specific profile credentials that are required when using the custom connector.static interfaceThe profile properties required by the custom connector.static interfaceThe connector-specific credentials required by Datadog.static interfaceThe connector-specific profile properties required by Datadog.static interfaceThe connector-specific profile credentials required by Dynatrace.static interfaceThe connector-specific profile properties required by Dynatrace.static interfaceThe connector-specific profile credentials required by Google Analytics.static interfaceThe connector-specific profile credentials required by Infor Nexus.static interfaceThe connector-specific profile properties required by Infor Nexus.static interfaceThe connector-specific profile credentials required by Marketo.static interfaceThe connector-specific profile properties required when using Marketo.static interfaceThe OAuth 2.0 credentials required for OAuth 2.0 authentication.static interfaceThe OAuth 2.0 properties required for OAuth 2.0 authentication.static interfaceThe OAuth credentials required for OAuth type authentication.static interfaceThe OAuth properties required for OAuth type authentication.static interfaceExample:static interfaceExample:static interfaceThe connector-specific profile credentials required when using Amazon Redshift.static interfaceThe connector-specific profile properties when using Amazon Redshift.static interfaceThe connector-specific profile credentials required when using Salesforce.static interfaceThe connector-specific profile properties required when using Salesforce.static interfaceThe connector-specific profile credentials required when using SAPOData.static interfaceThe connector-specific profile properties required when using SAPOData.static interfaceThe connector-specific profile credentials required when using ServiceNow.static interfaceThe connector-specific profile properties required when using ServiceNow.static interfaceThe connector-specific profile credentials required when using Singular.static interfaceThe connector-specific profile credentials required when using Slack.static interfaceThe connector-specific profile properties required when using Slack.static interfaceThe connector-specific profile credentials required when using Snowflake.static interfaceThe connector-specific profile properties required when using Snowflake.static interfaceThe connector-specific profile credentials required when using Trend Micro.static interfaceThe connector-specific profile credentials required when using Veeva.static interfaceThe connector-specific profile properties required when using Veeva.static interfaceThe connector-specific profile credentials required when using Zendesk.static interfaceThe connector-specific profile properties required when using Zendesk.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe CloudFormation resource type name for this resource class. -
Constructor Summary
ConstructorsModifierConstructorDescriptionCfnConnectorProfile(Construct scope, String id, CfnConnectorProfileProps props) Create a newAWS::AppFlow::ConnectorProfile.protectedCfnConnectorProfile(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedCfnConnectorProfile(software.amazon.jsii.JsiiObjectRef objRef) -
Method Summary
Modifier and TypeMethodDescriptionThe Amazon Resource Name (ARN) of the connector profile.The Amazon Resource Name (ARN) of the connector profile credentials.Indicates the connection mode and if it is public or private.The label for the connector profile being created.Defines the connector-specific configuration and credentials.The name of the connector profile.The type of connector, such as Salesforce, Amplitude, and so on.The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.voidinspect(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties(Map<String, Object> props) voidsetConnectionMode(String value) Indicates the connection mode and if it is public or private.voidsetConnectorLabel(String value) The label for the connector profile being created.voidDefines the connector-specific configuration and credentials.voidDefines the connector-specific configuration and credentials.voidsetConnectorProfileName(String value) The name of the connector profile.voidsetConnectorType(String value) The type of connector, such as Salesforce, Amplitude, and so on.voidThe ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.Methods inherited from class software.amazon.awscdk.core.CfnResource
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validatePropertiesMethods inherited from class software.amazon.awscdk.core.CfnRefElement
getRefMethods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdMethods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validateMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
-
-
Constructor Details
-
CfnConnectorProfile
protected CfnConnectorProfile(software.amazon.jsii.JsiiObjectRef objRef) -
CfnConnectorProfile
protected CfnConnectorProfile(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnConnectorProfile
@Stability(Stable) public CfnConnectorProfile(@NotNull Construct scope, @NotNull String id, @NotNull CfnConnectorProfileProps props) Create a newAWS::AppFlow::ConnectorProfile.- Parameters:
scope-- scope in which this resource is defined.
id-- scoped id of the resource.
props-- resource properties.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspectin interfaceIInspectable- Parameters:
inspector-- tree inspector to collect and process attributes.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderPropertiesin classCfnResource- Parameters:
props- This parameter is required.
-
getAttrConnectorProfileArn
The Amazon Resource Name (ARN) of the connector profile. -
getAttrCredentialsArn
The Amazon Resource Name (ARN) of the connector profile credentials. -
getCfnProperties
- Overrides:
getCfnPropertiesin classCfnResource
-
getConnectionMode
Indicates the connection mode and if it is public or private. -
setConnectionMode
Indicates the connection mode and if it is public or private. -
getConnectorProfileName
The name of the connector profile.The name is unique for each
ConnectorProfilein the AWS account . -
setConnectorProfileName
The name of the connector profile.The name is unique for each
ConnectorProfilein the AWS account . -
getConnectorType
The type of connector, such as Salesforce, Amplitude, and so on. -
setConnectorType
The type of connector, such as Salesforce, Amplitude, and so on. -
getConnectorLabel
The label for the connector profile being created. -
setConnectorLabel
The label for the connector profile being created. -
getConnectorProfileConfig
Defines the connector-specific configuration and credentials. -
setConnectorProfileConfig
Defines the connector-specific configuration and credentials. -
setConnectorProfileConfig
@Stability(Stable) public void setConnectorProfileConfig(@Nullable CfnConnectorProfile.ConnectorProfileConfigProperty value) Defines the connector-specific configuration and credentials. -
getKmsArn
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.
-
setKmsArn
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.
-