aws-sdk-appflow 1.29.0 → 1.30.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c6119b9783e8d09b05b09508d788d09944030312fafff2685704ccc9e1ecbf9
4
- data.tar.gz: 5dc5dc71f250734e977b7b87754ea757fbe6ebe943133b498e2d26230c8f8406
3
+ metadata.gz: 957ffd1d2b407f7410aa1554e0e3ff5f36dcef3f5b61f8c443094b9068747b13
4
+ data.tar.gz: 581cd0255b3dfa2c2ec733f5756e6116514ae9e25a2b5a0fd324569949cccf07
5
5
  SHA512:
6
- metadata.gz: 34ab304e3f3e6040c61fb7b44c19f2887a38d3c087657b021fd985d9ba295004fae5dba44bda579f18efd38407af22bc35b2757f1fd5f67da2e34d20abec780b
7
- data.tar.gz: f96094b29bff6e1c8b9838ff4ad8b0f2a89c98281b8c4f1460bf8a6b65d8ccf62bbd64e612332a2157f2c483a0ea28b92b5dcb529741ccd664d88742313fd881
6
+ metadata.gz: 67ea05bb9666646427a1c6bdbdc38a443bd830680215583c315fe6f7057fc0cff9a4c0bf284a6207a922c28e5ea80cc91bedb5158a5a1c3741fb6f48274e3616
7
+ data.tar.gz: d06488ad04059c1ec3e2ea270fc62fc322477fc88712a3d40bb1097cccc85e1d74e654531eb07e0c6ff9b0ce3d15fe54ba01a0fb9fd17b0bf3d200f3ba1c6c9f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.30.0 (2022-11-17)
5
+ ------------------
6
+
7
+ * Feature - AppFlow simplifies the preparation and cataloging of SaaS data into the AWS Glue Data Catalog where your data can be discovered and accessed by AWS analytics and ML services. AppFlow now also supports data field partitioning and file size optimization to improve query performance and reduce cost.
8
+
4
9
  1.29.0 (2022-10-25)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.29.0
1
+ 1.30.0
@@ -688,6 +688,12 @@ module Aws::Appflow
688
688
  # @option params [Hash<String,String>] :tags
689
689
  # The tags used to organize, track, or control access for your flow.
690
690
  #
691
+ # @option params [Types::MetadataCatalogConfig] :metadata_catalog_config
692
+ # Specifies the configuration that Amazon AppFlow uses when it catalogs
693
+ # the data that's transferred by the associated flow. When Amazon
694
+ # AppFlow catalogs the data from a flow, it stores metadata in a data
695
+ # catalog.
696
+ #
691
697
  # @return [Types::CreateFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
692
698
  #
693
699
  # * {Types::CreateFlowResponse#flow_arn #flow_arn} => String
@@ -810,9 +816,11 @@ module Aws::Appflow
810
816
  # prefix_config: {
811
817
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
812
818
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
819
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
813
820
  # },
814
821
  # aggregation_config: {
815
822
  # aggregation_type: "None", # accepts None, SingleFile
823
+ # target_file_size: 1,
816
824
  # },
817
825
  # preserve_source_data_typing: false,
818
826
  # },
@@ -856,9 +864,11 @@ module Aws::Appflow
856
864
  # prefix_config: { # required
857
865
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
858
866
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
867
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
859
868
  # },
860
869
  # aggregation_config: {
861
870
  # aggregation_type: "None", # accepts None, SingleFile
871
+ # target_file_size: 1,
862
872
  # },
863
873
  # },
864
874
  # },
@@ -944,7 +954,7 @@ module Aws::Appflow
944
954
  # custom_connector: "PROJECTION", # accepts 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
945
955
  # },
946
956
  # destination_field: "DestinationField",
947
- # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate
957
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate, Partition
948
958
  # task_properties: {
949
959
  # "VALUE" => "Property",
950
960
  # },
@@ -953,6 +963,13 @@ module Aws::Appflow
953
963
  # tags: {
954
964
  # "TagKey" => "TagValue",
955
965
  # },
966
+ # metadata_catalog_config: {
967
+ # glue_data_catalog: {
968
+ # role_arn: "GlueDataCatalogIAMRole", # required
969
+ # database_name: "GlueDataCatalogDatabaseName", # required
970
+ # table_prefix: "GlueDataCatalogTablePrefix", # required
971
+ # },
972
+ # },
956
973
  # })
957
974
  #
958
975
  # @example Response structure
@@ -1496,6 +1513,9 @@ module Aws::Appflow
1496
1513
  # * {Types::DescribeFlowResponse#created_by #created_by} => String
1497
1514
  # * {Types::DescribeFlowResponse#last_updated_by #last_updated_by} => String
1498
1515
  # * {Types::DescribeFlowResponse#tags #tags} => Hash&lt;String,String&gt;
1516
+ # * {Types::DescribeFlowResponse#metadata_catalog_config #metadata_catalog_config} => Types::MetadataCatalogConfig
1517
+ # * {Types::DescribeFlowResponse#last_run_metadata_catalog_details #last_run_metadata_catalog_details} => Array&lt;Types::MetadataCatalogDetail&gt;
1518
+ # * {Types::DescribeFlowResponse#schema_version #schema_version} => Integer
1499
1519
  #
1500
1520
  # @example Request syntax with placeholder values
1501
1521
  #
@@ -1557,7 +1577,10 @@ module Aws::Appflow
1557
1577
  # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.file_type #=> String, one of "CSV", "JSON", "PARQUET"
1558
1578
  # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.prefix_config.prefix_type #=> String, one of "FILENAME", "PATH", "PATH_AND_FILENAME"
1559
1579
  # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.prefix_config.prefix_format #=> String, one of "YEAR", "MONTH", "DAY", "HOUR", "MINUTE"
1580
+ # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.prefix_config.path_prefix_hierarchy #=> Array
1581
+ # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.prefix_config.path_prefix_hierarchy[0] #=> String, one of "EXECUTION_ID", "SCHEMA_VERSION"
1560
1582
  # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.aggregation_config.aggregation_type #=> String, one of "None", "SingleFile"
1583
+ # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.aggregation_config.target_file_size #=> Integer
1561
1584
  # resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.preserve_source_data_typing #=> Boolean
1562
1585
  # resp.destination_flow_config_list[0].destination_connector_properties.salesforce.object #=> String
1563
1586
  # resp.destination_flow_config_list[0].destination_connector_properties.salesforce.id_field_names #=> Array
@@ -1582,7 +1605,10 @@ module Aws::Appflow
1582
1605
  # resp.destination_flow_config_list[0].destination_connector_properties.upsolver.s3_output_format_config.file_type #=> String, one of "CSV", "JSON", "PARQUET"
1583
1606
  # resp.destination_flow_config_list[0].destination_connector_properties.upsolver.s3_output_format_config.prefix_config.prefix_type #=> String, one of "FILENAME", "PATH", "PATH_AND_FILENAME"
