Class CfnFlow
- All Implemented Interfaces:
IConstruct,IDependable,IInspectable,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct
AWS::AppFlow::Flow.
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"))
.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")
.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();
-
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 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 interfaceExample: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 interfaceExample:static interfaceExample: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 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.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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThe 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.Sets the status of the flow.The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.AWS::AppFlow::Flow.MetadataCatalogConfig.Contains information about the configuration of the source connector used in the flow.getTags()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.voidAWS::AppFlow::Flow.MetadataCatalogConfig.voidAWS::AppFlow::Flow.MetadataCatalogConfig.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.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.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
-
CfnFlow
protected CfnFlow(software.amazon.jsii.JsiiObjectRef objRef) -
CfnFlow
protected CfnFlow(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnFlow
@Stability(Stable) public CfnFlow(@NotNull Construct scope, @NotNull String id, @NotNull CfnFlowProps props) Create a newAWS::AppFlow::Flow.- 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.
-
getAttrFlowArn
The flow's Amazon Resource Name (ARN). -
getCfnProperties
- Overrides:
getCfnPropertiesin classCfnResource
-
getTags
The tags used to organize, track, or control access for your flow. -
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.Spaces are not allowed. Use underscores (_) or hyphens (-) only.
-
setFlowName
The specified name of the flow.Spaces are not allowed. Use underscores (_) or hyphens (-) only.
-
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:.- Active - The flow runs based on the trigger settings that you defined. Active scheduled flows run as scheduled, and active event-triggered flows run when the specified change event occurs. However, active on-demand flows run only when you manually start them by using Amazon AppFlow.
- Suspended - You can use this option to deactivate an active flow. Scheduled and event-triggered flows will cease to run until you reactive them. This value only affects scheduled and event-triggered flows. It has no effect for on-demand flows.
If you omit the FlowStatus parameter, Amazon AppFlow creates the flow with a default status. The default status for on-demand flows is Active. The default status for scheduled and event-triggered flows is Draft, which means they’re not yet active.
-
setFlowStatus
Sets the status of the flow. You can specify one of the following values:.- Active - The flow runs based on the trigger settings that you defined. Active scheduled flows run as scheduled, and active event-triggered flows run when the specified change event occurs. However, active on-demand flows run only when you manually start them by using Amazon AppFlow.
- Suspended - You can use this option to deactivate an active flow. Scheduled and event-triggered flows will cease to run until you reactive them. This value only affects scheduled and event-triggered flows. It has no effect for on-demand flows.
If you omit the FlowStatus parameter, Amazon AppFlow creates the flow with a default status. The default status for on-demand flows is Active. The default status for scheduled and event-triggered flows is Draft, which means they’re not yet active.
-
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.
-
getMetadataCatalogConfig
AWS::AppFlow::Flow.MetadataCatalogConfig. -
setMetadataCatalogConfig
AWS::AppFlow::Flow.MetadataCatalogConfig. -
setMetadataCatalogConfig
@Stability(Stable) public void setMetadataCatalogConfig(@Nullable CfnFlow.MetadataCatalogConfigProperty value) AWS::AppFlow::Flow.MetadataCatalogConfig.
-