@@ -37,6 +37,14 @@ export interface AggregationConfig {
37
37
* leave them unaggregated. </p>
38
38
*/
39
39
aggregationType ?: AggregationType | string ;
40
+
41
+ /**
42
+ * <p>The desired file size, in MB, for each output file that Amazon AppFlow writes to the
43
+ * flow destination. For each file, Amazon AppFlow attempts to achieve the size that you
44
+ * specify. The actual file sizes might differ from this target based on the number and size of
45
+ * the records that each file contains.</p>
46
+ */
47
+ targetFileSize ?: number ;
40
48
}
41
49
42
50
export enum AmplitudeConnectorOperator {
@@ -283,6 +291,10 @@ export interface BasicAuthCredentials {
283
291
password : string | undefined ;
284
292
}
285
293
294
+ export enum CatalogType {
295
+ GLUE = "GLUE" ,
296
+ }
297
+
286
298
/**
287
299
* <p> There was a conflict when processing the request (for example, a flow with the given name
288
300
* already exists within the account. Check for conflicting resource names and try again. </p>
@@ -2846,6 +2858,11 @@ export enum FileType {
2846
2858
PARQUET = "PARQUET" ,
2847
2859
}
2848
2860
2861
+ export enum PathPrefix {
2862
+ EXECUTION_ID = "EXECUTION_ID" ,
2863
+ SCHEMA_VERSION = "SCHEMA_VERSION" ,
2864
+ }
2865
+
2849
2866
export enum PrefixFormat {
2850
2867
DAY = "DAY" ,
2851
2868
HOUR = "HOUR" ,
@@ -2861,20 +2878,49 @@ export enum PrefixType {
2861
2878
}
2862
2879
2863
2880
/**
2864
- * <p> Determines the prefix that Amazon AppFlow applies to the destination folder name.
2865
- * You can name your destination folders according to the flow frequency and date. </p>
2881
+ * <p>Specifies elements that Amazon AppFlow includes in the file and folder names in the flow
2882
+ * destination. </p>
2866
2883
*/
2867
2884
export interface PrefixConfig {
2868
2885
/**
2869
- * <p> Determines the format of the prefix, and whether it applies to the file name, file path,
2886
+ * <p>Determines the format of the prefix, and whether it applies to the file name, file path,
2870
2887
* or both. </p>
2871
2888
*/
2872
2889
prefixType ?: PrefixType | string ;
2873
2890
2874
2891
/**
2875
- * <p> Determines the level of granularity that's included in the prefix. </p>
2892
+ * <p>Determines the level of granularity for the date and time that's included in the prefix. </p>
2876
2893
*/
2877
2894
prefixFormat ?: PrefixFormat | string ;
2895
+
2896
+ /**
2897
+ * <p>Specifies whether the destination file path includes either or both of the following
2898
+ * elements:</p>
2899
+ * <dl>
2900
+ * <dt>EXECUTION_ID</dt>
2901
+ * <dd>
2902
+ * <p>The ID that Amazon AppFlow assigns to the flow run.</p>
2903
+ * </dd>
2904
+ * <dt>SCHEMA_VERSION</dt>
2905
+ * <dd>
2906
+ * <p>The version number of your data schema. Amazon AppFlow assigns this version
2907
+ * number. The version number increases by one when you change any of the following
2908
+ * settings in your flow configuration:</p>
2909
+ * <ul>
2910
+ * <li>
2911
+ * <p>Source-to-destination field mappings</p>
2912
+ * </li>
2913
+ * <li>
2914
+ * <p>Field data types</p>
2915
+ * </li>
2916
+ * <li>
2917
+ * <p>Partition keys</p>
2918
+ * </li>
2919
+ * </ul>
2920
+ * </dd>
2921
+ * </dl>
2922
+ */
2923
+ pathPrefixHierarchy ?: ( PathPrefix | string ) [ ] ;
2878
2924
}
2879
2925
2880
2926
/**
@@ -3113,8 +3159,8 @@ export interface UpsolverS3OutputFormatConfig {
3113
3159
fileType ?: FileType | string ;
3114
3160
3115
3161
/**
3116
- * <p> Determines the prefix that Amazon AppFlow applies to the destination folder name.
3117
- * You can name your destination folders according to the flow frequency and date. </p>
3162
+ * <p>Specifies elements that Amazon AppFlow includes in the file and folder names in the flow
3163
+ * destination. </p>
3118
3164
*/
3119
3165
prefixConfig : PrefixConfig | undefined ;
3120
3166
@@ -3275,6 +3321,56 @@ export interface DestinationFlowConfig {
3275
3321
destinationConnectorProperties : DestinationConnectorProperties | undefined ;
3276
3322
}
3277
3323
3324
+ /**
3325
+ * <p>Specifies the configuration that Amazon AppFlow uses when it catalogs your data with
3326
+ * the Glue Data Catalog. When Amazon AppFlow catalogs your data, it stores
3327
+ * metadata in Data Catalog tables. This metadata represents the data that's transferred
3328
+ * by the flow that you configure with these settings.</p>
3329
+ * <note>
3330
+ * <p>You can configure a flow with these settings only when the flow destination is Amazon S3.</p>
3331
+ * </note>
3332
+ */
3333
+ export interface GlueDataCatalogConfig {
3334
+ /**
3335
+ * <p>The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow the permissions it needs to create Data Catalog tables, databases, and
3336
+ * partitions.</p>
3337
+ * <p>For an example IAM policy that has the required permissions, see <a href="https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_id-based-policy-examples.html">Identity-based
3338
+ * policy examples for Amazon AppFlow</a>.</p>
3339
+ */
3340
+ roleArn : string | undefined ;
3341
+
3342
+ /**
3343
+ * <p>The name of the Data Catalog database that stores the metadata tables that
3344
+ * Amazon AppFlow creates in your Amazon Web Services account. These tables contain
3345
+ * metadata for the data that's transferred by the flow that you configure with this
3346
+ * parameter.</p>
3347
+ * <note>
3348
+ * <p>When you configure a new flow with this parameter, you must specify an existing
3349
+ * database.</p>
3350
+ * </note>
3351
+ */
3352
+ databaseName : string | undefined ;
3353
+
3354
+ /**
3355
+ * <p>A naming prefix for each Data Catalog table that Amazon AppFlow creates for
3356
+ * the flow that you configure with this setting. Amazon AppFlow adds the prefix to the
3357
+ * beginning of the each table name.</p>
3358
+ */
3359
+ tablePrefix : string | undefined ;
3360
+ }
3361
+
3362
+ /**
3363
+ * <p>Specifies the configuration that Amazon AppFlow uses when it catalogs your data.
3364
+ * When Amazon AppFlow catalogs your data, it stores metadata in a data catalog.</p>
3365
+ */
3366
+ export interface MetadataCatalogConfig {
3367
+ /**
3368
+ * <p>Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the
3369
+ * Glue Data Catalog.</p>
3370
+ */
3371
+ glueDataCatalog ?: GlueDataCatalogConfig ;
3372
+ }
3373
+
3278
3374
/**
3279
3375
* <p> Specifies the configuration used when importing incremental records from the source.
3280
3376
* </p>
@@ -3675,6 +3771,7 @@ export enum OperatorPropertiesKeys {
3675
3771
MASK_LENGTH = "MASK_LENGTH" ,
3676
3772
MASK_VALUE = "MASK_VALUE" ,
3677
3773
MATH_OPERATION_FIELDS_ORDER = "MATH_OPERATION_FIELDS_ORDER" ,
3774
+ ORDERED_PARTITION_KEYS_LIST = "ORDERED_PARTITION_KEYS_LIST" ,
3678
3775
SOURCE_DATA_TYPE = "SOURCE_DATA_TYPE" ,
3679
3776
SUBFIELD_CATEGORY_MAP = "SUBFIELD_CATEGORY_MAP" ,
3680
3777
TRUNCATE_LENGTH = "TRUNCATE_LENGTH" ,
@@ -3691,6 +3788,7 @@ export enum TaskType {
3691
3788
MAP_ALL = "Map_all" ,
3692
3789
MASK = "Mask" ,
3693
3790
MERGE = "Merge" ,
3791
+ PARTITION = "Partition" ,
3694
3792
PASSTHROUGH = "Passthrough" ,
3695
3793
TRUNCATE = "Truncate" ,
3696
3794
VALIDATE = "Validate" ,
@@ -3870,6 +3968,13 @@ export interface CreateFlowRequest {
3870
3968
* <p> The tags used to organize, track, or control access for your flow. </p>
3871
3969
*/
3872
3970
tags ?: Record < string , string > ;
3971
+
3972
+ /**
3973
+ * <p>Specifies the configuration that Amazon AppFlow uses when it catalogs the data
3974
+ * that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a
3975
+ * flow, it stores metadata in a data catalog.</p>
3976
+ */
3977
+ metadataCatalogConfig ?: MetadataCatalogConfig ;
3873
3978
}
3874
3979
3875
3980
export enum FlowStatus {
@@ -4113,6 +4218,72 @@ export interface ExecutionDetails {
4113
4218
mostRecentExecutionStatus ?: ExecutionStatus | string ;
4114
4219
}
4115
4220
4221
+ /**
4222
+ * <p>Describes the status of an attempt from Amazon AppFlow to register a
4223
+ * resource.</p>
4224
+ * <p>When you run a flow that you've configured to use a metadata catalog, Amazon AppFlow
4225
+ * registers a metadata table and data partitions with that catalog. This operation provides the
4226
+ * status of that registration attempt. The operation also indicates how many related resources
4227
+ * Amazon AppFlow created or updated.</p>
4228
+ */
4229
+ export interface RegistrationOutput {
4230
+ /**
4231
+ * <p>Explains the status of the registration attempt from Amazon AppFlow. If the attempt
4232
+ * fails, the message explains why.</p>
4233
+ */
4234
+ message ?: string ;
4235
+
4236
+ /**
4237
+ * <p>Indicates the number of resources that Amazon AppFlow created or updated. Possible
4238
+ * resources include metadata tables and data partitions.</p>
4239
+ */
4240
+ result ?: string ;
4241
+
4242
+ /**
4243
+ * <p>Indicates the status of the registration attempt from Amazon AppFlow.</p>
4244
+ */
4245
+ status ?: ExecutionStatus | string ;
4246
+ }
4247
+
4248
+ /**
4249
+ * <p>Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.</p>
4250
+ */
4251
+ export interface MetadataCatalogDetail {
4252
+ /**
4253
+ * <p>The type of metadata catalog that Amazon AppFlow used for the associated flow run.
4254
+ * This parameter returns the following value:</p>
4255
+ * <dl>
4256
+ * <dt>GLUE</dt>
4257
+ * <dd>
4258
+ * <p>The metadata catalog is provided by the Glue Data Catalog. Glue includes the Glue Data Catalog as a component.</p>
4259
+ * </dd>
4260
+ * </dl>
4261
+ */
4262
+ catalogType ?: CatalogType | string ;
4263
+
4264
+ /**
4265
+ * <p>The name of the table that stores the metadata for the associated flow run. The table
4266
+ * stores metadata that represents the data that the flow transferred. Amazon AppFlow
4267
+ * stores the table in the metadata catalog.</p>
4268
+ */
4269
+ tableName ?: string ;
4270
+
4271
+ /**
4272
+ * <p>Describes the status of the attempt from Amazon AppFlow to register the metadata
4273
+ * table with the metadata catalog. Amazon AppFlow creates or updates this table for the
4274
+ * associated flow run.</p>
4275
+ */
4276
+ tableRegistrationOutput ?: RegistrationOutput ;
4277
+
4278
+ /**
4279
+ * <p>Describes the status of the attempt from Amazon AppFlow to register the data
4280
+ * partitions with the metadata catalog. The data partitions organize the flow output into a
4281
+ * hierarchical path, such as a folder path in an S3 bucket. Amazon AppFlow creates the
4282
+ * partitions (if they don't already exist) based on your flow configuration.</p>
4283
+ */
4284
+ partitionRegistrationOutput ?: RegistrationOutput ;
4285
+ }
4286
+
4116
4287
export interface DescribeFlowResponse {
4117
4288
/**
4118
4289
* <p> The flow's Amazon Resource Name (ARN). </p>
@@ -4200,6 +4371,36 @@ export interface DescribeFlowResponse {
4200
4371
* <p> The tags used to organize, track, or control access for your flow. </p>
4201
4372
*/
4202
4373
tags ?: Record < string , string > ;
4374
+
4375
+ /**
4376
+ * <p>Specifies the configuration that Amazon AppFlow uses when it catalogs the data
4377
+ * that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a
4378
+ * flow, it stores metadata in a data catalog.</p>
4379
+ */
4380
+ metadataCatalogConfig ?: MetadataCatalogConfig ;
4381
+
4382
+ /**
4383
+ * <p>Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.</p>
4384
+ */
4385
+ lastRunMetadataCatalogDetails ?: MetadataCatalogDetail [ ] ;
4386
+
4387
+ /**
4388
+ * <p>The version number of your data schema. Amazon AppFlow assigns this version number.
4389
+ * The version number increases by one when you change any of the following settings in your flow
4390
+ * configuration:</p>
4391
+ * <ul>
4392
+ * <li>
4393
+ * <p>Source-to-destination field mappings</p>
4394
+ * </li>
4395
+ * <li>
4396
+ * <p>Field data types</p>
4397
+ * </li>
4398
+ * <li>
4399
+ * <p>Partition keys</p>
4400
+ * </li>
4401
+ * </ul>
4402
+ */
4403
+ schemaVersion ?: number ;
4203
4404
}
4204
4405
4205
4406
export interface DescribeFlowExecutionRecordsRequest {
@@ -4303,6 +4504,11 @@ export interface ExecutionRecord {
4303
4504
* run. </p>
4304
4505
*/
4305
4506
dataPullEndTime ?: Date ;
4507
+
4508
+ /**
4509
+ * <p>Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.</p>
4510
+ */
4511
+ metadataCatalogDetails ?: MetadataCatalogDetail [ ] ;
4306
4512
}
4307
4513
4308
4514
export interface DescribeFlowExecutionRecordsResponse {
@@ -4723,6 +4929,13 @@ export interface UpdateFlowRequest {
4723
4929
* flow run. </p>
4724
4930
*/
4725
4931
tasks : Task [ ] | undefined ;
4932
+
4933
+ /**
4934
+ * <p>Specifies the configuration that Amazon AppFlow uses when it catalogs the data
4935
+ * that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a
4936
+ * flow, it stores metadata in a data catalog.</p>
4937
+ */
4938
+ metadataCatalogConfig ?: MetadataCatalogConfig ;
4726
4939
}
4727
4940
4728
4941
export interface UpdateFlowResponse {
@@ -5632,6 +5845,20 @@ export const DestinationFlowConfigFilterSensitiveLog = (obj: DestinationFlowConf
5632
5845
...obj ,
5633
5846
} ) ;
5634
5847
5848
+ /**
5849
+ * @internal
5850
+ */
5851
+ export const GlueDataCatalogConfigFilterSensitiveLog = ( obj : GlueDataCatalogConfig ) : any => ( {
5852
+ ...obj ,
5853
+ } ) ;
5854
+
5855
+ /**
5856
+ * @internal
5857
+ */
5858
+ export const MetadataCatalogConfigFilterSensitiveLog = ( obj : MetadataCatalogConfig ) : any => ( {
5859
+ ...obj ,
5860
+ } ) ;
5861
+
5635
5862
/**
5636
5863
* @internal
5637
5864
*/
@@ -5905,6 +6132,20 @@ export const ExecutionDetailsFilterSensitiveLog = (obj: ExecutionDetails): any =
5905
6132
...obj ,
5906
6133
} ) ;
5907
6134
6135
+ /**
6136
+ * @internal
6137
+ */
6138
+ export const RegistrationOutputFilterSensitiveLog = ( obj : RegistrationOutput ) : any => ( {
6139
+ ...obj ,
6140
+ } ) ;
6141
+
6142
+ /**
6143
+ * @internal
6144
+ */
6145
+ export const MetadataCatalogDetailFilterSensitiveLog = ( obj : MetadataCatalogDetail ) : any => ( {
6146
+ ...obj ,
6147
+ } ) ;
6148
+
5908
6149
/**
5909
6150
* @internal
5910
6151
*/
0 commit comments