1584
1607
  # resp.destination_flow_config_list[0].destination_connector_properties.upsolver.s3_output_format_config.prefix_config.prefix_format #=> String, one of "YEAR", "MONTH", "DAY", "HOUR", "MINUTE"
1608
+ # resp.destination_flow_config_list[0].destination_connector_properties.upsolver.s3_output_format_config.prefix_config.path_prefix_hierarchy #=> Array
1609
+ # resp.destination_flow_config_list[0].destination_connector_properties.upsolver.s3_output_format_config.prefix_config.path_prefix_hierarchy[0] #=> String, one of "EXECUTION_ID", "SCHEMA_VERSION"
1585
1610
  # resp.destination_flow_config_list[0].destination_connector_properties.upsolver.s3_output_format_config.aggregation_config.aggregation_type #=> String, one of "None", "SingleFile"
1611
+ # resp.destination_flow_config_list[0].destination_connector_properties.upsolver.s3_output_format_config.aggregation_config.target_file_size #=> Integer
1586
1612
  # resp.destination_flow_config_list[0].destination_connector_properties.honeycode.object #=> String
1587
1613
  # resp.destination_flow_config_list[0].destination_connector_properties.honeycode.error_handling_config.fail_on_first_destination_error #=> Boolean
1588
1614
  # resp.destination_flow_config_list[0].destination_connector_properties.honeycode.error_handling_config.bucket_prefix #=> String
@@ -1650,7 +1676,7 @@ module Aws::Appflow
1650
1676
  # resp.tasks[0].connector_operator.sapo_data #=> String, one of "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"
1651
1677
  # resp.tasks[0].connector_operator.custom_connector #=> String, one of "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"
1652
1678
  # resp.tasks[0].destination_field #=> String
1653
- # resp.tasks[0].task_type #=> String, one of "Arithmetic", "Filter", "Map", "Map_all", "Mask", "Merge", "Passthrough", "Truncate", "Validate"
1679
+ # resp.tasks[0].task_type #=> String, one of "Arithmetic", "Filter", "Map", "Map_all", "Mask", "Merge", "Passthrough", "Truncate", "Validate", "Partition"
1654
1680
  # resp.tasks[0].task_properties #=> Hash
1655
1681
  # resp.tasks[0].task_properties["OperatorPropertiesKeys"] #=> String
1656
1682
  # resp.created_at #=> Time
@@ -1659,6 +1685,19 @@ module Aws::Appflow
1659
1685
  # resp.last_updated_by #=> String
1660
1686
  # resp.tags #=> Hash
1661
1687
  # resp.tags["TagKey"] #=> String
1688
+ # resp.metadata_catalog_config.glue_data_catalog.role_arn #=> String
1689
+ # resp.metadata_catalog_config.glue_data_catalog.database_name #=> String
1690
+ # resp.metadata_catalog_config.glue_data_catalog.table_prefix #=> String
1691
+ # resp.last_run_metadata_catalog_details #=> Array
1692
+ # resp.last_run_metadata_catalog_details[0].catalog_type #=> String, one of "GLUE"
1693
+ # resp.last_run_metadata_catalog_details[0].table_name #=> String
1694
+ # resp.last_run_metadata_catalog_details[0].table_registration_output.message #=> String
1695
+ # resp.last_run_metadata_catalog_details[0].table_registration_output.result #=> String
1696
+ # resp.last_run_metadata_catalog_details[0].table_registration_output.status #=> String, one of "InProgress", "Successful", "Error"
1697
+ # resp.last_run_metadata_catalog_details[0].partition_registration_output.message #=> String
1698
+ # resp.last_run_metadata_catalog_details[0].partition_registration_output.result #=> String
1699
+ # resp.last_run_metadata_catalog_details[0].partition_registration_output.status #=> String, one of "InProgress", "Successful", "Error"
1700
+ # resp.schema_version #=> Integer
1662
1701
  #
1663
1702
  # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DescribeFlow AWS API Documentation
1664
1703
  #
@@ -1712,6 +1751,15 @@ module Aws::Appflow
1712
1751
  # resp.flow_executions[0].last_updated_at #=> Time
1713
1752
  # resp.flow_executions[0].data_pull_start_time #=> Time
1714
1753
  # resp.flow_executions[0].data_pull_end_time #=> Time
1754
+ # resp.flow_executions[0].metadata_catalog_details #=> Array
1755
+ # resp.flow_executions[0].metadata_catalog_details[0].catalog_type #=> String, one of "GLUE"
1756
+ # resp.flow_executions[0].metadata_catalog_details[0].table_name #=> String
1757
+ # resp.flow_executions[0].metadata_catalog_details[0].table_registration_output.message #=> String
1758
+ # resp.flow_executions[0].metadata_catalog_details[0].table_registration_output.result #=> String
1759
+ # resp.flow_executions[0].metadata_catalog_details[0].table_registration_output.status #=> String, one of "InProgress", "Successful", "Error"
1760
+ # resp.flow_executions[0].metadata_catalog_details[0].partition_registration_output.message #=> String
1761
+ # resp.flow_executions[0].metadata_catalog_details[0].partition_registration_output.result #=> String
1762
+ # resp.flow_executions[0].metadata_catalog_details[0].partition_registration_output.status #=> String, one of "InProgress", "Successful", "Error"
1715
1763
  # resp.next_token #=> String
1716
1764
  #
1717
1765
  # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DescribeFlowExecutionRecords AWS API Documentation
@@ -2395,6 +2443,12 @@ module Aws::Appflow
2395
2443
  # A list of tasks that Amazon AppFlow performs while transferring the
2396
2444
  # data in the flow run.
2397
2445
  #
2446
+ # @option params [Types::MetadataCatalogConfig] :metadata_catalog_config
2447
+ # Specifies the configuration that Amazon AppFlow uses when it catalogs
2448
+ # the data that's transferred by the associated flow. When Amazon
2449
+ # AppFlow catalogs the data from a flow, it stores metadata in a data
2450
+ # catalog.
2451
+ #
2398
2452
  # @return [Types::UpdateFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2399
2453
  #
2400
2454
  # * {Types::UpdateFlowResponse#flow_status #flow_status} => String
@@ -2515,9 +2569,11 @@ module Aws::Appflow
2515
2569
  # prefix_config: {
2516
2570
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
2517
2571
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
2572
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
2518
2573
  # },
2519
2574
  # aggregation_config: {
2520
2575
  # aggregation_type: "None", # accepts None, SingleFile
2576
+ # target_file_size: 1,
2521
2577
  # },
2522
2578
  # preserve_source_data_typing: false,
2523
2579
  # },
@@ -2561,9 +2617,11 @@ module Aws::Appflow
2561
2617
  # prefix_config: { # required
2562
2618
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
2563
2619
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
2620
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
2564
2621
  # },
2565
2622
  # aggregation_config: {
