/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type Object = string; export type BucketName = string; export type BucketPrefix = string; export type EnableDynamicFieldUpdate = boolean; export type IncludeDeletedRecords = boolean; export type DataTransferApi = "AUTOMATIC" | "BULKV2" | "REST_SYNC"; export type DocumentType = string; export type IncludeSourceFiles = boolean; export type IncludeRenditions = boolean; export type IncludeAllVersions = boolean; export type EntityName = string; /** * Name of the datetime/timestamp data type field to be used for importing incremental records from the source */ export type DatetimeTypeFieldName = string; export type FileType = "CSV" | "JSON" | "PARQUET"; export type PrefixType = "FILENAME" | "PATH" | "PATH_AND_FILENAME"; export type PrefixFormat = "YEAR" | "MONTH" | "DAY" | "HOUR" | "MINUTE"; export type PathPrefix = "EXECUTION_ID" | "SCHEMA_VERSION"; export type PathPrefixHierarchy = PathPrefix[]; export type AggregationType = "None" | "SingleFile"; export type TargetFileSize = number; export type PreserveSourceDataTyping = boolean; export type WriteOperationType = "INSERT" | "UPSERT" | "UPDATE" | "DELETE"; export type UpsolverBucketName = string; export type AmplitudeConnectorOperator = "BETWEEN"; export type DatadogConnectorOperator = | "PROJECTION" | "BETWEEN" | "EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type DynatraceConnectorOperator = | "PROJECTION" | "BETWEEN" | "EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type GoogleAnalyticsConnectorOperator = "PROJECTION" | "BETWEEN"; export type InforNexusConnectorOperator = | "PROJECTION" | "BETWEEN" | "EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type MarketoConnectorOperator = | "PROJECTION" | "LESS_THAN" | "GREATER_THAN" | "BETWEEN" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type S3ConnectorOperator = | "PROJECTION" | "LESS_THAN" | "GREATER_THAN" | "BETWEEN" | "LESS_THAN_OR_EQUAL_TO" | "GREATER_THAN_OR_EQUAL_TO" | "EQUAL_TO" | "NOT_EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type SAPODataConnectorOperator = | "PROJECTION" | "LESS_THAN" | "CONTAINS" | "GREATER_THAN" | "BETWEEN" | "LESS_THAN_OR_EQUAL_TO" | "GREATER_THAN_OR_EQUAL_TO" | "EQUAL_TO" | "NOT_EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type SalesforceConnectorOperator = | "PROJECTION" | "LESS_THAN" | "CONTAINS" | "GREATER_THAN" | "BETWEEN" | "LESS_THAN_OR_EQUAL_TO" | "GREATER_THAN_OR_EQUAL_TO" | "EQUAL_TO" | "NOT_EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type PardotConnectorOperator = | "PROJECTION" | "EQUAL_TO" | "NO_OP" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC"; export type ServiceNowConnectorOperator = | "PROJECTION" | "LESS_THAN" | "CONTAINS" | "GREATER_THAN" | "BETWEEN" | "LESS_THAN_OR_EQUAL_TO" | "GREATER_THAN_OR_EQUAL_TO" | "EQUAL_TO" | "NOT_EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type SingularConnectorOperator = | "PROJECTION" | "EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type SlackConnectorOperator = | "PROJECTION" | "BETWEEN" | "EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type TrendmicroConnectorOperator = | "PROJECTION" | "EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type VeevaConnectorOperator = | "PROJECTION" | "LESS_THAN" | "GREATER_THAN" | "BETWEEN" | "LESS_THAN_OR_EQUAL_TO" | "GREATER_THAN_OR_EQUAL_TO" | "EQUAL_TO" | "NOT_EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type ZendeskConnectorOperator = | "PROJECTION" | "GREATER_THAN" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type Operator = | "PROJECTION" | "LESS_THAN" | "GREATER_THAN" | "CONTAINS" | "BETWEEN" | "LESS_THAN_OR_EQUAL_TO" | "GREATER_THAN_OR_EQUAL_TO" | "EQUAL_TO" | "NOT_EQUAL_TO" | "ADDITION" | "MULTIPLICATION" | "DIVISION" | "SUBTRACTION" | "MASK_ALL" | "MASK_FIRST_N" | "MASK_LAST_N" | "VALIDATE_NON_NULL" | "VALIDATE_NON_ZERO" | "VALIDATE_NON_NEGATIVE" | "VALIDATE_NUMERIC" | "NO_OP"; export type OperatorPropertiesKeys = | "VALUE" | "VALUES" | "DATA_TYPE" | "UPPER_BOUND" | "LOWER_BOUND" | "SOURCE_DATA_TYPE" | "DESTINATION_DATA_TYPE" | "VALIDATION_ACTION" | "MASK_VALUE" | "MASK_LENGTH" | "TRUNCATE_LENGTH" | "MATH_OPERATION_FIELDS_ORDER" | "CONCAT_FORMAT" | "SUBFIELD_CATEGORY_MAP" | "EXCLUDE_SOURCE_FIELDS_LIST" | "INCLUDE_NEW_FIELDS" | "ORDERED_PARTITION_KEYS_LIST"; /** * Resource schema for AWS::AppFlow::Flow. */ export interface AwsAppflowFlow { /** * ARN identifier of the flow. */ FlowArn?: string; /** * Name of the flow. */ FlowName: string; /** * Description of the flow. */ Description?: string; /** * The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key. */ KMSArn?: string; TriggerConfig: TriggerConfig; SourceFlowConfig: SourceFlowConfig; /** * List of Destination connectors of the flow. */ DestinationFlowConfigList: DestinationFlowConfig[]; /** * List of tasks for the flow. */ Tasks: Task[]; /** * List of Tags. */ Tags?: Tag[]; MetadataCatalogConfig?: MetadataCatalogConfig; } /** * Trigger settings of the flow. */ export interface TriggerConfig { /** * Trigger type of the flow */ TriggerType: "Scheduled" | "Event" | "OnDemand"; TriggerProperties?: ScheduledTriggerProperties; /** * Active 'Scheduled' or 'Event' flow after creation. Without activation the default state of such flows upon creation is DRAFT. */ ActivateFlowOnCreate?: boolean; } /** * Details required based on the type of trigger */ export interface ScheduledTriggerProperties { ScheduleExpression: string; DataPullMode?: "Incremental" | "Complete"; ScheduleStartTime?: number; ScheduleEndTime?: number; FirstExecutionFrom?: number; TimeZone?: string; ScheduleOffset?: number; FlowErrorDeactivationThreshold?: number; } /** * Configurations of Source connector of the flow. */ export interface SourceFlowConfig { /** * Type of source connector */ ConnectorType: | "SAPOData" | "Salesforce" | "Pardot" | "Singular" | "Slack" | "Redshift" | "S3" | "Marketo" | "Googleanalytics" | "Zendesk" | "Servicenow" | "Datadog" | "Trendmicro" | "Snowflake" | "Dynatrace" | "Infornexus" | "Amplitude" | "Veeva" | "CustomConnector" | "EventBridge" | "Upsolver" | "LookoutMetrics"; /** * The API version that the destination connector uses. */ ApiVersion?: string; /** * Name of source connector profile */ ConnectorProfileName?: string; SourceConnectorProperties: SourceConnectorProperties; IncrementalPullConfig?: IncrementalPullConfig; } /** * Source connector details required to query a connector */ export interface SourceConnectorProperties { Amplitude?: AmplitudeSourceProperties; Datadog?: DatadogSourceProperties; Dynatrace?: DynatraceSourceProperties; GoogleAnalytics?: GoogleAnalyticsSourceProperties; InforNexus?: InforNexusSourceProperties; Marketo?: MarketoSourceProperties; S3?: S3SourceProperties; SAPOData?: SAPODataSourceProperties; Salesforce?: SalesforceSourceProperties; Pardot?: PardotSourceProperties; ServiceNow?: ServiceNowSourceProperties; Singular?: SingularSourceProperties; Slack?: SlackSourceProperties; Trendmicro?: TrendmicroSourceProperties; Veeva?: VeevaSourceProperties; Zendesk?: ZendeskSourceProperties; CustomConnector?: CustomConnectorSourceProperties; [k: string]: unknown; } export interface AmplitudeSourceProperties { Object: Object; } export interface DatadogSourceProperties { Object: Object; } export interface DynatraceSourceProperties { Object: Object; } export interface GoogleAnalyticsSourceProperties { Object: Object; } export interface InforNexusSourceProperties { Object: Object; } export interface MarketoSourceProperties { Object: Object; } export interface S3SourceProperties { BucketName: BucketName; BucketPrefix: BucketPrefix; S3InputFormatConfig?: S3InputFormatConfig; } export interface S3InputFormatConfig { S3InputFileType?: "CSV" | "JSON"; [k: string]: unknown; } export interface SAPODataSourceProperties { ObjectPath: Object; } export interface SalesforceSourceProperties { Object: Object; EnableDynamicFieldUpdate?: EnableDynamicFieldUpdate; IncludeDeletedRecords?: IncludeDeletedRecords; DataTransferApi?: DataTransferApi; } export interface PardotSourceProperties { Object: Object; } export interface ServiceNowSourceProperties { Object: Object; } export interface SingularSourceProperties { Object: Object; } export interface SlackSourceProperties { Object: Object; } export interface TrendmicroSourceProperties { Object: Object; } export interface VeevaSourceProperties { Object: Object; DocumentType?: DocumentType; IncludeSourceFiles?: IncludeSourceFiles; IncludeRenditions?: IncludeRenditions; IncludeAllVersions?: IncludeAllVersions; } export interface ZendeskSourceProperties { Object: Object; } export interface CustomConnectorSourceProperties { EntityName: EntityName; CustomProperties?: CustomProperties; } /** * A map for properties for custom connector. */ export interface CustomProperties { /** * A string containing the value for the property * * This interface was referenced by `CustomProperties`'s JSON-Schema definition * via the `patternProperty` "^[\w]{1,2048}$". */ [k: string]: string; } /** * Configuration for scheduled incremental data pull */ export interface IncrementalPullConfig { DatetimeTypeFieldName?: DatetimeTypeFieldName; [k: string]: unknown; } /** * Configurations of destination connector. */ export interface DestinationFlowConfig { /** * Destination connector type */ ConnectorType: | "SAPOData" | "Salesforce" | "Pardot" | "Singular" | "Slack" | "Redshift" | "S3" | "Marketo" | "Googleanalytics" | "Zendesk" | "Servicenow" | "Datadog" | "Trendmicro" | "Snowflake" | "Dynatrace" | "Infornexus" | "Amplitude" | "Veeva" | "CustomConnector" | "EventBridge" | "Upsolver" | "LookoutMetrics"; /** * The API version that the destination connector uses. */ ApiVersion?: string; /** * Name of destination connector profile */ ConnectorProfileName?: string; DestinationConnectorProperties: DestinationConnectorProperties; } /** * Destination connector details */ export interface DestinationConnectorProperties { Redshift?: RedshiftDestinationProperties; S3?: S3DestinationProperties; Salesforce?: SalesforceDestinationProperties; Snowflake?: SnowflakeDestinationProperties; EventBridge?: EventBridgeDestinationProperties; Upsolver?: UpsolverDestinationProperties; LookoutMetrics?: LookoutMetricsDestinationProperties; Marketo?: MarketoDestinationProperties; Zendesk?: ZendeskDestinationProperties; CustomConnector?: CustomConnectorDestinationProperties; SAPOData?: SAPODataDestinationProperties; [k: string]: unknown; } export interface RedshiftDestinationProperties { Object: Object; IntermediateBucketName: BucketName; BucketPrefix?: BucketPrefix; ErrorHandlingConfig?: ErrorHandlingConfig; } export interface ErrorHandlingConfig { FailOnFirstError?: boolean; BucketPrefix?: BucketPrefix; BucketName?: BucketName; } export interface S3DestinationProperties { BucketName: BucketName; BucketPrefix?: BucketPrefix; S3OutputFormatConfig?: S3OutputFormatConfig; } export interface S3OutputFormatConfig { FileType?: FileType; PrefixConfig?: PrefixConfig; AggregationConfig?: AggregationConfig; PreserveSourceDataTyping?: PreserveSourceDataTyping; } export interface PrefixConfig { PrefixType?: PrefixType; PrefixFormat?: PrefixFormat; PathPrefixHierarchy?: PathPrefixHierarchy; } export interface AggregationConfig { AggregationType?: AggregationType; TargetFileSize?: TargetFileSize; [k: string]: unknown; } export interface SalesforceDestinationProperties { Object: Object; ErrorHandlingConfig?: ErrorHandlingConfig; /** * List of fields used as ID when performing a write operation. */ IdFieldNames?: string[]; WriteOperationType?: WriteOperationType; DataTransferApi?: DataTransferApi; } export interface SnowflakeDestinationProperties { Object: Object; IntermediateBucketName: BucketName; BucketPrefix?: BucketPrefix; ErrorHandlingConfig?: ErrorHandlingConfig; } export interface EventBridgeDestinationProperties { Object: Object; ErrorHandlingConfig?: ErrorHandlingConfig; } export interface UpsolverDestinationProperties { BucketName: UpsolverBucketName; BucketPrefix?: BucketPrefix; S3OutputFormatConfig: UpsolverS3OutputFormatConfig; } export interface UpsolverS3OutputFormatConfig { FileType?: FileType; PrefixConfig: PrefixConfig; AggregationConfig?: AggregationConfig; } export interface LookoutMetricsDestinationProperties { Object?: Object; } export interface MarketoDestinationProperties { Object: Object; ErrorHandlingConfig?: ErrorHandlingConfig; } export interface ZendeskDestinationProperties { Object: Object; ErrorHandlingConfig?: ErrorHandlingConfig; /** * List of fields used as ID when performing a write operation. */ IdFieldNames?: string[]; WriteOperationType?: WriteOperationType; } export interface CustomConnectorDestinationProperties { EntityName: EntityName; ErrorHandlingConfig?: ErrorHandlingConfig; WriteOperationType?: WriteOperationType; /** * List of fields used as ID when performing a write operation. */ IdFieldNames?: string[]; CustomProperties?: CustomProperties; } export interface SAPODataDestinationProperties { ObjectPath: Object; ErrorHandlingConfig?: ErrorHandlingConfig; SuccessResponseHandlingConfig?: SuccessResponseHandlingConfig; /** * List of fields used as ID when performing a write operation. */ IdFieldNames?: string[]; WriteOperationType?: WriteOperationType; } export interface SuccessResponseHandlingConfig { BucketPrefix?: BucketPrefix; BucketName?: BucketName; } export interface Task { /** * Source fields on which particular task will be applied */ SourceFields: string[]; ConnectorOperator?: ConnectorOperator; /** * A field value on which source field should be validated */ DestinationField?: string; /** * Type of task */ TaskType: | "Arithmetic" | "Filter" | "Map" | "Map_all" | "Mask" | "Merge" | "Passthrough" | "Truncate" | "Validate" | "Partition"; /** * A Map used to store task related info */ TaskProperties?: TaskPropertiesObject[]; } /** * Operation to be performed on provided source fields */ export interface ConnectorOperator { Amplitude?: AmplitudeConnectorOperator; Datadog?: DatadogConnectorOperator; Dynatrace?: DynatraceConnectorOperator; GoogleAnalytics?: GoogleAnalyticsConnectorOperator; InforNexus?: InforNexusConnectorOperator; Marketo?: MarketoConnectorOperator; S3?: S3ConnectorOperator; SAPOData?: SAPODataConnectorOperator; Salesforce?: SalesforceConnectorOperator; Pardot?: PardotConnectorOperator; ServiceNow?: ServiceNowConnectorOperator; Singular?: SingularConnectorOperator; Slack?: SlackConnectorOperator; Trendmicro?: TrendmicroConnectorOperator; Veeva?: VeevaConnectorOperator; Zendesk?: ZendeskConnectorOperator; CustomConnector?: Operator; [k: string]: unknown; } /** * An object used to store task related info */ export interface TaskPropertiesObject { Key: OperatorPropertiesKeys; Value: string; } /** * A label for tagging AppFlow resources */ export interface Tag { /** * A string used to identify this tag */ Key: string; /** * A string containing the value for the tag */ Value: string; } /** * Configurations of metadata catalog of the flow. */ export interface MetadataCatalogConfig { GlueDataCatalog?: GlueDataCatalog; } /** * Configurations of glue data catalog of the flow. */ export interface GlueDataCatalog { /** * A string containing the value for the tag */ RoleArn: string; /** * A string containing the value for the tag */ DatabaseName: string; /** * A string containing the value for the tag */ TablePrefix: string; }