import * as core from "@terrascript/core"; export interface ErrorHandlingConfigArgs extends core.SchemaArgs { bucketName?: string | core.StringOut; bucketPrefix?: string | core.StringOut; failOnFirstDestinationError?: boolean | core.BooleanOut; } export class ErrorHandlingConfig extends core.Schema { @core.attr(String) public bucketName?: string | core.StringOut; @core.attr(String) public bucketPrefix?: string | core.StringOut; @core.attr(Boolean) public failOnFirstDestinationError?: boolean | core.BooleanOut; } export interface DestinationConnectorPropertiesSalesforceArgs extends core.SchemaArgs { errorHandlingConfig?: ErrorHandlingConfig; idFieldNames?: core.Array | core.ArrayOut; object: string | core.StringOut; writeOperationType?: string | core.StringOut; } export class DestinationConnectorPropertiesSalesforce extends core.Schema { @core.attr(ErrorHandlingConfig) public errorHandlingConfig?: ErrorHandlingConfig; @core.attr(String, { kind: "array" }) public idFieldNames?: core.Array | core.ArrayOut; @core.attr(String) public object!: string | core.StringOut; @core.attr(String) public writeOperationType?: string | core.StringOut; } export interface UpsolverS3OutputFormatConfigPrefixConfigArgs extends core.SchemaArgs { prefixFormat?: string | core.StringOut; prefixType: string | core.StringOut; } export class UpsolverS3OutputFormatConfigPrefixConfig extends core.Schema { @core.attr(String) public prefixFormat?: string | core.StringOut; @core.attr(String) public prefixType!: string | core.StringOut; } export interface AggregationConfigArgs extends core.SchemaArgs { aggregationType?: string | core.StringOut; } export class AggregationConfig extends core.Schema { @core.attr(String) public aggregationType?: string | core.StringOut; } export interface UpsolverS3OutputFormatConfigArgs extends core.SchemaArgs { aggregationConfig?: AggregationConfig; fileType?: string | core.StringOut; prefixConfig: UpsolverS3OutputFormatConfigPrefixConfig; } export class UpsolverS3OutputFormatConfig extends core.Schema { @core.attr(AggregationConfig) public aggregationConfig?: AggregationConfig; @core.attr(String) public fileType?: string | core.StringOut; @core.attr(UpsolverS3OutputFormatConfigPrefixConfig) public prefixConfig!: UpsolverS3OutputFormatConfigPrefixConfig; } export interface UpsolverArgs extends core.SchemaArgs { bucketName: string | core.StringOut; bucketPrefix?: string | core.StringOut; s3OutputFormatConfig: UpsolverS3OutputFormatConfig; } export class Upsolver extends core.Schema { @core.attr(String) public bucketName!: string | core.StringOut; @core.attr(String) public bucketPrefix?: string | core.StringOut; @core.attr(UpsolverS3OutputFormatConfig) public s3OutputFormatConfig!: UpsolverS3OutputFormatConfig; } export interface RedshiftArgs extends core.SchemaArgs { bucketPrefix?: string | core.StringOut; errorHandlingConfig?: ErrorHandlingConfig; intermediateBucketName: string | core.StringOut; object: string | core.StringOut; } export class Redshift extends core.Schema { @core.attr(String) public bucketPrefix?: string | core.StringOut; @core.attr(ErrorHandlingConfig) public errorHandlingConfig?: ErrorHandlingConfig; @core.attr(String) public intermediateBucketName!: string | core.StringOut; @core.attr(String) public object!: string | core.StringOut; } export interface SuccessResponseHandlingConfigArgs extends core.SchemaArgs { bucketName?: string | core.StringOut; bucketPrefix?: string | core.StringOut; } export class SuccessResponseHandlingConfig extends core.Schema { @core.attr(String) public bucketName?: string | core.StringOut; @core.attr(String) public bucketPrefix?: string | core.StringOut; } export interface DestinationConnectorPropertiesSapoDataArgs extends core.SchemaArgs { errorHandlingConfig?: ErrorHandlingConfig; idFieldNames?: core.Array | core.ArrayOut; objectPath: string | core.StringOut; successResponseHandlingConfig?: SuccessResponseHandlingConfig; writeOperationType?: string | core.StringOut; } export class DestinationConnectorPropertiesSapoData extends core.Schema { @core.attr(ErrorHandlingConfig) public errorHandlingConfig?: ErrorHandlingConfig; @core.attr(String, { kind: "array" }) public idFieldNames?: core.Array | core.ArrayOut; @core.attr(String) public objectPath!: string | core.StringOut; @core.attr(SuccessResponseHandlingConfig) public successResponseHandlingConfig?: SuccessResponseHandlingConfig; @core.attr(String) public writeOperationType?: string | core.StringOut; } export interface DestinationConnectorPropertiesCustomConnectorArgs extends core.SchemaArgs { customProperties?: core.Map | core.MapOut; entityName: string | core.StringOut; errorHandlingConfig?: ErrorHandlingConfig; idFieldNames?: core.Array | core.ArrayOut; writeOperationType?: string | core.StringOut; } export class DestinationConnectorPropertiesCustomConnector extends core.Schema { @core.attr(String, { kind: "map" }) public customProperties?: | core.Map | core.MapOut; @core.attr(String) public entityName!: string | core.StringOut; @core.attr(ErrorHandlingConfig) public errorHandlingConfig?: ErrorHandlingConfig; @core.attr(String, { kind: "array" }) public idFieldNames?: core.Array | core.ArrayOut; @core.attr(String) public writeOperationType?: string | core.StringOut; } export interface SnowflakeArgs extends core.SchemaArgs { bucketPrefix?: string | core.StringOut; errorHandlingConfig?: ErrorHandlingConfig; intermediateBucketName: string | core.StringOut; object: string | core.StringOut; } export class Snowflake extends core.Schema { @core.attr(String) public bucketPrefix?: string | core.StringOut; @core.attr(ErrorHandlingConfig) public errorHandlingConfig?: ErrorHandlingConfig; @core.attr(String) public intermediateBucketName!: string | core.StringOut; @core.attr(String) public object!: string | core.StringOut; } export interface DestinationConnectorPropertiesZendeskArgs extends core.SchemaArgs { errorHandlingConfig?: ErrorHandlingConfig; idFieldNames?: core.Array | core.ArrayOut; object: string | core.StringOut; writeOperationType?: string | core.StringOut; } export class DestinationConnectorPropertiesZendesk extends core.Schema { @core.attr(ErrorHandlingConfig) public errorHandlingConfig?: ErrorHandlingConfig; @core.attr(String, { kind: "array" }) public idFieldNames?: core.Array | core.ArrayOut; @core.attr(String) public object!: string | core.StringOut; @core.attr(String) public writeOperationType?: string | core.StringOut; } export interface CustomerProfilesArgs extends core.SchemaArgs { domainName: string | core.StringOut; objectTypeName?: string | core.StringOut; } export class CustomerProfiles extends core.Schema { @core.attr(String) public domainName!: string | core.StringOut; @core.attr(String) public objectTypeName?: string | core.StringOut; } export interface EventBridgeArgs extends core.SchemaArgs { errorHandlingConfig?: ErrorHandlingConfig; object: string | core.StringOut; } export class EventBridge extends core.Schema { @core.attr(ErrorHandlingConfig) public errorHandlingConfig?: ErrorHandlingConfig; @core.attr(String) public object!: string | core.StringOut; } export interface DestinationConnectorPropertiesMarketoArgs extends core.SchemaArgs { errorHandlingConfig?: ErrorHandlingConfig; object: string | core.StringOut; } export class DestinationConnectorPropertiesMarketo extends core.Schema { @core.attr(ErrorHandlingConfig) public errorHandlingConfig?: ErrorHandlingConfig; @core.attr(String) public object!: string | core.StringOut; } export interface DestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs extends core.SchemaArgs { prefixFormat?: string | core.StringOut; prefixType?: string | core.StringOut; } export class DestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig extends core.Schema { @core.attr(String) public prefixFormat?: string | core.StringOut; @core.attr(String) public prefixType?: string | core.StringOut; } export interface DestinationConnectorPropertiesS3S3OutputFormatConfigArgs extends core.SchemaArgs { aggregationConfig?: AggregationConfig; fileType?: string | core.StringOut; prefixConfig?: DestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig; } export class DestinationConnectorPropertiesS3S3OutputFormatConfig extends core.Schema { @core.attr(AggregationConfig) public aggregationConfig?: AggregationConfig; @core.attr(String) public fileType?: string | core.StringOut; @core.attr(DestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig) public prefixConfig?: DestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig; } export interface DestinationConnectorPropertiesS3Args extends core.SchemaArgs { bucketName: string | core.StringOut; bucketPrefix?: string | core.StringOut; s3OutputFormatConfig?: DestinationConnectorPropertiesS3S3OutputFormatConfig; } export class DestinationConnectorPropertiesS3 extends core.Schema { @core.attr(String) public bucketName!: string | core.StringOut; @core.attr(String) public bucketPrefix?: string | core.StringOut; @core.attr(DestinationConnectorPropertiesS3S3OutputFormatConfig) public s3OutputFormatConfig?: DestinationConnectorPropertiesS3S3OutputFormatConfig; } export interface HoneycodeArgs extends core.SchemaArgs { errorHandlingConfig?: ErrorHandlingConfig; object: string | core.StringOut; } export class Honeycode extends core.Schema { @core.attr(ErrorHandlingConfig) public errorHandlingConfig?: ErrorHandlingConfig; @core.attr(String) public object!: string | core.StringOut; } export interface LookoutMetricsArgs extends core.SchemaArgs {} export class LookoutMetrics extends core.Schema {} export interface DestinationConnectorPropertiesArgs extends core.SchemaArgs { customConnector?: DestinationConnectorPropertiesCustomConnector; customerProfiles?: CustomerProfiles; eventBridge?: EventBridge; honeycode?: Honeycode; lookoutMetrics?: LookoutMetrics; marketo?: DestinationConnectorPropertiesMarketo; redshift?: Redshift; s3?: DestinationConnectorPropertiesS3; salesforce?: DestinationConnectorPropertiesSalesforce; sapoData?: DestinationConnectorPropertiesSapoData; snowflake?: Snowflake; upsolver?: Upsolver; zendesk?: DestinationConnectorPropertiesZendesk; } export class DestinationConnectorProperties extends core.Schema { @core.attr(DestinationConnectorPropertiesCustomConnector) public customConnector?: DestinationConnectorPropertiesCustomConnector; @core.attr(CustomerProfiles) public customerProfiles?: CustomerProfiles; @core.attr(EventBridge) public eventBridge?: EventBridge; @core.attr(Honeycode) public honeycode?: Honeycode; @core.attr(LookoutMetrics) public lookoutMetrics?: LookoutMetrics; @core.attr(DestinationConnectorPropertiesMarketo) public marketo?: DestinationConnectorPropertiesMarketo; @core.attr(Redshift) public redshift?: Redshift; @core.attr(DestinationConnectorPropertiesS3) public s3?: DestinationConnectorPropertiesS3; @core.attr(DestinationConnectorPropertiesSalesforce) public salesforce?: DestinationConnectorPropertiesSalesforce; @core.attr(DestinationConnectorPropertiesSapoData) public sapoData?: DestinationConnectorPropertiesSapoData; @core.attr(Snowflake) public snowflake?: Snowflake; @core.attr(Upsolver) public upsolver?: Upsolver; @core.attr(DestinationConnectorPropertiesZendesk) public zendesk?: DestinationConnectorPropertiesZendesk; } export interface DestinationFlowConfigArgs extends core.SchemaArgs { apiVersion?: string | core.StringOut; connectorProfileName?: string | core.StringOut; connectorType: string | core.StringOut; destinationConnectorProperties: DestinationConnectorProperties; } export class DestinationFlowConfig extends core.Schema { @core.attr(String) public apiVersion?: string | core.StringOut; @core.attr(String) public connectorProfileName?: string | core.StringOut; @core.attr(String) public connectorType!: string | core.StringOut; @core.attr(DestinationConnectorProperties) public destinationConnectorProperties!: DestinationConnectorProperties; } export interface ConnectorOperatorArgs extends core.SchemaArgs { amplitude?: string | core.StringOut; customConnector?: string | core.StringOut; datadog?: string | core.StringOut; dynatrace?: string | core.StringOut; googleAnalytics?: string | core.StringOut; inforNexus?: string | core.StringOut; marketo?: string | core.StringOut; s3?: string | core.StringOut; salesforce?: string | core.StringOut; sapoData?: string | core.StringOut; serviceNow?: string | core.StringOut; singular?: string | core.StringOut; slack?: string | core.StringOut; trendmicro?: string | core.StringOut; veeva?: string | core.StringOut; zendesk?: string | core.StringOut; } export class ConnectorOperator extends core.Schema { @core.attr(String) public amplitude?: string | core.StringOut; @core.attr(String) public customConnector?: string | core.StringOut; @core.attr(String) public datadog?: string | core.StringOut; @core.attr(String) public dynatrace?: string | core.StringOut; @core.attr(String) public googleAnalytics?: string | core.StringOut; @core.attr(String) public inforNexus?: string | core.StringOut; @core.attr(String) public marketo?: string | core.StringOut; @core.attr(String) public s3?: string | core.StringOut; @core.attr(String) public salesforce?: string | core.StringOut; @core.attr(String) public sapoData?: string | core.StringOut; @core.attr(String) public serviceNow?: string | core.StringOut; @core.attr(String) public singular?: string | core.StringOut; @core.attr(String) public slack?: string | core.StringOut; @core.attr(String) public trendmicro?: string | core.StringOut; @core.attr(String) public veeva?: string | core.StringOut; @core.attr(String) public zendesk?: string | core.StringOut; } export interface TaskArgs extends core.SchemaArgs { connectorOperator?: | core.Array | core.ArrayOut; destinationField?: string | core.StringOut; sourceFields: core.Array | core.ArrayOut; taskProperties?: core.Map | core.MapOut; taskType: string | core.StringOut; } export class Task extends core.Schema { @core.attr(ConnectorOperator, { kind: "array" }) public connectorOperator?: | core.Array | core.ArrayOut; @core.attr(String) public destinationField?: string | core.StringOut; @core.attr(String, { kind: "array" }) public sourceFields!: core.Array | core.ArrayOut; @core.attr(String, { kind: "map" }) public taskProperties?: | core.Map | core.MapOut; @core.attr(String) public taskType!: string | core.StringOut; } export interface IncrementalPullConfigArgs extends core.SchemaArgs { datetimeTypeFieldName?: string | core.StringOut; } export class IncrementalPullConfig extends core.Schema { @core.attr(String) public datetimeTypeFieldName?: string | core.StringOut; } export interface DynatraceArgs extends core.SchemaArgs { object: string | core.StringOut; } export class Dynatrace extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface SourceConnectorPropertiesSapoDataArgs extends core.SchemaArgs { object: string | core.StringOut; } export class SourceConnectorPropertiesSapoData extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface DatadogArgs extends core.SchemaArgs { object: string | core.StringOut; } export class Datadog extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface VeevaArgs extends core.SchemaArgs { documentType?: string | core.StringOut; includeAllVersions?: boolean | core.BooleanOut; includeRenditions?: boolean | core.BooleanOut; includeSourceFiles?: boolean | core.BooleanOut; object: string | core.StringOut; } export class Veeva extends core.Schema { @core.attr(String) public documentType?: string | core.StringOut; @core.attr(Boolean) public includeAllVersions?: boolean | core.BooleanOut; @core.attr(Boolean) public includeRenditions?: boolean | core.BooleanOut; @core.attr(Boolean) public includeSourceFiles?: boolean | core.BooleanOut; @core.attr(String) public object!: string | core.StringOut; } export interface InforNexusArgs extends core.SchemaArgs { object: string | core.StringOut; } export class InforNexus extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface TrendmicroArgs extends core.SchemaArgs { object: string | core.StringOut; } export class Trendmicro extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface SourceConnectorPropertiesSalesforceArgs extends core.SchemaArgs { enableDynamicFieldUpdate?: boolean | core.BooleanOut; includeDeletedRecords?: boolean | core.BooleanOut; object: string | core.StringOut; } export class SourceConnectorPropertiesSalesforce extends core.Schema { @core.attr(Boolean) public enableDynamicFieldUpdate?: boolean | core.BooleanOut; @core.attr(Boolean) public includeDeletedRecords?: boolean | core.BooleanOut; @core.attr(String) public object!: string | core.StringOut; } export interface ServiceNowArgs extends core.SchemaArgs { object: string | core.StringOut; } export class ServiceNow extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface SingularArgs extends core.SchemaArgs { object: string | core.StringOut; } export class Singular extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface SourceConnectorPropertiesMarketoArgs extends core.SchemaArgs { object: string | core.StringOut; } export class SourceConnectorPropertiesMarketo extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface S3InputFormatConfigArgs extends core.SchemaArgs { s3InputFileType?: string | core.StringOut; } export class S3InputFormatConfig extends core.Schema { @core.attr(String) public s3InputFileType?: string | core.StringOut; } export interface SourceConnectorPropertiesS3Args extends core.SchemaArgs { bucketName: string | core.StringOut; bucketPrefix?: string | core.StringOut; s3InputFormatConfig?: S3InputFormatConfig; } export class SourceConnectorPropertiesS3 extends core.Schema { @core.attr(String) public bucketName!: string | core.StringOut; @core.attr(String) public bucketPrefix?: string | core.StringOut; @core.attr(S3InputFormatConfig) public s3InputFormatConfig?: S3InputFormatConfig; } export interface AmplitudeArgs extends core.SchemaArgs { object: string | core.StringOut; } export class Amplitude extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface GoogleAnalyticsArgs extends core.SchemaArgs { object: string | core.StringOut; } export class GoogleAnalytics extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface SourceConnectorPropertiesZendeskArgs extends core.SchemaArgs { object: string | core.StringOut; } export class SourceConnectorPropertiesZendesk extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface SourceConnectorPropertiesCustomConnectorArgs extends core.SchemaArgs { customProperties?: core.Map | core.MapOut; entityName: string | core.StringOut; } export class SourceConnectorPropertiesCustomConnector extends core.Schema { @core.attr(String, { kind: "map" }) public customProperties?: | core.Map | core.MapOut; @core.attr(String) public entityName!: string | core.StringOut; } export interface SlackArgs extends core.SchemaArgs { object: string | core.StringOut; } export class Slack extends core.Schema { @core.attr(String) public object!: string | core.StringOut; } export interface SourceConnectorPropertiesArgs extends core.SchemaArgs { amplitude?: Amplitude; customConnector?: SourceConnectorPropertiesCustomConnector; datadog?: Datadog; dynatrace?: Dynatrace; googleAnalytics?: GoogleAnalytics; inforNexus?: InforNexus; marketo?: SourceConnectorPropertiesMarketo; s3?: SourceConnectorPropertiesS3; salesforce?: SourceConnectorPropertiesSalesforce; sapoData?: SourceConnectorPropertiesSapoData; serviceNow?: ServiceNow; singular?: Singular; slack?: Slack; trendmicro?: Trendmicro; veeva?: Veeva; zendesk?: SourceConnectorPropertiesZendesk; } export class SourceConnectorProperties extends core.Schema { @core.attr(Amplitude) public amplitude?: Amplitude; @core.attr(SourceConnectorPropertiesCustomConnector) public customConnector?: SourceConnectorPropertiesCustomConnector; @core.attr(Datadog) public datadog?: Datadog; @core.attr(Dynatrace) public dynatrace?: Dynatrace; @core.attr(GoogleAnalytics) public googleAnalytics?: GoogleAnalytics; @core.attr(InforNexus) public inforNexus?: InforNexus; @core.attr(SourceConnectorPropertiesMarketo) public marketo?: SourceConnectorPropertiesMarketo; @core.attr(SourceConnectorPropertiesS3) public s3?: SourceConnectorPropertiesS3; @core.attr(SourceConnectorPropertiesSalesforce) public salesforce?: SourceConnectorPropertiesSalesforce; @core.attr(SourceConnectorPropertiesSapoData) public sapoData?: SourceConnectorPropertiesSapoData; @core.attr(ServiceNow) public serviceNow?: ServiceNow; @core.attr(Singular) public singular?: Singular; @core.attr(Slack) public slack?: Slack; @core.attr(Trendmicro) public trendmicro?: Trendmicro; @core.attr(Veeva) public veeva?: Veeva; @core.attr(SourceConnectorPropertiesZendesk) public zendesk?: SourceConnectorPropertiesZendesk; } export interface SourceFlowConfigArgs extends core.SchemaArgs { apiVersion?: string | core.StringOut; connectorProfileName?: string | core.StringOut; connectorType: string | core.StringOut; incrementalPullConfig?: IncrementalPullConfig; sourceConnectorProperties: SourceConnectorProperties; } export class SourceFlowConfig extends core.Schema { @core.attr(String) public apiVersion?: string | core.StringOut; @core.attr(String) public connectorProfileName?: string | core.StringOut; @core.attr(String) public connectorType!: string | core.StringOut; @core.attr(IncrementalPullConfig) public incrementalPullConfig?: IncrementalPullConfig; @core.attr(SourceConnectorProperties) public sourceConnectorProperties!: SourceConnectorProperties; } export interface ScheduledArgs extends core.SchemaArgs { dataPullMode?: string | core.StringOut; firstExecutionFrom?: string | core.StringOut; scheduleEndTime?: string | core.StringOut; scheduleExpression: string | core.StringOut; scheduleOffset?: number | core.NumberOut; scheduleStartTime?: string | core.StringOut; timezone?: string | core.StringOut; } export class Scheduled extends core.Schema { @core.attr(String) public dataPullMode?: string | core.StringOut; @core.attr(String) public firstExecutionFrom?: string | core.StringOut; @core.attr(String) public scheduleEndTime?: string | core.StringOut; @core.attr(String) public scheduleExpression!: string | core.StringOut; @core.attr(Number) public scheduleOffset?: number | core.NumberOut; @core.attr(String) public scheduleStartTime?: string | core.StringOut; @core.attr(String) public timezone?: string | core.StringOut; } export interface TriggerPropertiesArgs extends core.SchemaArgs { scheduled?: Scheduled; } export class TriggerProperties extends core.Schema { @core.attr(Scheduled) public scheduled?: Scheduled; } export interface TriggerConfigArgs extends core.SchemaArgs { triggerProperties?: TriggerProperties; triggerType: string | core.StringOut; } export class TriggerConfig extends core.Schema { @core.attr(TriggerProperties, { computed: true }) public triggerProperties?: TriggerProperties; @core.attr(String) public triggerType!: string | core.StringOut; } export interface FlowArgs extends core.ResourceArgs { /** * (Optional) A description of the flow you want to create. */ description?: string | core.StringOut; /** * (Required) A [Destination Flow Config](#destination-flow-config) that controls how Amazon AppFlow pl * aces data in the destination connector. */ destinationFlowConfig: | core.Array | core.ArrayOut; /** * (Optional) The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for en * cryption. 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. */ kmsArn?: string | core.StringOut; /** * (Required) The name of the flow. */ name: string | core.StringOut; /** * (Required) The [Source Flow Config](#source-flow-config) that controls how Amazon AppFlow retrieves * data from the source connector. */ sourceFlowConfig: SourceFlowConfig; /** * (Optional) Key-value mapping of resource tags. If configured with a provider [`default_tags` configu * ration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configu * ration-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Required) A [Task](#task) that Amazon AppFlow performs while transferring the data in the flow run. */ task: core.Array | core.ArrayOut; /** * (Required) A [Trigger](#trigger-config) that determine how and when the flow runs. */ triggerConfig: TriggerConfig; } export class Flow extends core.Resource { /** * The flow's Amazon Resource Name (ARN). */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) A description of the flow you want to create. */ @core.attr(String) public description?: string | core.StringOut; /** * (Required) A [Destination Flow Config](#destination-flow-config) that controls how Amazon AppFlow pl * aces data in the destination connector. */ @core.attr(DestinationFlowConfig, { kind: "array" }) public destinationFlowConfig!: | core.Array | core.ArrayOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for en * cryption. 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. */ @core.attr(String, { computed: true }) public kmsArn?: string | core.StringOut; /** * (Required) The name of the flow. */ @core.attr(String) public name!: string | core.StringOut; /** * (Required) The [Source Flow Config](#source-flow-config) that controls how Amazon AppFlow retrieves * data from the source connector. */ @core.attr(SourceFlowConfig) public sourceFlowConfig!: SourceFlowConfig; /** * (Optional) Key-value mapping of resource tags. If configured with a provider [`default_tags` configu * ration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configu * ration-block) present, tags with matching keys will overwrite those defined at the provider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * (Required) A [Task](#task) that Amazon AppFlow performs while transferring the data in the flow run. */ @core.attr(Task, { kind: "array" }) public task!: core.Array | core.ArrayOut; /** * (Required) A [Trigger](#trigger-config) that determine how and when the flow runs. */ @core.attr(TriggerConfig) public triggerConfig!: TriggerConfig; constructor(name: string, args?: FlowArgs) { super(name, "aws_appflow_flow", args); } public override getNamespace(): string { return "aws_appflow"; } }