2566
2623
  # aggregation_type: "None", # accepts None, SingleFile
2624
+ # target_file_size: 1,
2567
2625
  # },
2568
2626
  # },
2569
2627
  # },
@@ -2649,12 +2707,19 @@ module Aws::Appflow
2649
2707
  # custom_connector: "PROJECTION", # accepts 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
2650
2708
  # },
2651
2709
  # destination_field: "DestinationField",
2652
- # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate
2710
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate, Partition
2653
2711
  # task_properties: {
2654
2712
  # "VALUE" => "Property",
2655
2713
  # },
2656
2714
  # },
2657
2715
  # ],
2716
+ # metadata_catalog_config: {
2717
+ # glue_data_catalog: {
2718
+ # role_arn: "GlueDataCatalogIAMRole", # required
2719
+ # database_name: "GlueDataCatalogDatabaseName", # required
2720
+ # table_prefix: "GlueDataCatalogTablePrefix", # required
2721
+ # },
2722
+ # },
2658
2723
  # })
2659
2724
  #
2660
2725
  # @example Response structure
@@ -2683,7 +2748,7 @@ module Aws::Appflow
2683
2748
  params: params,
2684
2749
  config: config)
2685
2750
  context[:gem_name] = 'aws-sdk-appflow'
2686
- context[:gem_version] = '1.29.0'
2751
+ context[:gem_version] = '1.30.0'
2687
2752
  Seahorse::Client::Request.new(handlers, context)
2688
2753
  end
2689
2754
 
@@ -45,6 +45,7 @@ module Aws::Appflow
45
45
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
46
46
  BucketName = Shapes::StringShape.new(name: 'BucketName')
47
47
  BucketPrefix = Shapes::StringShape.new(name: 'BucketPrefix')
48
+ CatalogType = Shapes::StringShape.new(name: 'CatalogType')
48
49
  ClientCredentialsArn = Shapes::StringShape.new(name: 'ClientCredentialsArn')
49
50
  ClientId = Shapes::StringShape.new(name: 'ClientId')
50
51
  ClientNumber = Shapes::StringShape.new(name: 'ClientNumber')
@@ -177,6 +178,10 @@ module Aws::Appflow
177
178
  FlowName = Shapes::StringShape.new(name: 'FlowName')
178
179
  FlowStatus = Shapes::StringShape.new(name: 'FlowStatus')
179
180
  FlowStatusMessage = Shapes::StringShape.new(name: 'FlowStatusMessage')
181
+ GlueDataCatalogConfig = Shapes::StructureShape.new(name: 'GlueDataCatalogConfig')
182
+ GlueDataCatalogDatabaseName = Shapes::StringShape.new(name: 'GlueDataCatalogDatabaseName')
183
+ GlueDataCatalogIAMRole = Shapes::StringShape.new(name: 'GlueDataCatalogIAMRole')
184
+ GlueDataCatalogTablePrefix = Shapes::StringShape.new(name: 'GlueDataCatalogTablePrefix')
180
185
  GoogleAnalyticsConnectorOperator = Shapes::StringShape.new(name: 'GoogleAnalyticsConnectorOperator')
181
186
  GoogleAnalyticsConnectorProfileCredentials = Shapes::StructureShape.new(name: 'GoogleAnalyticsConnectorProfileCredentials')
182
187
  GoogleAnalyticsConnectorProfileProperties = Shapes::StructureShape.new(name: 'GoogleAnalyticsConnectorProfileProperties')
@@ -221,6 +226,9 @@ module Aws::Appflow
221
226
  MarketoMetadata = Shapes::StructureShape.new(name: 'MarketoMetadata')
222
227
  MarketoSourceProperties = Shapes::StructureShape.new(name: 'MarketoSourceProperties')
223
228
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
229
+ MetadataCatalogConfig = Shapes::StructureShape.new(name: 'MetadataCatalogConfig')
230
+ MetadataCatalogDetail = Shapes::StructureShape.new(name: 'MetadataCatalogDetail')
231
+ MetadataCatalogDetails = Shapes::ListShape.new(name: 'MetadataCatalogDetails')
224
232
  MostRecentExecutionMessage = Shapes::StringShape.new(name: 'MostRecentExecutionMessage')
225
233
  Name = Shapes::StringShape.new(name: 'Name')
226
234
  NextToken = Shapes::StringShape.new(name: 'NextToken')
@@ -242,6 +250,8 @@ module Aws::Appflow
242
250
  OperatorPropertiesKeys = Shapes::StringShape.new(name: 'OperatorPropertiesKeys')
243
251
  Operators = Shapes::StringShape.new(name: 'Operators')
244
252
  Password = Shapes::StringShape.new(name: 'Password')
253
+ PathPrefix = Shapes::StringShape.new(name: 'PathPrefix')
254
+ PathPrefixHierarchy = Shapes::ListShape.new(name: 'PathPrefixHierarchy')
245
255
  PortNumber = Shapes::IntegerShape.new(name: 'PortNumber')
246
256
  PrefixConfig = Shapes::StructureShape.new(name: 'PrefixConfig')
247
257
  PrefixFormat = Shapes::StringShape.new(name: 'PrefixFormat')
@@ -267,6 +277,7 @@ module Aws::Appflow
267
277
  RegisterConnectorRequest = Shapes::StructureShape.new(name: 'RegisterConnectorRequest')
268
278
  RegisterConnectorResponse = Shapes::StructureShape.new(name: 'RegisterConnectorResponse')
269
279
  RegisteredBy = Shapes::StringShape.new(name: 'RegisteredBy')
280
+ RegistrationOutput = Shapes::StructureShape.new(name: 'RegistrationOutput')
270
281
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
271
282
  RoleArn = Shapes::StringShape.new(name: 'RoleArn')
272
283
  S3ConnectorOperator = Shapes::StringShape.new(name: 'S3ConnectorOperator')
@@ -392,6 +403,7 @@ module Aws::Appflow
392
403
  AccessDeniedException.struct_class = Types::AccessDeniedException
393
404
 
394
405
  AggregationConfig.add_member(:aggregation_type, Shapes::ShapeRef.new(shape: AggregationType, location_name: "aggregationType"))
406
+ AggregationConfig.add_member(:target_file_size, Shapes::ShapeRef.new(shape: Long, location_name: "targetFileSize"))
395
407
  AggregationConfig.struct_class = Types::AggregationConfig
396
408
 
397
409
  AmplitudeConnectorProfileCredentials.add_member(:api_key, Shapes::ShapeRef.new(shape: ApiKey, required: true, location_name: "apiKey"))
@@ -659,6 +671,7 @@ module Aws::Appflow
659
671
  CreateFlowRequest.add_member(:destination_flow_config_list, Shapes::ShapeRef.new(shape: DestinationFlowConfigList, required: true, location_name: "destinationFlowConfigList"))
660
672
  CreateFlowRequest.add_member(:tasks, Shapes::ShapeRef.new(shape: Tasks, required: true, location_name: "tasks"))
