import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class IncrementalPullConfig { DatetimeTypeFieldName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class PrefixConfig { PrefixType ? : Value < string > ; PrefixFormat ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3OutputFormatConfig { FileType ? : Value < string > ; PrefixConfig ? : PrefixConfig ; AggregationConfig ? : AggregationConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DestinationFlowConfig { ConnectorType ! : Value < string > ; ConnectorProfileName ? : Value < string > ; DestinationConnectorProperties ! : DestinationConnectorProperties ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DatadogSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AggregationConfig { AggregationType ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ScheduledTriggerProperties { ScheduleExpression ! : Value < string > ; DataPullMode ? : Value < string > ; ScheduleStartTime ? : Value < number > ; ScheduleEndTime ? : Value < number > ; TimeZone ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DestinationConnectorProperties { Redshift ? : RedshiftDestinationProperties ; S3 ? : S3DestinationProperties ; Salesforce ? : SalesforceDestinationProperties ; Snowflake ? : SnowflakeDestinationProperties ; EventBridge ? : EventBridgeDestinationProperties ; Upsolver ? : UpsolverDestinationProperties ; LookoutMetrics ? : LookoutMetricsDestinationProperties ; Zendesk ? : ZendeskDestinationProperties ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ConnectorOperator { Amplitude ? : Value < string > ; Datadog ? : Value < string > ; Dynatrace ? : Value < string > ; GoogleAnalytics ? : Value < string > ; InforNexus ? : Value < string > ; Marketo ? : Value < string > ; S3 ? : Value < string > ; Salesforce ? : Value < string > ; ServiceNow ? : Value < string > ; Singular ? : Value < string > ; Slack ? : Value < string > ; Trendmicro ? : Value < string > ; Veeva ? : Value < string > ; Zendesk ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ZendeskSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SalesforceDestinationProperties { Object ! : Value < string > ; ErrorHandlingConfig ? : ErrorHandlingConfig ; IdFieldNames ? : List < Value < string > > ; WriteOperationType ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ErrorHandlingConfig { FailOnFirstError ? : Value < boolean > ; BucketPrefix ? : Value < string > ; BucketName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3SourceProperties { BucketName ! : Value < string > ; BucketPrefix ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SalesforceSourceProperties { Object ! : Value < string > ; EnableDynamicFieldUpdate ? : Value < boolean > ; IncludeDeletedRecords ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SingularSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EventBridgeDestinationProperties { Object ! : Value < string > ; ErrorHandlingConfig ? : ErrorHandlingConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MarketoSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SlackSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RedshiftDestinationProperties { Object ! : Value < string > ; IntermediateBucketName ! : Value < string > ; BucketPrefix ? : Value < string > ; ErrorHandlingConfig ? : ErrorHandlingConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LookoutMetricsDestinationProperties { Object ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SourceFlowConfig { ConnectorType ! : Value < string > ; ConnectorProfileName ? : Value < string > ; SourceConnectorProperties ! : SourceConnectorProperties ; IncrementalPullConfig ? : IncrementalPullConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class UpsolverS3OutputFormatConfig { FileType ? : Value < string > ; PrefixConfig ! : PrefixConfig ; AggregationConfig ? : AggregationConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class UpsolverDestinationProperties { BucketName ! : Value < string > ; BucketPrefix ? : Value < string > ; S3OutputFormatConfig ! : UpsolverS3OutputFormatConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ServiceNowSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ZendeskDestinationProperties { Object ! : Value < string > ; ErrorHandlingConfig ? : ErrorHandlingConfig ; IdFieldNames ? : List < Value < string > > ; WriteOperationType ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InforNexusSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3DestinationProperties { BucketName ! : Value < string > ; BucketPrefix ? : Value < string > ; S3OutputFormatConfig ? : S3OutputFormatConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SourceConnectorProperties { Amplitude ? : AmplitudeSourceProperties ; Datadog ? : DatadogSourceProperties ; Dynatrace ? : DynatraceSourceProperties ; GoogleAnalytics ? : GoogleAnalyticsSourceProperties ; InforNexus ? : InforNexusSourceProperties ; Marketo ? : MarketoSourceProperties ; S3 ? : S3SourceProperties ; Salesforce ? : SalesforceSourceProperties ; ServiceNow ? : ServiceNowSourceProperties ; Singular ? : SingularSourceProperties ; Slack ? : SlackSourceProperties ; Trendmicro ? : TrendmicroSourceProperties ; Veeva ? : VeevaSourceProperties ; Zendesk ? : ZendeskSourceProperties ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TrendmicroSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SnowflakeDestinationProperties { Object ! : Value < string > ; IntermediateBucketName ! : Value < string > ; BucketPrefix ? : Value < string > ; ErrorHandlingConfig ? : ErrorHandlingConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GoogleAnalyticsSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VeevaSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DynatraceSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Task { SourceFields ! : List < Value < string > > ; ConnectorOperator ? : ConnectorOperator ; DestinationField ? : Value < string > ; TaskType ! : Value < string > ; TaskProperties ? : List < TaskPropertiesObject > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TaskPropertiesObject { Key ! : Value < string > ; Value ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TriggerConfig { TriggerType ! : Value < string > ; TriggerProperties ? : ScheduledTriggerProperties ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AmplitudeSourceProperties { Object ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface FlowProperties { FlowName : Value < string > ; Description ? : Value < string > ; KMSArn ? : Value < string > ; TriggerConfig : TriggerConfig ; SourceFlowConfig : SourceFlowConfig ; DestinationFlowConfigList : List < DestinationFlowConfig > ; Tasks : List < Task > ; Tags ? : List < ResourceTag > ; } export default class Flow extends ResourceBase < FlowProperties > { static IncrementalPullConfig = IncrementalPullConfig ; static PrefixConfig = PrefixConfig ; static S3OutputFormatConfig = S3OutputFormatConfig ; static DestinationFlowConfig = DestinationFlowConfig ; static DatadogSourceProperties = DatadogSourceProperties ; static AggregationConfig = AggregationConfig ; static ScheduledTriggerProperties = ScheduledTriggerProperties ; static DestinationConnectorProperties = DestinationConnectorProperties ; static ConnectorOperator = ConnectorOperator ; static ZendeskSourceProperties = ZendeskSourceProperties ; static SalesforceDestinationProperties = SalesforceDestinationProperties ; static ErrorHandlingConfig = ErrorHandlingConfig ; static S3SourceProperties = S3SourceProperties ; static SalesforceSourceProperties = SalesforceSourceProperties ; static SingularSourceProperties = SingularSourceProperties ; static EventBridgeDestinationProperties = EventBridgeDestinationProperties ; static MarketoSourceProperties = MarketoSourceProperties ; static SlackSourceProperties = SlackSourceProperties ; static RedshiftDestinationProperties = RedshiftDestinationProperties ; static LookoutMetricsDestinationProperties = LookoutMetricsDestinationProperties ; static SourceFlowConfig = SourceFlowConfig ; static UpsolverS3OutputFormatConfig = UpsolverS3OutputFormatConfig ; static UpsolverDestinationProperties = UpsolverDestinationProperties ; static ServiceNowSourceProperties = ServiceNowSourceProperties ; static ZendeskDestinationProperties = ZendeskDestinationProperties ; static InforNexusSourceProperties = InforNexusSourceProperties ; static S3DestinationProperties = S3DestinationProperties ; static SourceConnectorProperties = SourceConnectorProperties ; static TrendmicroSourceProperties = TrendmicroSourceProperties ; static SnowflakeDestinationProperties = SnowflakeDestinationProperties ; static GoogleAnalyticsSourceProperties = GoogleAnalyticsSourceProperties ; static VeevaSourceProperties = VeevaSourceProperties ; static DynatraceSourceProperties = DynatraceSourceProperties ; static Task = Task ; static TaskPropertiesObject = TaskPropertiesObject ; static TriggerConfig = TriggerConfig ; static AmplitudeSourceProperties = AmplitudeSourceProperties ; constructor ( properties ) { super ( 'AWS::AppFlow::Flow' , properties ) ; } }