java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, ITaggable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-11-06T23:25:03.894Z") @Stability(Stable) public class CfnFlow extends CfnResource implements IInspectable, 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:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String 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

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      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:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrFlowArn

      @Stability(Stable) @NotNull public String getAttrFlowArn()
      The flow's Amazon Resource Name (ARN).
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getTags in interface ITaggable
    • getDestinationFlowConfigList

      @Stability(Stable) @NotNull public Object getDestinationFlowConfigList()
      The configuration that controls how Amazon AppFlow places data in the destination connector.
    • setDestinationFlowConfigList

      @Stability(Stable) public void setDestinationFlowConfigList(@NotNull IResolvable value)
      The configuration that controls how Amazon AppFlow places data in the destination connector.
    • setDestinationFlowConfigList

      @Stability(Stable) public void setDestinationFlowConfigList(@NotNull List<Object> value)
      The configuration that controls how Amazon AppFlow places data in the destination connector.
    • getFlowName

      @Stability(Stable) @NotNull public String getFlowName()
      The specified name of the flow.
    • setFlowName

      @Stability(Stable) public void setFlowName(@NotNull String value)
      The specified name of the flow.
    • getSourceFlowConfig

      @Stability(Stable) @NotNull public Object getSourceFlowConfig()
      Contains information about the configuration of the source connector used in the flow.
    • setSourceFlowConfig

      @Stability(Stable) public void setSourceFlowConfig(@NotNull IResolvable value)
      Contains information about the configuration of the source connector used in the flow.
    • setSourceFlowConfig

      @Stability(Stable) public void setSourceFlowConfig(@NotNull CfnFlow.SourceFlowConfigProperty value)
      Contains information about the configuration of the source connector used in the flow.
    • getTasks

      @Stability(Stable) @NotNull public Object getTasks()
      A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
    • setTasks

      @Stability(Stable) public void setTasks(@NotNull IResolvable value)
      A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
    • setTasks

      @Stability(Stable) public void setTasks(@NotNull List<Object> value)
      A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
    • getTriggerConfig

      @Stability(Stable) @NotNull public Object getTriggerConfig()
      The trigger settings that determine how and when Amazon AppFlow runs the specified flow.
    • setTriggerConfig

      @Stability(Stable) public void setTriggerConfig(@NotNull IResolvable value)
      The trigger settings that determine how and when Amazon AppFlow runs the specified flow.
    • setTriggerConfig

      @Stability(Stable) public void setTriggerConfig(@NotNull CfnFlow.TriggerConfigProperty value)
      The trigger settings that determine how and when Amazon AppFlow runs the specified flow.
    • getDescription

      @Stability(Stable) @Nullable public String getDescription()
      A user-entered description of the flow.
    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      A user-entered description of the flow.
    • getFlowStatus

      @Stability(Stable) @Nullable public String getFlowStatus()
      Sets the status of the flow.

      You can specify one of the following values:.

    • setFlowStatus

      @Stability(Stable) public void setFlowStatus(@Nullable String value)
      Sets the status of the flow.

      You can specify one of the following values:.

    • getKmsArn

      @Stability(Stable) @Nullable public String getKmsArn()
      The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.
    • setKmsArn

      @Stability(Stable) public void setKmsArn(@Nullable String value)
      The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.
    • getMetadataCatalogConfig

      @Stability(Stable) @Nullable public Object getMetadataCatalogConfig()
      Specifies the configuration that Amazon AppFlow uses when it catalogs your data.
    • setMetadataCatalogConfig

      @Stability(Stable) public void setMetadataCatalogConfig(@Nullable IResolvable value)
      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

      @Stability(Stable) @Nullable public List<CfnTag> getTagsRaw()
      The tags used to organize, track, or control access for your flow.
    • setTagsRaw

      @Stability(Stable) public void setTagsRaw(@Nullable List<CfnTag> value)
      The tags used to organize, track, or control access for your flow.