661
673
  CreateFlowRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
674
+ CreateFlowRequest.add_member(:metadata_catalog_config, Shapes::ShapeRef.new(shape: MetadataCatalogConfig, location_name: "metadataCatalogConfig"))
662
675
  CreateFlowRequest.struct_class = Types::CreateFlowRequest
663
676
 
664
677
  CreateFlowResponse.add_member(:flow_arn, Shapes::ShapeRef.new(shape: FlowArn, location_name: "flowArn"))
@@ -798,6 +811,9 @@ module Aws::Appflow
798
811
  DescribeFlowResponse.add_member(:created_by, Shapes::ShapeRef.new(shape: CreatedBy, location_name: "createdBy"))
799
812
  DescribeFlowResponse.add_member(:last_updated_by, Shapes::ShapeRef.new(shape: UpdatedBy, location_name: "lastUpdatedBy"))
800
813
  DescribeFlowResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
814
+ DescribeFlowResponse.add_member(:metadata_catalog_config, Shapes::ShapeRef.new(shape: MetadataCatalogConfig, location_name: "metadataCatalogConfig"))
815
+ DescribeFlowResponse.add_member(:last_run_metadata_catalog_details, Shapes::ShapeRef.new(shape: MetadataCatalogDetails, location_name: "lastRunMetadataCatalogDetails"))
816
+ DescribeFlowResponse.add_member(:schema_version, Shapes::ShapeRef.new(shape: Long, location_name: "schemaVersion"))
801
817
  DescribeFlowResponse.struct_class = Types::DescribeFlowResponse
802
818
 
803
819
  DestinationConnectorProperties.add_member(:redshift, Shapes::ShapeRef.new(shape: RedshiftDestinationProperties, location_name: "Redshift"))
@@ -869,6 +885,7 @@ module Aws::Appflow
869
885
  ExecutionRecord.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: Date, location_name: "lastUpdatedAt"))
870
886
  ExecutionRecord.add_member(:data_pull_start_time, Shapes::ShapeRef.new(shape: Date, location_name: "dataPullStartTime"))
871
887
  ExecutionRecord.add_member(:data_pull_end_time, Shapes::ShapeRef.new(shape: Date, location_name: "dataPullEndTime"))
888
+ ExecutionRecord.add_member(:metadata_catalog_details, Shapes::ShapeRef.new(shape: MetadataCatalogDetails, location_name: "metadataCatalogDetails"))
872
889
  ExecutionRecord.struct_class = Types::ExecutionRecord
873
890
 
874
891
  ExecutionResult.add_member(:error_info, Shapes::ShapeRef.new(shape: ErrorInfo, location_name: "errorInfo"))
@@ -909,6 +926,11 @@ module Aws::Appflow
909
926
 
910
927
  FlowList.member = Shapes::ShapeRef.new(shape: FlowDefinition)
911
928
 
929
+ GlueDataCatalogConfig.add_member(:role_arn, Shapes::ShapeRef.new(shape: GlueDataCatalogIAMRole, required: true, location_name: "roleArn"))
930
+ GlueDataCatalogConfig.add_member(:database_name, Shapes::ShapeRef.new(shape: GlueDataCatalogDatabaseName, required: true, location_name: "databaseName"))
931
+ GlueDataCatalogConfig.add_member(:table_prefix, Shapes::ShapeRef.new(shape: GlueDataCatalogTablePrefix, required: true, location_name: "tablePrefix"))
932
+ GlueDataCatalogConfig.struct_class = Types::GlueDataCatalogConfig
933
+
912
934
  GoogleAnalyticsConnectorProfileCredentials.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, required: true, location_name: "clientId"))
913
935
  GoogleAnalyticsConnectorProfileCredentials.add_member(:client_secret, Shapes::ShapeRef.new(shape: ClientSecret, required: true, location_name: "clientSecret"))
914
936
  GoogleAnalyticsConnectorProfileCredentials.add_member(:access_token, Shapes::ShapeRef.new(shape: AccessToken, location_name: "accessToken"))
@@ -1014,6 +1036,17 @@ module Aws::Appflow
1014
1036
  MarketoSourceProperties.add_member(:object, Shapes::ShapeRef.new(shape: Object, required: true, location_name: "object"))
1015
1037
  MarketoSourceProperties.struct_class = Types::MarketoSourceProperties
1016
1038
 
1039
+ MetadataCatalogConfig.add_member(:glue_data_catalog, Shapes::ShapeRef.new(shape: GlueDataCatalogConfig, location_name: "glueDataCatalog"))
1040
+ MetadataCatalogConfig.struct_class = Types::MetadataCatalogConfig
1041
+
1042
+ MetadataCatalogDetail.add_member(:catalog_type, Shapes::ShapeRef.new(shape: CatalogType, location_name: "catalogType"))
1043
+ MetadataCatalogDetail.add_member(:table_name, Shapes::ShapeRef.new(shape: String, location_name: "tableName"))
1044
+ MetadataCatalogDetail.add_member(:table_registration_output, Shapes::ShapeRef.new(shape: RegistrationOutput, location_name: "tableRegistrationOutput"))
1045
+ MetadataCatalogDetail.add_member(:partition_registration_output, Shapes::ShapeRef.new(shape: RegistrationOutput, location_name: "partitionRegistrationOutput"))
1046
+ MetadataCatalogDetail.struct_class = Types::MetadataCatalogDetail
1047
+
1048
+ MetadataCatalogDetails.member = Shapes::ShapeRef.new(shape: MetadataCatalogDetail)
1049
+
1017
1050
  OAuth2Credentials.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, location_name: "clientId"))
1018
1051
  OAuth2Credentials.add_member(:client_secret, Shapes::ShapeRef.new(shape: ClientSecret, location_name: "clientSecret"))
1019
1052
  OAuth2Credentials.add_member(:access_token, Shapes::ShapeRef.new(shape: AccessToken, location_name: "accessToken"))
@@ -1060,8 +1093,11 @@ module Aws::Appflow
1060
1093
 
1061
1094
  OAuthScopeList.member = Shapes::ShapeRef.new(shape: OAuthScope)
1062
1095
 
1096
+ PathPrefixHierarchy.member = Shapes::ShapeRef.new(shape: PathPrefix)
1097
+
1063
1098
  PrefixConfig.add_member(:prefix_type, Shapes::ShapeRef.new(shape: PrefixType, location_name: "prefixType"))
1064
1099
  PrefixConfig.add_member(:prefix_format, Shapes::ShapeRef.new(shape: PrefixFormat, location_name: "prefixFormat"))
1100
+ PrefixConfig.add_member(:path_prefix_hierarchy, Shapes::ShapeRef.new(shape: PathPrefixHierarchy, location_name: "pathPrefixHierarchy"))
1065
1101
  PrefixConfig.struct_class = Types::PrefixConfig
1066
1102
 
