Class CfnFlow
java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.CfnElement
software.amazon.awscdk.CfnRefElement
software.amazon.awscdk.CfnResource
software.amazon.awscdk.services.appflow.CfnFlow
- All Implemented Interfaces:
IInspectable,ITaggable,IFlowRef,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct,software.constructs.IDependable
@Generated(value="jsii-pacmak/1.113.0 (build fc68b25)",
date="2025-10-14T12:28:04.612Z")
@Stability(Stable)
public class CfnFlow
extends CfnResource
implements IInspectable, IFlowRef, ITaggable
The
AWS::AppFlow::Flow resource is an Amazon AppFlow resource type that specifies a new flow.
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.*;
CfnFlow cfnFlow = CfnFlow.Builder.create(this, "MyCfnFlow")
.destinationFlowConfigList(List.of(DestinationFlowConfigProperty.builder()
.connectorType("connectorType")
.destinationConnectorProperties(DestinationConnectorPropertiesProperty.builder()
.customConnector(CustomConnectorDestinationPropertiesProperty.builder()
.entityName("entityName")
// the properties below are optional
.customProperties(Map.of(
"customPropertiesKey", "customProperties"))
.errorHandlingConfig(ErrorHandlingConfigProperty.builder()
.bucketName("bucketName")
.bucketPrefix("bucketPrefix")
.failOnFirstError(false)
.build())
.idFieldNames(List.of("idFieldNames"))
.writeOperationType("writeOperationType")
.build())
.eventBridge(EventBridgeDestinationPropertiesProperty.builder()
.object("object")
// the properties below are optional
.errorHandlingConfig(ErrorHandlingConfigProperty.builder()
.bucketName("bucketName")
.bucketPrefix("bucketPrefix")
.failOnFirstError(false)
.build())
.build())
.lookoutMetrics(LookoutMetricsDestinationPropertiesProperty.builder()
.object("object")
.build())
.marketo(MarketoDestinationPropertiesProperty.builder()
.object("object")
// the properties below are optional
.errorHandlingConfig(ErrorHandlingConfigProperty.builder()
.bucketName("bucketName")
.bucketPrefix("bucketPrefix")
.failOnFirstError(false)
.build())
.build())
.redshift(RedshiftDestinationPropertiesProperty.builder()
.intermediateBucketName("intermediateBucketName")
.object("object")
// the properties below are optional
.bucketPrefix("bucketPrefix")
.errorHandlingConfig(ErrorHandlingConfigProperty.builder()
.bucketName("bucketName")
.bucketPrefix("bucketPrefix")
.failOnFirstError(false)
.build())
.build())
.s3(S3DestinationPropertiesProperty.builder()
.bucketName("bucketName")
// the properties below are optional
.bucketPrefix("bucketPrefix")
.s3OutputFormatConfig(S3OutputFormatConfigProperty.builder()
.aggregationConfig(AggregationConfigProperty.builder()
.aggregationType("aggregationType")
.targetFileSize(123)
.build())
.fileType("fileType")
.prefixConfig(PrefixConfigProperty.builder()
.pathPrefixHierarchy(List.of("pathPrefixHierarchy"))
.prefixFormat("prefixFormat")
.prefixType("prefixType")
.build())
.preserveSourceDataTyping(false)
.build())
.build())
.salesforce(SalesforceDestinationPropertiesProperty.builder()
.object("object")
// the properties below are optional
.dataTransferApi("dataTransferApi")
.errorHandlingConfig(ErrorHandlingConfigProperty.builder()
.bucketName("bucketName")
.bucketPrefix("bucketPrefix")
.failOnFirstError(false)
.build())
.idFieldNames(List.of("idFieldNames"))
.writeOperationType("writeOperationType")
.build())
.sapoData(SAPODataDestinationPropertiesProperty.builder()
.objectPath("objectPath")
// the properties below are optional
.errorHandlingConfig(ErrorHandlingConfigProperty.builder()
.bucketName("bucketName")
.bucketPrefix("bucketPrefix")
.failOnFirstError(false)
.build())
.idFieldNames(List.of("idFieldNames"))
.successResponseHandlingConfig(SuccessResponseHandlingConfigProperty.builder()
.bucketName("bucketName")
.bucketPrefix("bucketPrefix")
.build())
.writeOperationType("writeOperationType")
.build())
.snowflake(SnowflakeDestinationPropertiesProperty.builder()
.intermediateBucketName("intermediateBucketName")
.object("object")
// the properties below are optional
.bucketPrefix("bucketPrefix")
.errorHandlingConfig(ErrorHandlingConfigProperty.builder()
.bucketName("bucketName")
.bucketPrefix("bucketPrefix")
.failOnFirstError(false)
.build())
.build())
.upsolver(UpsolverDestinationPropertiesProperty.builder()
.bucketName("bucketName")
.s3OutputFormatConfig(UpsolverS3OutputFormatConfigProperty.builder()
.prefixConfig(PrefixConfigProperty.builder()
.pathPrefixHierarchy(List.of("pathPrefixHierarchy"))
.prefixFormat("prefixFormat")
.prefixType("prefixType")
.build())
// the properties below are optional
.aggregationConfig(AggregationConfigProperty.builder()
.aggregationType("aggregationType")
.targetFileSize(123)
.build())
.fileType("fileType")
.build())
// the properties below are optional
.bucketPrefix("bucketPrefix")
.build())
.zendesk(ZendeskDestinationPropertiesProperty.builder()
.object("object")
// the properties below are optional
.errorHandlingConfig(ErrorHandlingConfigProperty.builder()
.bucketName("bucketName")
.bucketPrefix("bucketPrefix")
.failOnFirstError(false)
.build())
.idFieldNames(List.of("idFieldNames"))
.writeOperationType("writeOperationType")
.build())
.build())
// the properties below are optional
.apiVersion("apiVersion")
.connectorProfileName("connectorProfileName")
.build()))
.flowName("flowName")
.sourceFlowConfig(SourceFlowConfigProperty.builder()
.connectorType("connectorType")
.sourceConnectorProperties(SourceConnectorPropertiesProperty.builder()
.amplitude(AmplitudeSourcePropertiesProperty.builder()
.object("object")
.build())
.customConnector(CustomConnectorSourcePropertiesProperty.builder()
.entityName("entityName")
// the properties below are optional
.customProperties(Map.of(
"customPropertiesKey", "customProperties"))
.dataTransferApi(DataTransferApiProperty.builder()
.name("name")
.type("type")
.build())
.build())
.datadog(DatadogSourcePropertiesProperty.builder()
.object("object")
.build())
.dynatrace(DynatraceSourcePropertiesProperty.builder()
.object("object")
.build())
.googleAnalytics(GoogleAnalyticsSourcePropertiesProperty.builder()
.object("object")
.build())
.inforNexus(InforNexusSourcePropertiesProperty.builder()
.object("object")
.build())
.marketo(MarketoSourcePropertiesProperty.builder()
.object("object")
.build())
.pardot(PardotSourcePropertiesProperty.builder()
.object("object")
.build())
.s3(S3SourcePropertiesProperty.builder()
.bucketName("bucketName")
.bucketPrefix("bucketPrefix")
// the properties below are optional
.s3InputFormatConfig(S3InputFormatConfigProperty.builder()
.s3InputFileType("s3InputFileType")
.build())
.build())
.salesforce(SalesforceSourcePropertiesProperty.builder()
.object("object")
// the properties below are optional
.dataTransferApi("dataTransferApi")
.enableDynamicFieldUpdate(false)
.includeDeletedRecords(false)
.build())
.sapoData(SAPODataSourcePropertiesProperty.builder()
.objectPath("objectPath")
// the properties below are optional
.paginationConfig(SAPODataPaginationConfigProperty.builder()
.maxPageSize(123)
.build())
.parallelismConfig(SAPODataParallelismConfigProperty.builder()
.maxParallelism(123)
.build())
.build())
.serviceNow(ServiceNowSourcePropertiesProperty.builder()
.object("object")
.build())
.singular(SingularSourcePropertiesProperty.builder()
.object("object")
.build())
.slack(SlackSourcePropertiesProperty.builder()
.object("object")
.build())
.trendmicro(TrendmicroSourcePropertiesProperty.builder()
.object("object")
.build())
.veeva(VeevaSourcePropertiesProperty.builder()
.object("object")
// the properties below are optional
.documentType("documentType")
.includeAllVersions(false)
.includeRenditions(false)
.includeSourceFiles(false)
.build())
.zendesk(ZendeskSourcePropertiesProperty.builder()
.object("object")
.build())
.build())
// the properties below are optional
.apiVersion("apiVersion")
.connectorProfileName("connectorProfileName")
.incrementalPullConfig(IncrementalPullConfigProperty.builder()
.datetimeTypeFieldName("datetimeTypeFieldName")
.build())
.build())
.tasks(List.of(TaskProperty.builder()
.sourceFields(List.of("sourceFields"))
.taskType("taskType")
// the properties below are optional
.connectorOperator(ConnectorOperatorProperty.builder()
.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")
.build())
.destinationField("destinationField")
.taskProperties(List.of(TaskPropertiesObjectProperty.builder()
.key("key")
.value("value")
.build()))
.build()))
.triggerConfig(TriggerConfigProperty.builder()
.triggerType("triggerType")
// the properties below are optional
.triggerProperties(ScheduledTriggerPropertiesProperty.builder()
.scheduleExpression("scheduleExpression")
// the properties below are optional
.dataPullMode("dataPullMode")
.firstExecutionFrom(123)
.flowErrorDeactivationThreshold(123)
.scheduleEndTime(123)
.scheduleOffset(123)
.scheduleStartTime(123)
.timeZone("timeZone")
.build())
.build())
// the properties below are optional
.description("description")
.flowStatus("flowStatus")
.kmsArn("kmsArn")
.metadataCatalogConfig(MetadataCatalogConfigProperty.builder()
.glueDataCatalog(GlueDataCatalogProperty.builder()
.databaseName("databaseName")
.roleArn("roleArn")
.tablePrefix("tablePrefix")
.build())
.build())
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.build();
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceThe aggregation settings that you can use to customize the output format of your flow data.static interfaceThe properties that are applied when Amplitude is being used as a source.static final classA fluent builder forCfnFlow.static interfaceThe operation to be performed on the provided source fields.static interfaceThe properties that are applied when the custom connector is being used as a destination.static interfaceThe properties that are applied when the custom connector is being used as a source.static interfaceThe properties that are applied when Datadog is being used as a source.static interfaceThe API of the connector application that Amazon AppFlow uses to transfer your data.static interfaceThis stores the information that is required to query a particular connector.static interfaceContains information about the configuration of destination connectors present in the flow.static interfaceThe properties that are applied when Dynatrace is being used as a source.static interfaceThe settings that determine how Amazon AppFlow handles an error when placing data in the destination.static interfaceThe properties that are applied when Amazon EventBridge is being used as a destination.static interfaceTrigger settings of the flow.static interfaceThe properties that are applied when Google Analytics is being used as a source.static interfaceSpecifies the configuration used when importing incremental records from the source.static interfaceThe properties that are applied when Infor Nexus is being used as a source.static interfaceThe properties that are applied when Amazon Lookout for Metrics is used as a destination.static interfaceThe properties that Amazon AppFlow applies when you use Marketo as a flow destination.static interfaceThe properties that are applied when Marketo is being used as a source.static interfaceSpecifies the configuration that Amazon AppFlow uses when it catalogs your data.static interfaceThe properties that are applied when Salesforce Pardot is being used as a source.static interfaceSpecifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.static interfaceThe properties that are applied when Amazon Redshift is being used as a destination.static interfaceThe properties that are applied when Amazon S3 is used as a destination.static interfaceWhen you use Amazon S3 as the source, the configuration format that you provide the flow input data.static interfaceThe configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.static interfaceThe properties that are applied when Amazon S3 is being used as the flow source.static interfaceThe properties that are applied when Salesforce is being used as a destination.static interfaceThe properties that are applied when Salesforce is being used as a source.static interfaceThe properties that are applied when using SAPOData as a flow destination.static interfaceSets the page size for each concurrent process that transfers OData records from your SAP instance.static interfaceSets the number of concurrent processes that transfer OData records from your SAP instance.static interfaceThe properties that are applied when using SAPOData as a flow source.static interfaceSpecifies the configuration details of a schedule-triggered flow as defined by the user.static interfaceThe properties that are applied when ServiceNow is being used as a source.static interfaceThe properties that are applied when Singular is being used as a source.static interfaceThe properties that are applied when Slack is being used as a source.static interfaceThe properties that are applied when Snowflake is being used as a destination.static interfaceSpecifies the information that is required to query a particular connector.static interfaceContains information about the configuration of the source connector used in the flow.static interfaceDetermines how Amazon AppFlow handles the success response that it gets from the connector after placing data.static interfaceA map used to store task-related information.static interfaceA class for modeling different type of tasks.static interfaceThe properties that are applied when using Trend Micro as a flow source.static interfaceThe trigger settings that determine how and when Amazon AppFlow runs the specified flow.static interfaceThe properties that are applied when Upsolver is used as a destination.static interfaceThe configuration that determines how Amazon AppFlow formats the flow output data when Upsolver is used as the destination.static interfaceThe properties that are applied when using Veeva as a flow source.static interfaceThe properties that are applied when Zendesk is used as a destination.static interfaceThe properties that are applied when using Zendesk as a flow source.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.services.appflow.IFlowRef
IFlowRef.Jsii$Default, IFlowRef.Jsii$ProxyNested classes/interfaces inherited from interface software.amazon.awscdk.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$ProxyNested classes/interfaces inherited from interface software.amazon.awscdk.ITaggable
ITaggable.Jsii$Default, ITaggable.Jsii$Proxy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe CloudFormation resource type name for this resource class. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCfnFlow(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedCfnFlow(software.amazon.jsii.JsiiObjectRef objRef) CfnFlow(software.constructs.Construct scope, String id, CfnFlowProps props) -
Method Summary
Modifier and TypeMethodDescriptionstatic IFlowReffromFlowArn(software.constructs.Construct scope, String id, String arn) Creates a new IFlowRef from an ARN.static IFlowReffromFlowName(software.constructs.Construct scope, String id, String flowName) Creates a new IFlowRef from a flowName.The flow's Amazon Resource Name (ARN).A user-entered description of the flow.The configuration that controls how Amazon AppFlow places data in the destination connector.The specified name of the flow.A reference to a Flow resource.Sets the status of the flow.The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.Specifies the configuration that Amazon AppFlow uses when it catalogs your data.Contains information about the configuration of the source connector used in the flow.getTags()Tag Manager which manages the tags for this resource.The tags used to organize, track, or control access for your flow.getTasks()A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.The trigger settings that determine how and when Amazon AppFlow runs the specified flow.voidinspect(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties(Map<String, Object> props) voidsetDescription(String value) A user-entered description of the flow.voidsetDestinationFlowConfigList(List<Object> value) The configuration that controls how Amazon AppFlow places data in the destination connector.voidThe configuration that controls how Amazon AppFlow places data in the destination connector.voidsetFlowName(String value) The specified name of the flow.voidsetFlowStatus(String value) Sets the status of the flow.voidThe ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.voidSpecifies the configuration that Amazon AppFlow uses when it catalogs your data.voidSpecifies the configuration that Amazon AppFlow uses when it catalogs your data.voidsetSourceFlowConfig(IResolvable value) Contains information about the configuration of the source connector used in the flow.voidContains information about the configuration of the source connector used in the flow.voidsetTagsRaw(List<CfnTag> value) The tags used to organize, track, or control access for your flow.voidA list of tasks that Amazon AppFlow performs while transferring the data in the flow run.voidsetTasks(IResolvable value) A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.voidsetTriggerConfig(IResolvable value) The trigger settings that determine how and when Amazon AppFlow runs the specified flow.voidThe trigger settings that determine how and when Amazon AppFlow runs the specified flow.Methods inherited from class software.amazon.awscdk.CfnResource
addDeletionOverride, addDependency, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, getUpdatedProperties, isCfnResource, obtainDependencies, obtainResourceDependencies, removeDependency, replaceDependency, shouldSynthesize, toString, validatePropertiesMethods inherited from class software.amazon.awscdk.CfnRefElement
getRefMethods inherited from class software.amazon.awscdk.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdMethods inherited from class software.constructs.Construct
getNode, isConstructMethods 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.constructs.IConstruct
getNodeMethods 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
-
CfnFlow
protected CfnFlow(software.amazon.jsii.JsiiObjectRef objRef) -
CfnFlow
protected CfnFlow(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnFlow
@Stability(Stable) public CfnFlow(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnFlowProps props) - Parameters:
scope- Scope in which this resource is defined. This parameter is required.id- Construct identifier for this resource (unique in its scope). This parameter is required.props- Resource properties. This parameter is required.
-
-
Method Details
-
fromFlowArn
@Stability(Stable) @NotNull public static IFlowRef fromFlowArn(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String arn) Creates a new IFlowRef from an ARN.- Parameters:
scope- This parameter is required.id- This parameter is required.arn- This parameter is required.
-
fromFlowName
@Stability(Stable) @NotNull public static IFlowRef fromFlowName(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String flowName) Creates a new IFlowRef from a flowName.- Parameters:
scope- This parameter is required.id- This parameter is required.flowName- This parameter is required.
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspectin interfaceIInspectable- Parameters:
inspector- tree inspector to collect and process attributes. This parameter is required.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderPropertiesin classCfnResource- Parameters:
props- This parameter is required.
-
getAttrFlowArn
The flow's Amazon Resource Name (ARN). -
getCfnProperties
- Overrides:
getCfnPropertiesin classCfnResource
-
getFlowRef
A reference to a Flow resource.- Specified by:
getFlowRefin interfaceIFlowRef
-
getTags
Tag Manager which manages the tags for this resource. -
getDestinationFlowConfigList
The configuration that controls how Amazon AppFlow places data in the destination connector. -
setDestinationFlowConfigList
The configuration that controls how Amazon AppFlow places data in the destination connector. -
setDestinationFlowConfigList
The configuration that controls how Amazon AppFlow places data in the destination connector. -
getFlowName
The specified name of the flow. -
setFlowName
The specified name of the flow. -
getSourceFlowConfig
Contains information about the configuration of the source connector used in the flow. -
setSourceFlowConfig
Contains information about the configuration of the source connector used in the flow. -
setSourceFlowConfig
Contains information about the configuration of the source connector used in the flow. -
getTasks
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. -
setTasks
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. -
setTasks
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. -
getTriggerConfig
The trigger settings that determine how and when Amazon AppFlow runs the specified flow. -
setTriggerConfig
The trigger settings that determine how and when Amazon AppFlow runs the specified flow. -
setTriggerConfig
The trigger settings that determine how and when Amazon AppFlow runs the specified flow. -
getDescription
A user-entered description of the flow. -
setDescription
A user-entered description of the flow. -
getFlowStatus
Sets the status of the flow.You can specify one of the following values:.
-
setFlowStatus
Sets the status of the flow.You can specify one of the following values:.
-
getKmsArn
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. -
setKmsArn
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. -
getMetadataCatalogConfig
Specifies the configuration that Amazon AppFlow uses when it catalogs your data. -
setMetadataCatalogConfig
Specifies the configuration that Amazon AppFlow uses when it catalogs your data. -
setMetadataCatalogConfig
@Stability(Stable) public void setMetadataCatalogConfig(@Nullable CfnFlow.MetadataCatalogConfigProperty value) Specifies the configuration that Amazon AppFlow uses when it catalogs your data. -
getTagsRaw
The tags used to organize, track, or control access for your flow. -
setTagsRaw
The tags used to organize, track, or control access for your flow.
-