class CfnFlowPropsMixin
| Language | Type name |
|---|---|
.NET | Amazon.CDK.Mixins.Preview.AWS.AppFlow.Mixins.CfnFlowPropsMixin |
Go | github.com/aws/aws-cdk-go/awscdkmixinspreview/v2/awsappflow/mixins#CfnFlowPropsMixin |
Java | software.amazon.awscdk.mixins.preview.services.appflow.mixins.CfnFlowPropsMixin |
Python | aws_cdk.mixins_preview.aws_appflow.mixins.CfnFlowPropsMixin |
TypeScript | @aws-cdk/mixins-preview » aws_appflow » mixins » CfnFlowPropsMixin |
Implements
IMixin
Extends
Mixin
The AWS::AppFlow::Flow resource is an Amazon AppFlow resource type that specifies a new flow.
If you want to use 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.
See also: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { mixins } from '@aws-cdk/mixins-preview';
import { mixins as appflow_mixins } from '@aws-cdk/mixins-preview/aws-appflow';
const cfnFlowPropsMixin = new appflow_mixins.CfnFlowPropsMixin({
description: 'description',
destinationFlowConfigList: [{
apiVersion: 'apiVersion',
connectorProfileName: 'connectorProfileName',
connectorType: 'connectorType',
destinationConnectorProperties: {
customConnector: {
customProperties: {
customPropertiesKey: 'customProperties',
},
entityName: 'entityName',
errorHandlingConfig: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
failOnFirstError: false,
},
idFieldNames: ['idFieldNames'],
writeOperationType: 'writeOperationType',
},
eventBridge: {
errorHandlingConfig: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
failOnFirstError: false,
},
object: 'object',
},
lookoutMetrics: {
object: 'object',
},
marketo: {
errorHandlingConfig: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
failOnFirstError: false,
},
object: 'object',
},
redshift: {
bucketPrefix: 'bucketPrefix',
errorHandlingConfig: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
failOnFirstError: false,
},
intermediateBucketName: 'intermediateBucketName',
object: 'object',
},
s3: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
s3OutputFormatConfig: {
aggregationConfig: {
aggregationType: 'aggregationType',
targetFileSize: 123,
},
fileType: 'fileType',
prefixConfig: {
pathPrefixHierarchy: ['pathPrefixHierarchy'],
prefixFormat: 'prefixFormat',
prefixType: 'prefixType',
},
preserveSourceDataTyping: false,
},
},
salesforce: {
dataTransferApi: 'dataTransferApi',
errorHandlingConfig: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
failOnFirstError: false,
},
idFieldNames: ['idFieldNames'],
object: 'object',
writeOperationType: 'writeOperationType',
},
sapoData: {
errorHandlingConfig: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
failOnFirstError: false,
},
idFieldNames: ['idFieldNames'],
objectPath: 'objectPath',
successResponseHandlingConfig: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
},
writeOperationType: 'writeOperationType',
},
snowflake: {
bucketPrefix: 'bucketPrefix',
errorHandlingConfig: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
failOnFirstError: false,
},
intermediateBucketName: 'intermediateBucketName',
object: 'object',
},
upsolver: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
s3OutputFormatConfig: {
aggregationConfig: {
aggregationType: 'aggregationType',
targetFileSize: 123,
},
fileType: 'fileType',
prefixConfig: {
pathPrefixHierarchy: ['pathPrefixHierarchy'],
prefixFormat: 'prefixFormat',
prefixType: 'prefixType',
},
},
},
zendesk: {
errorHandlingConfig: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
failOnFirstError: false,
},
idFieldNames: ['idFieldNames'],
object: 'object',
writeOperationType: 'writeOperationType',
},
},
}],
flowName: 'flowName',
flowStatus: 'flowStatus',
kmsArn: 'kmsArn',
metadataCatalogConfig: {
glueDataCatalog: {
databaseName: 'databaseName',
roleArn: 'roleArn',
tablePrefix: 'tablePrefix',
},
},
sourceFlowConfig: {
apiVersion: 'apiVersion',
connectorProfileName: 'connectorProfileName',
connectorType: 'connectorType',
incrementalPullConfig: {
datetimeTypeFieldName: 'datetimeTypeFieldName',
},
sourceConnectorProperties: {
amplitude: {
object: 'object',
},
customConnector: {
customProperties: {
customPropertiesKey: 'customProperties',
},
dataTransferApi: {
name: 'name',
type: 'type',
},
entityName: 'entityName',
},
datadog: {
object: 'object',
},
dynatrace: {
object: 'object',
},
googleAnalytics: {
object: 'object',
},
inforNexus: {
object: 'object',
},
marketo: {
object: 'object',
},
pardot: {
object: 'object',
},
s3: {
bucketName: 'bucketName',
bucketPrefix: 'bucketPrefix',
s3InputFormatConfig: {
s3InputFileType: 's3InputFileType',
},
},
salesforce: {
dataTransferApi: 'dataTransferApi',
enableDynamicFieldUpdate: false,
includeDeletedRecords: false,
object: 'object',
},
sapoData: {
objectPath: 'objectPath',
paginationConfig: {
maxPageSize: 123,
},
parallelismConfig: {
maxParallelism: 123,
},
},
serviceNow: {
object: 'object',
},
singular: {
object: 'object',
},
slack: {
object: 'object',
},
trendmicro: {
object: 'object',
},
veeva: {
documentType: 'documentType',
includeAllVersions: false,
includeRenditions: false,
includeSourceFiles: false,
object: 'object',
},
zendesk: {
object: 'object',
},
},
},
tags: [{
key: 'key',
value: 'value',
}],
tasks: [{
connectorOperator: {
amplitude: 'amplitude',
customConnector: 'customConnector',
datadog: 'datadog',
dynatrace: 'dynatrace',
googleAnalytics: 'googleAnalytics',
inforNexus: 'inforNexus',
marketo: 'marketo',
pardot: 'pardot',
s3: 's3',
salesforce: 'salesforce',
sapoData: 'sapoData',
serviceNow: 'serviceNow',
singular: 'singular',
slack: 'slack',
trendmicro: 'trendmicro',
veeva: 'veeva',
zendesk: 'zendesk',
},
destinationField: 'destinationField',
sourceFields: ['sourceFields'],
taskProperties: [{
key: 'key',
value: 'value',
}],
taskType: 'taskType',
}],
triggerConfig: {
triggerProperties: {
dataPullMode: 'dataPullMode',
firstExecutionFrom: 123,
flowErrorDeactivationThreshold: 123,
scheduleEndTime: 123,
scheduleExpression: 'scheduleExpression',
scheduleOffset: 123,
scheduleStartTime: 123,
timeZone: 'timeZone',
},
triggerType: 'triggerType',
},
}, /* all optional props */ {
strategy: mixins.PropertyMergeStrategy.OVERRIDE,
});
Initializer
new CfnFlowPropsMixin(props: CfnFlowMixinProps, options?: CfnPropertyMixinOptions)
Parameters
- props
Cfn— L1 properties to apply.Flow Mixin Props - options
Cfn— Mixin options.Property Mixin Options
Create a mixin to apply properties to AWS::AppFlow::Flow.
Properties
| Name | Type | Description |
|---|---|---|
| props | Cfn | |
| strategy | Property | |
| static CFN_PROPERTY_KEYS | string[] |
props
Type:
Cfn
strategy
Type:
Property
static CFN_PROPERTY_KEYS
Type:
string[]
Methods
| Name | Description |
|---|---|
| apply | Apply the mixin properties to the construct. |
| supports(construct) | Check if this mixin supports the given construct. |
applyTo(construct)
public applyTo(construct: IConstruct): IConstruct
Parameters
- construct
IConstruct
Returns
Apply the mixin properties to the construct.
supports(construct)
public supports(construct: IConstruct): boolean
Parameters
- construct
IConstruct
Returns
boolean
Check if this mixin supports the given construct.

.NET
Go
Java
Python
TypeScript