1067
1103
  PrivateConnectionProvisioningState.add_member(:status, Shapes::ShapeRef.new(shape: PrivateConnectionProvisioningStatus, location_name: "status"))
@@ -1105,6 +1141,11 @@ module Aws::Appflow
1105
1141
  RegisterConnectorResponse.add_member(:connector_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "connectorArn"))
1106
1142
  RegisterConnectorResponse.struct_class = Types::RegisterConnectorResponse
1107
1143
 
1144
+ RegistrationOutput.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
1145
+ RegistrationOutput.add_member(:result, Shapes::ShapeRef.new(shape: String, location_name: "result"))
1146
+ RegistrationOutput.add_member(:status, Shapes::ShapeRef.new(shape: ExecutionStatus, location_name: "status"))
1147
+ RegistrationOutput.struct_class = Types::RegistrationOutput
1148
+
1108
1149
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
1109
1150
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
1110
1151
 
@@ -1398,6 +1439,7 @@ module Aws::Appflow
1398
1439
  UpdateFlowRequest.add_member(:source_flow_config, Shapes::ShapeRef.new(shape: SourceFlowConfig, required: true, location_name: "sourceFlowConfig"))
1399
1440
  UpdateFlowRequest.add_member(:destination_flow_config_list, Shapes::ShapeRef.new(shape: DestinationFlowConfigList, required: true, location_name: "destinationFlowConfigList"))
1400
1441
  UpdateFlowRequest.add_member(:tasks, Shapes::ShapeRef.new(shape: Tasks, required: true, location_name: "tasks"))
1442
+ UpdateFlowRequest.add_member(:metadata_catalog_config, Shapes::ShapeRef.new(shape: MetadataCatalogConfig, location_name: "metadataCatalogConfig"))
1401
1443
  UpdateFlowRequest.struct_class = Types::UpdateFlowRequest
1402
1444
 
1403
1445
  UpdateFlowResponse.add_member(:flow_status, Shapes::ShapeRef.new(shape: FlowStatus, location_name: "flowStatus"))
@@ -31,6 +31,7 @@ module Aws::Appflow
31
31
  #
32
32
  # {
33
33
  # aggregation_type: "None", # accepts None, SingleFile
34
+ # target_file_size: 1,
34
35
  # }
35
36
  #
36
37
  # @!attribute [rw] aggregation_type
@@ -38,10 +39,19 @@ module Aws::Appflow
38
39
  # single file, or leave them unaggregated.
39
40
  # @return [String]
40
41
  #
42
+ # @!attribute [rw] target_file_size
43
+ # The desired file size, in MB, for each output file that Amazon
44
+ # AppFlow writes to the flow destination. For each file, Amazon
45
+ # AppFlow attempts to achieve the size that you specify. The actual
46
+ # file sizes might differ from this target based on the number and
47
+ # size of the records that each file contains.
48
+ # @return [Integer]
49
+ #
41
50
  # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/AggregationConfig AWS API Documentation
42
51
  #
43
52
  class AggregationConfig < Struct.new(
44
- :aggregation_type)
53
+ :aggregation_type,
54
+ :target_file_size)
45
55
  SENSITIVE = []
46
56
  include Aws::Structure
47
57
  end
@@ -2082,9 +2092,11 @@ module Aws::Appflow
2082
2092
  # prefix_config: {
2083
2093
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
2084
2094
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
2095
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
2085
2096
  # },
2086
2097
  # aggregation_config: {
2087
2098
  # aggregation_type: "None", # accepts None, SingleFile
2099
+ # target_file_size: 1,
2088
2100
  # },
2089
2101
  # preserve_source_data_typing: false,
2090
2102
  # },
@@ -2128,9 +2140,11 @@ module Aws::Appflow
2128
2140
  # prefix_config: { # required
2129
2141
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
2130
2142
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
2143
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
2131
2144
  # },
2132
2145
  # aggregation_config: {
2133
2146
  # aggregation_type: "None", # accepts None, SingleFile
2147
+ # target_file_size: 1,
2134
2148
  # },
2135
2149
  # },
2136
2150
  # },
@@ -2216,7 +2230,7 @@ module Aws::Appflow
2216
2230
  # custom_connector: "PROJECTION", # accepts 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
2217
2231
  # },
2218
2232
  # destination_field: "DestinationField",
2219
- # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate
2233
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate, Partition
2220
2234
  # task_properties: {
2221
2235
  # "VALUE" => "Property",
2222
2236
  # },
@@ -2225,6 +2239,13 @@ module Aws::Appflow
2225
2239
  # tags: {
2226
2240
  # "TagKey" => "TagValue",
2227
2241
  # },
2242
+ # metadata_catalog_config: {
2243
+ # glue_data_catalog: {
2244
+ # role_arn: "GlueDataCatalogIAMRole", # required
2245
+ # database_name: "GlueDataCatalogDatabaseName", # required
2246
+ # table_prefix: "GlueDataCatalogTablePrefix", # required
2247
+ # },
2248
+ # },
2228
2249
  # }
2229
2250
  #
2230
2251
  # @!attribute [rw] flow_name
@@ -2267,6 +2288,13 @@ module Aws::Appflow
2267
2288
  # The tags used to organize, track, or control access for your flow.
2268
2289
  # @return [Hash<String,String>]
2269
2290
  #
2291
+ # @!attribute [rw] metadata_catalog_config
2292
+ # Specifies the configuration that Amazon AppFlow uses when it
2293
+ # catalogs the data that's transferred by the associated flow. When
2294
+ # Amazon AppFlow catalogs the data from a flow, it stores metadata in
2295
+ # a data catalog.
2296
+ # @return [Types::MetadataCatalogConfig]
2297
+ #
2270
2298
  # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/CreateFlowRequest AWS API Documentation
2271
2299
  #
2272
2300
  class CreateFlowRequest < Struct.new(
@@ -2277,7 +2305,8 @@ module Aws::Appflow
2277
2305
  :source_flow_config,
2278
2306
  :destination_flow_config_list,
2279
2307
  :tasks,
2280
- :tags)
2308
+ :tags,
2309
+ :metadata_catalog_config)
2281
2310
  SENSITIVE = []
2282
2311
  include Aws::Structure
2283
2312
  end
@@ -3081,6 +3110,30 @@ module Aws::Appflow
3081
3110
  # The tags used to organize, track, or control access for your flow.
3082
3111
  # @return [Hash<String,String>]
3083
3112
  #
