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
Modifier and TypeClassDescriptionstatic interface
The aggregation settings that you can use to customize the output format of your flow data.static interface
The properties that are applied when Amplitude is being used as a source.static final class
A fluent builder forCfnFlow
.static interface
The operation to be performed on the provided source fields.static interface
The properties that are applied when the custom connector is being used as a destination.static interface
The properties that are applied when the custom connector is being used as a source.static interface
The properties that are applied when Datadog is being used as a source.static interface
This stores the information that is required to query a particular connector.static interface
Contains information about the configuration of destination connectors present in the flow.static interface
The properties that are applied when Dynatrace is being used as a source.static interface
The settings that determine how Amazon AppFlow handles an error when placing data in the destination.static interface
The properties that are applied when Amazon EventBridge is being used as a destination.static interface
Example:static interface
The properties that are applied when Google Analytics is being used as a source.static interface
Specifies the configuration used when importing incremental records from the source.static interface
The properties that are applied when Infor Nexus is being used as a source.static interface
The properties that are applied when Amazon Lookout for Metrics is used as a destination.static interface
The properties that Amazon AppFlow applies when you use Marketo as a flow destination.static interface
The properties that are applied when Marketo is being used as a source.static interface
Example:static interface
Example:static interface
Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.static interface
The properties that are applied when Amazon Redshift is being used as a destination.static interface
The properties that are applied when Amazon S3 is used as a destination.static interface
When you use Amazon S3 as the source, the configuration format that you provide the flow input data.static interface
The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.static interface
The properties that are applied when Amazon S3 is being used as the flow source.static interface
The properties that are applied when Salesforce is being used as a destination.static interface
The properties that are applied when Salesforce is being used as a source.static interface
The properties that are applied when using SAPOData as a flow destination.static interface
The properties that are applied when using SAPOData as a flow source.static interface
Specifies the configuration details of a schedule-triggered flow as defined by the user.static interface
The properties that are applied when ServiceNow is being used as a source.static interface
The properties that are applied when Singular is being used as a source.static interface
The properties that are applied when Slack is being used as a source.static interface
The properties that are applied when Snowflake is being used as a destination.static interface
Specifies the information that is required to query a particular connector.static interface
Contains information about the configuration of the source connector used in the flow.static interface
Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.static interface
A map used to store task-related information.static interface
A class for modeling different type of tasks.static interface
The properties that are applied when using Trend Micro as a flow source.static interface
The trigger settings that determine how and when Amazon AppFlow runs the specified flow.static interface
The properties that are applied when Upsolver is used as a destination.static interface
The configuration that determines how Amazon AppFlow formats the flow output data when Upsolver is used as the destination.static interface
The properties that are applied when using Veeva as a flow source.static interface
The properties that are applied when Zendesk is used as a destination.static interface
The 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.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The CloudFormation resource type name for this resource class. -
Constructor Summary
-
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.void
inspect
(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties
(Map<String, Object> props) void
setDescription
(String value) A user-entered description of the flow.void
setDestinationFlowConfigList
(List<Object> value) The configuration that controls how Amazon AppFlow places data in the destination connector.void
The configuration that controls how Amazon AppFlow places data in the destination connector.void
setFlowName
(String value) The specified name of the flow.void
setFlowStatus
(String value) Sets the status of the flow.void
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.void
AWS::AppFlow::Flow.MetadataCatalogConfig
.void
AWS::AppFlow::Flow.MetadataCatalogConfig
.void
setSourceFlowConfig
(IResolvable value) Contains information about the configuration of the source connector used in the flow.void
Contains information about the configuration of the source connector used in the flow.void
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.void
setTasks
(IResolvable value) A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.void
setTriggerConfig
(IResolvable value) The trigger settings that determine how and when Amazon AppFlow runs the specified flow.void
The 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, validateProperties
Methods inherited from class software.amazon.awscdk.core.CfnRefElement
getRef
Methods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalId
Methods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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:
inspect
in 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:
renderProperties
in classCfnResource
- Parameters:
props
- This parameter is required.
-
getAttrFlowArn
The flow's Amazon Resource Name (ARN). -
getCfnProperties
- Overrides:
getCfnProperties
in 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
.
-