3113
+ # @!attribute [rw] metadata_catalog_config
3114
+ # Specifies the configuration that Amazon AppFlow uses when it
3115
+ # catalogs the data that's transferred by the associated flow. When
3116
+ # Amazon AppFlow catalogs the data from a flow, it stores metadata in
3117
+ # a data catalog.
3118
+ # @return [Types::MetadataCatalogConfig]
3119
+ #
3120
+ # @!attribute [rw] last_run_metadata_catalog_details
3121
+ # Describes the metadata catalog, metadata table, and data partitions
3122
+ # that Amazon AppFlow used for the associated flow run.
3123
+ # @return [Array<Types::MetadataCatalogDetail>]
3124
+ #
3125
+ # @!attribute [rw] schema_version
3126
+ # The version number of your data schema. Amazon AppFlow assigns this
3127
+ # version number. The version number increases by one when you change
3128
+ # any of the following settings in your flow configuration:
3129
+ #
3130
+ # * Source-to-destination field mappings
3131
+ #
3132
+ # * Field data types
3133
+ #
3134
+ # * Partition keys
3135
+ # @return [Integer]
3136
+ #
3084
3137
  # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DescribeFlowResponse AWS API Documentation
3085
3138
  #
3086
3139
  class DescribeFlowResponse < Struct.new(
@@ -3099,7 +3152,10 @@ module Aws::Appflow
3099
3152
  :last_updated_at,
3100
3153
  :created_by,
3101
3154
  :last_updated_by,
3102
- :tags)
3155
+ :tags,
3156
+ :metadata_catalog_config,
3157
+ :last_run_metadata_catalog_details,
3158
+ :schema_version)
3103
3159
  SENSITIVE = []
3104
3160
  include Aws::Structure
3105
3161
  end
@@ -3129,9 +3185,11 @@ module Aws::Appflow
3129
3185
  # prefix_config: {
3130
3186
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
3131
3187
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
3188
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
3132
3189
  # },
3133
3190
  # aggregation_config: {
3134
3191
  # aggregation_type: "None", # accepts None, SingleFile
3192
+ # target_file_size: 1,
3135
3193
  # },
3136
3194
  # preserve_source_data_typing: false,
3137
3195
  # },
@@ -3175,9 +3233,11 @@ module Aws::Appflow
3175
3233
  # prefix_config: { # required
3176
3234
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
3177
3235
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
3236
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
3178
3237
  # },
3179
3238
  # aggregation_config: {
3180
3239
  # aggregation_type: "None", # accepts None, SingleFile
3240
+ # target_file_size: 1,
3181
3241
  # },
3182
3242
  # },
3183
3243
  # },
@@ -3388,9 +3448,11 @@ module Aws::Appflow
3388
3448
  # prefix_config: {
3389
3449
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
3390
3450
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
3451
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
3391
3452
  # },
3392
3453
  # aggregation_config: {
3393
3454
  # aggregation_type: "None", # accepts None, SingleFile
3455
+ # target_file_size: 1,
3394
3456
  # },
3395
3457
  # preserve_source_data_typing: false,
3396
3458
  # },
@@ -3434,9 +3496,11 @@ module Aws::Appflow
3434
3496
  # prefix_config: { # required
3435
3497
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
3436
3498
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
3499
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
3437
3500
  # },
3438
3501
  # aggregation_config: {
3439
3502
  # aggregation_type: "None", # accepts None, SingleFile
3503
+ # target_file_size: 1,
3440
3504
  # },
3441
3505
  # },
3442
3506
  # },
@@ -3761,6 +3825,11 @@ module Aws::Appflow
3761
3825
  # transferred in the flow run.
3762
3826
  # @return [Time]
3763
3827
  #
3828
+ # @!attribute [rw] metadata_catalog_details
3829
+ # Describes the metadata catalog, metadata table, and data partitions
3830
+ # that Amazon AppFlow used for the associated flow run.
3831
+ # @return [Array<Types::MetadataCatalogDetail>]
3832
+ #
3764
3833
  # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/ExecutionRecord AWS API Documentation
3765
3834
  #
3766
3835
  class ExecutionRecord < Struct.new(
@@ -3770,7 +3839,8 @@ module Aws::Appflow
3770
3839
  :started_at,
3771
3840
  :last_updated_at,
3772
3841
  :data_pull_start_time,
3773
- :data_pull_end_time)
3842
+ :data_pull_end_time,
3843
+ :metadata_catalog_details)
3774
3844
  SENSITIVE = []
3775
3845
  include Aws::Structure
3776
3846
  end
@@ -3939,6 +4009,67 @@ module Aws::Appflow
3939
4009
  include Aws::Structure
3940
4010
  end
3941
4011
 
4012
+ # Specifies the configuration that Amazon AppFlow uses when it catalogs
4013
+ # your data with the Glue Data Catalog. When Amazon AppFlow catalogs
4014
+ # your data, it stores metadata in Data Catalog tables. This metadata
4015
+ # represents the data that's transferred by the flow that you configure
4016
+ # with these settings.
4017
+ #
4018
+ # <note markdown="1"> You can configure a flow with these settings only when the flow
4019
+ # destination is Amazon S3.
4020
+ #
4021
+ # </note>
4022
+ #
4023
+ # @note When making an API call, you may pass GlueDataCatalogConfig
4024
+ # data as a hash:
4025
+ #
4026
+ # {
4027
+ # role_arn: "GlueDataCatalogIAMRole", # required
4028
+ # database_name: "GlueDataCatalogDatabaseName", # required
4029
+ # table_prefix: "GlueDataCatalogTablePrefix", # required
4030
+ # }
4031
+ #
4032
+ # @!attribute [rw] role_arn
4033
+ # The Amazon Resource Name (ARN) of an IAM role that grants Amazon
4034
+ # AppFlow the permissions it needs to create Data Catalog tables,
4035
+ # databases, and partitions.
4036
+ #
4037
+ # For an example IAM policy that has the required permissions, see
4038
+ # [Identity-based policy examples for Amazon AppFlow][1].
4039
+ #
4040
+ #
4041
+ #
4042
+ # [1]: https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_id-based-policy-examples.html
4043
+ # @return [String]
4044
+ #
4045
+ # @!attribute [rw] database_name
4046
+ # The name of the Data Catalog database that stores the metadata
4047
+ # tables that Amazon AppFlow creates in your Amazon Web Services
4048
+ # account. These tables contain metadata for the data that's
4049
+ # transferred by the flow that you configure with this parameter.
4050
+ #
4051
+ # <note markdown="1"> When you configure a new flow with this parameter, you must specify
4052
+ # an existing database.
4053
+ #
4054
+ # </note>
4055
+ # @return [String]
4056
+ #
4057
+ # @!attribute [rw] table_prefix
4058
+ # A naming prefix for each Data Catalog table that Amazon AppFlow
4059
+ # creates for the flow that you configure with this setting. Amazon
4060
+ # AppFlow adds the prefix to the beginning of the each table name.
4061
+ # @return [String]
4062
+ #
4063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/GlueDataCatalogConfig AWS API Documentation
4064
+ #
4065
+ class GlueDataCatalogConfig < Struct.new(
4066
+ :role_arn,
4067
+ :database_name,
4068
+ :table_prefix)
4069
+ SENSITIVE = []
4070
+ include Aws::Structure
4071
+ end
4072
+
3942
4073
  # The connector-specific profile credentials required by Google
3943
4074
  # Analytics.
3944
4075
  #
@@ -4600,6 +4731,79 @@ module Aws::Appflow
4600
4731
  include Aws::Structure
4601
4732
  end
4602
4733
 
4734
+ # Specifies the configuration that Amazon AppFlow uses when it catalogs
4735
+ # your data. When Amazon AppFlow catalogs your data, it stores metadata
4736
+ # in a data catalog.
4737
+ #
4738
+ # @note When making an API call, you may pass MetadataCatalogConfig
4739
+ # data as a hash:
4740
+ #
4741
+ # {
4742
+ # glue_data_catalog: {
4743
+ # role_arn: "GlueDataCatalogIAMRole", # required
4744
+ # database_name: "GlueDataCatalogDatabaseName", # required
4745
+ # table_prefix: "GlueDataCatalogTablePrefix", # required
4746
+ # },
4747
+ # }
4748
+ #
4749
+ # @!attribute [rw] glue_data_catalog
4750
+ # Specifies the configuration that Amazon AppFlow uses when it
4751
+ # catalogs your data with the Glue Data Catalog.
4752
+ # @return [Types::GlueDataCatalogConfig]
4753
+ #
4754
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/MetadataCatalogConfig AWS API Documentation
4755
+ #
4756
+ class MetadataCatalogConfig < Struct.new(
4757
+ :glue_data_catalog)
4758
+ SENSITIVE = []
4759
+ include Aws::Structure
4760
+ end
4761
+
4762
+ # Describes the metadata catalog, metadata table, and data partitions
4763
+ # that Amazon AppFlow used for the associated flow run.
4764
+ #
4765
+ # @!attribute [rw] catalog_type
4766
+ # The type of metadata catalog that Amazon AppFlow used for the
4767
+ # associated flow run. This parameter returns the following value:
4768
+ #
4769
+ # GLUE
4770
+ #
4771
+ # : The metadata catalog is provided by the Glue Data Catalog. Glue
4772
+ # includes the Glue Data Catalog as a component.
4773
+ # @return [String]
4774
+ #
4775
+ # @!attribute [rw] table_name
4776
+ # The name of the table that stores the metadata for the associated
4777
+ # flow run. The table stores metadata that represents the data that
4778
+ # the flow transferred. Amazon AppFlow stores the table in the
4779
+ # metadata catalog.
4780
+ # @return [String]
4781
+ #
4782
+ # @!attribute [rw] table_registration_output
4783
+ # Describes the status of the attempt from Amazon AppFlow to register
4784
+ # the metadata table with the metadata catalog. Amazon AppFlow creates
4785
+ # or updates this table for the associated flow run.
4786
+ # @return [Types::RegistrationOutput]
4787
+ #
4788
+ # @!attribute [rw] partition_registration_output
4789
+ # Describes the status of the attempt from Amazon AppFlow to register
4790
+ # the data partitions with the metadata catalog. The data partitions
4791
+ # organize the flow output into a hierarchical path, such as a folder
4792
+ # path in an S3 bucket. Amazon AppFlow creates the partitions (if they
4793
+ # don't already exist) based on your flow configuration.
4794
+ # @return [Types::RegistrationOutput]
4795
+ #
4796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/MetadataCatalogDetail AWS API Documentation
4797
+ #
4798
+ class MetadataCatalogDetail < Struct.new(
4799
+ :catalog_type,
4800
+ :table_name,
4801
+ :table_registration_output,
4802
+ :partition_registration_output)
4803
+ SENSITIVE = []
4804
+ include Aws::Structure
4805
+ end
4806
+
4603
4807
  # The OAuth 2.0 credentials required for OAuth 2.0 authentication.
4604
4808
  #
4605
4809
  # @note When making an API call, you may pass OAuth2Credentials
@@ -4857,9 +5061,8 @@ module Aws::Appflow
4857
5061
  include Aws::Structure
4858
5062
  end
4859
5063
 
4860
- # Determines the prefix that Amazon AppFlow applies to the destination
4861
- # folder name. You can name your destination folders according to the
4862
- # flow frequency and date.
5064
+ # Specifies elements that Amazon AppFlow includes in the file and folder
5065
+ # names in the flow destination.
4863
5066
  #
4864
5067
  # @note When making an API call, you may pass PrefixConfig
4865
5068
  # data as a hash:
@@ -4867,6 +5070,7 @@ module Aws::Appflow
4867
5070
  # {
4868
5071
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
4869
5072
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
5073
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
4870
5074
  # }
4871
5075
  #
4872
5076
  # @!attribute [rw] prefix_type
@@ -4875,14 +5079,37 @@ module Aws::Appflow
4875
5079
  # @return [String]
4876
5080
  #
4877
5081
  # @!attribute [rw] prefix_format
4878
- # Determines the level of granularity that's included in the prefix.
5082
+ # Determines the level of granularity for the date and time that's
5083
+ # included in the prefix.
4879
5084
  # @return [String]
4880
5085
  #
5086
+ # @!attribute [rw] path_prefix_hierarchy
5087
+ # Specifies whether the destination file path includes either or both
5088
+ # of the following elements:
5089
+ #
5090
+ # EXECUTION\_ID
5091
+ #
5092
+ # : The ID that Amazon AppFlow assigns to the flow run.
5093
+ #
5094
+ # SCHEMA\_VERSION
5095
+ #
5096
+ # : The version number of your data schema. Amazon AppFlow assigns
5097
+ # this version number. The version number increases by one when you
5098
+ # change any of the following settings in your flow configuration:
5099
+ #
5100
+ # * Source-to-destination field mappings
5101
+ #
5102
+ # * Field data types
5103
+ #
5104
+ # * Partition keys
5105
+ # @return [Array<String>]
5106
+ #
4881
5107
  # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/PrefixConfig AWS API Documentation
4882
5108
  #
4883
5109
  class PrefixConfig < Struct.new(
4884
5110
  :prefix_type,
4885
- :prefix_format)
5111
+ :prefix_format,
5112
+ :path_prefix_hierarchy)
4886
5113
  SENSITIVE = []
4887
5114
  include Aws::Structure
4888
5115
  end
@@ -5111,6 +5338,41 @@ module Aws::Appflow
5111
5338
  include Aws::Structure
5112
5339
  end
5113
5340
 
5341
+ # Describes the status of an attempt from Amazon AppFlow to register a
5342
+ # resource.
5343
+ #
5344
+ # When you run a flow that you've configured to use a metadata catalog,
5345
+ # Amazon AppFlow registers a metadata table and data partitions with
5346
+ # that catalog. This operation provides the status of that registration
5347
+ # attempt. The operation also indicates how many related resources
5348
+ # Amazon AppFlow created or updated.
5349
+ #
5350
+ # @!attribute [rw] message
5351
+ # Explains the status of the registration attempt from Amazon AppFlow.
5352
+ # If the attempt fails, the message explains why.
5353
+ # @return [String]
5354
+ #
5355
+ # @!attribute [rw] result
5356
+ # Indicates the number of resources that Amazon AppFlow created or
5357
+ # updated. Possible resources include metadata tables and data
5358
+ # partitions.
5359
+ # @return [String]
5360
+ #
5361
+ # @!attribute [rw] status
5362
+ # Indicates the status of the registration attempt from Amazon
5363
+ # AppFlow.
5364
+ # @return [String]
5365
+ #
5366
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/RegistrationOutput AWS API Documentation
5367
+ #
5368
+ class RegistrationOutput < Struct.new(
5369
+ :message,
5370
+ :result,
5371
+ :status)
5372
+ SENSITIVE = []
5373
+ include Aws::Structure
5374
+ end
5375
+
5114
5376
  # The resource specified in the request (such as the source or
5115
5377
  # destination connector profile) is not found.
5116
5378
  #
@@ -5139,9 +5401,11 @@ module Aws::Appflow
5139
5401
  # prefix_config: {
5140
5402
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
5141
5403
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
5404
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
5142
5405
  # },
5143
5406
  # aggregation_config: {
5144
5407
  # aggregation_type: "None", # accepts None, SingleFile
5408
+ # target_file_size: 1,
5145
5409
  # },
5146
5410
  # preserve_source_data_typing: false,
5147
5411
  # },
@@ -5211,9 +5475,11 @@ module Aws::Appflow
5211
5475
  # prefix_config: {
5212
5476
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
5213
5477
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
5478
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
5214
5479
  # },
5215
5480
  # aggregation_config: {
5216
5481
  # aggregation_type: "None", # accepts None, SingleFile
5482
+ # target_file_size: 1,
5217
5483
  # },
5218
5484
  # preserve_source_data_typing: false,
5219
5485
  # }
@@ -6755,7 +7021,7 @@ module Aws::Appflow
6755
7021
  # custom_connector: "PROJECTION", # accepts 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
6756
7022
  # },
6757
7023
  # destination_field: "DestinationField",
6758
- # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate
7024
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate, Partition
6759
7025
  # task_properties: {
6760
7026
  # "VALUE" => "Property",
6761
7027
  # },
@@ -7400,9 +7666,11 @@ module Aws::Appflow
7400
7666
  # prefix_config: {
7401
7667
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
7402
7668
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
7669
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
7403
7670
  # },
7404
7671
  # aggregation_config: {
7405
7672
  # aggregation_type: "None", # accepts None, SingleFile
7673
+ # target_file_size: 1,
7406
7674
  # },
7407
7675
  # preserve_source_data_typing: false,
7408
7676
  # },
@@ -7446,9 +7714,11 @@ module Aws::Appflow
7446
7714
  # prefix_config: { # required
7447
7715
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
7448
7716
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
7717
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
7449
7718
  # },
7450
7719
  # aggregation_config: {
7451
7720
  # aggregation_type: "None", # accepts None, SingleFile
7721
+ # target_file_size: 1,
7452
7722
  # },
7453
7723
  # },
7454
7724
  # },
@@ -7534,12 +7804,19 @@ module Aws::Appflow
7534
7804
  # custom_connector: "PROJECTION", # accepts 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
7535
7805
  # },
7536
7806
  # destination_field: "DestinationField",
7537
- # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate
7807
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate, Partition
7538
7808
  # task_properties: {
7539
7809
  # "VALUE" => "Property",
7540
7810
  # },
7541
7811
  # },
7542
7812
  # ],
7813
+ # metadata_catalog_config: {
7814
+ # glue_data_catalog: {
7815
+ # role_arn: "GlueDataCatalogIAMRole", # required
7816
+ # database_name: "GlueDataCatalogDatabaseName", # required
7817
+ # table_prefix: "GlueDataCatalogTablePrefix", # required
7818
+ # },
7819
+ # },
7543
7820
  # }
7544
7821
  #
7545
7822
  # @!attribute [rw] flow_name
@@ -7570,6 +7847,13 @@ module Aws::Appflow
7570
7847
  # data in the flow run.
7571
7848
  # @return [Array<Types::Task>]
7572
7849
  #
7850
+ # @!attribute [rw] metadata_catalog_config
7851
+ # Specifies the configuration that Amazon AppFlow uses when it
7852
+ # catalogs the data that's transferred by the associated flow. When
7853
+ # Amazon AppFlow catalogs the data from a flow, it stores metadata in
7854
+ # a data catalog.
7855
+ # @return [Types::MetadataCatalogConfig]
7856
+ #
7573
7857
  # @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/UpdateFlowRequest AWS API Documentation
7574
7858
  #
7575
7859
  class UpdateFlowRequest < Struct.new(
@@ -7578,7 +7862,8 @@ module Aws::Appflow
7578
7862
  :trigger_config,
7579
7863
  :source_flow_config,
7580
7864
  :destination_flow_config_list,
7581
- :tasks)
7865
+ :tasks,
7866
+ :metadata_catalog_config)
7582
7867
  SENSITIVE = []
7583
7868
  include Aws::Structure
7584
7869
  end
@@ -7609,9 +7894,11 @@ module Aws::Appflow
7609
7894
  # prefix_config: { # required
7610
7895
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
7611
7896
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
7897
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
7612
7898
  # },
7613
7899
  # aggregation_config: {
7614
7900
  # aggregation_type: "None", # accepts None, SingleFile
7901
+ # target_file_size: 1,
7615
7902
  # },
7616
7903
  # },
7617
7904
  # }
@@ -7658,9 +7945,11 @@ module Aws::Appflow
7658
7945
  # prefix_config: { # required
7659
7946
  # prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
7660
7947
  # prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
7948
+ # path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
7661
7949
  # },
7662
7950
  # aggregation_config: {
7663
7951
  # aggregation_type: "None", # accepts None, SingleFile
7952
+ # target_file_size: 1,
7664
7953
  # },
7665
7954
  # }
7666
7955
  #
@@ -7670,9 +7959,8 @@ module Aws::Appflow
7670
7959
  # @return [String]
7671
7960
  #
7672
7961
  # @!attribute [rw] prefix_config
7673
- # Determines the prefix that Amazon AppFlow applies to the destination
7674
- # folder name. You can name your destination folders according to the
7675
- # flow frequency and date.
7962
+ # Specifies elements that Amazon AppFlow includes in the file and
7963
+ # folder names in the flow destination.
7676
7964
  # @return [Types::PrefixConfig]
7677
7965
  #
7678
7966
  # @!attribute [rw] aggregation_config
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-appflow/customizations'
52
52
  # @!group service
53
53
  module Aws::Appflow
54
54
 
55
- GEM_VERSION = '1.29.0'
55
+ GEM_VERSION = '1.30.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-appflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.29.0
4
+ version: 1.30.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-25 00:00:00.000000000 Z
11
+ date: 2022-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core