aws-sdk-appflow 1.28.0 → 1.30.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-appflow/client.rb +88 -6
- data/lib/aws-sdk-appflow/client_api.rb +42 -0
- data/lib/aws-sdk-appflow/endpoint_parameters.rb +66 -0
- data/lib/aws-sdk-appflow/endpoint_provider.rb +111 -0
- data/lib/aws-sdk-appflow/endpoints.rb +323 -0
- data/lib/aws-sdk-appflow/plugins/endpoints.rb +112 -0
- data/lib/aws-sdk-appflow/types.rb +304 -16
- data/lib/aws-sdk-appflow.rb +5 -1
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 957ffd1d2b407f7410aa1554e0e3ff5f36dcef3f5b61f8c443094b9068747b13
|
4
|
+
data.tar.gz: 581cd0255b3dfa2c2ec733f5756e6116514ae9e25a2b5a0fd324569949cccf07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67ea05bb9666646427a1c6bdbdc38a443bd830680215583c315fe6f7057fc0cff9a4c0bf284a6207a922c28e5ea80cc91bedb5158a5a1c3741fb6f48274e3616
|
7
|
+
data.tar.gz: d06488ad04059c1ec3e2ea270fc62fc322477fc88712a3d40bb1097cccc85e1d74e654531eb07e0c6ff9b0ce3d15fe54ba01a0fb9fd17b0bf3d200f3ba1c6c9f
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,16 @@
|
|
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
|
+
|
9
|
+
1.29.0 (2022-10-25)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
13
|
+
|
4
14
|
1.28.0 (2022-10-13)
|
5
15
|
------------------
|
6
16
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.30.0
|
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
|
|
30
30
|
require 'aws-sdk-core/plugins/checksum_algorithm.rb'
|
31
31
|
require 'aws-sdk-core/plugins/defaults_mode.rb'
|
32
32
|
require 'aws-sdk-core/plugins/recursion_detection.rb'
|
33
|
-
require 'aws-sdk-core/plugins/
|
33
|
+
require 'aws-sdk-core/plugins/sign.rb'
|
34
34
|
require 'aws-sdk-core/plugins/protocols/rest_json.rb'
|
35
35
|
|
36
36
|
Aws::Plugins::GlobalConfiguration.add_identifier(:appflow)
|
@@ -79,8 +79,9 @@ module Aws::Appflow
|
|
79
79
|
add_plugin(Aws::Plugins::ChecksumAlgorithm)
|
80
80
|
add_plugin(Aws::Plugins::DefaultsMode)
|
81
81
|
add_plugin(Aws::Plugins::RecursionDetection)
|
82
|
-
add_plugin(Aws::Plugins::
|
82
|
+
add_plugin(Aws::Plugins::Sign)
|
83
83
|
add_plugin(Aws::Plugins::Protocols::RestJson)
|
84
|
+
add_plugin(Aws::Appflow::Plugins::Endpoints)
|
84
85
|
|
85
86
|
# @overload initialize(options)
|
86
87
|
# @param [Hash] options
|
@@ -287,6 +288,19 @@ module Aws::Appflow
|
|
287
288
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
288
289
|
# requests are made, and retries are disabled.
|
289
290
|
#
|
291
|
+
# @option options [Aws::TokenProvider] :token_provider
|
292
|
+
# A Bearer Token Provider. This can be an instance of any one of the
|
293
|
+
# following classes:
|
294
|
+
#
|
295
|
+
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
296
|
+
# tokens.
|
297
|
+
#
|
298
|
+
# * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
|
299
|
+
# access token generated from `aws login`.
|
300
|
+
#
|
301
|
+
# When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
|
302
|
+
# will be used to search for tokens configured for your profile in shared configuration files.
|
303
|
+
#
|
290
304
|
# @option options [Boolean] :use_dualstack_endpoint
|
291
305
|
# When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
|
292
306
|
# will be used if available.
|
@@ -300,6 +314,9 @@ module Aws::Appflow
|
|
300
314
|
# When `true`, request parameters are validated before
|
301
315
|
# sending the request.
|
302
316
|
#
|
317
|
+
# @option options [Aws::Appflow::EndpointProvider] :endpoint_provider
|
318
|
+
# The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Appflow::EndpointParameters`
|
319
|
+
#
|
303
320
|
# @option options [URI::HTTP,String] :http_proxy A proxy to send
|
304
321
|
# requests through. Formatted like 'http://proxy.com:123'.
|
305
322
|
#
|
@@ -671,6 +688,12 @@ module Aws::Appflow
|
|
671
688
|
# @option params [Hash<String,String>] :tags
|
672
689
|
# The tags used to organize, track, or control access for your flow.
|
673
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
|
+
#
|
674
697
|
# @return [Types::CreateFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
675
698
|
#
|
676
699
|
# * {Types::CreateFlowResponse#flow_arn #flow_arn} => String
|
@@ -793,9 +816,11 @@ module Aws::Appflow
|
|
793
816
|
# prefix_config: {
|
794
817
|
# prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
|
795
818
|
# prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
|
819
|
+
# path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
|
796
820
|
# },
|
797
821
|
# aggregation_config: {
|
798
822
|
# aggregation_type: "None", # accepts None, SingleFile
|
823
|
+
# target_file_size: 1,
|
799
824
|
# },
|
800
825
|
# preserve_source_data_typing: false,
|
801
826
|
# },
|
@@ -839,9 +864,11 @@ module Aws::Appflow
|
|
839
864
|
# prefix_config: { # required
|
840
865
|
# prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
|
841
866
|
# prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
|
867
|
+
# path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
|
842
868
|
# },
|
843
869
|
# aggregation_config: {
|
844
870
|
# aggregation_type: "None", # accepts None, SingleFile
|
871
|
+
# target_file_size: 1,
|
845
872
|
# },
|
846
873
|
# },
|
847
874
|
# },
|
@@ -927,7 +954,7 @@ module Aws::Appflow
|
|
927
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
|
928
955
|
# },
|
929
956
|
# destination_field: "DestinationField",
|
930
|
-
# 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
|
931
958
|
# task_properties: {
|
932
959
|
# "VALUE" => "Property",
|
933
960
|
# },
|
@@ -936,6 +963,13 @@ module Aws::Appflow
|
|
936
963
|
# tags: {
|
937
964
|
# "TagKey" => "TagValue",
|
938
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
|
+
# },
|
939
973
|
# })
|
940
974
|
#
|
941
975
|
# @example Response structure
|
@@ -1479,6 +1513,9 @@ module Aws::Appflow
|
|
1479
1513
|
# * {Types::DescribeFlowResponse#created_by #created_by} => String
|
1480
1514
|
# * {Types::DescribeFlowResponse#last_updated_by #last_updated_by} => String
|
1481
1515
|
# * {Types::DescribeFlowResponse#tags #tags} => Hash<String,String>
|
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<Types::MetadataCatalogDetail>
|
1518
|
+
# * {Types::DescribeFlowResponse#schema_version #schema_version} => Integer
|
1482
1519
|
#
|
1483
1520
|
# @example Request syntax with placeholder values
|
1484
1521
|
#
|
@@ -1540,7 +1577,10 @@ module Aws::Appflow
|
|
1540
1577
|
# resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.file_type #=> String, one of "CSV", "JSON", "PARQUET"
|
1541
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"
|
1542
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"
|
1543
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
|
1544
1584
|
# resp.destination_flow_config_list[0].destination_connector_properties.s3.s3_output_format_config.preserve_source_data_typing #=> Boolean
|
1545
1585
|
# resp.destination_flow_config_list[0].destination_connector_properties.salesforce.object #=> String
|
1546
1586
|
# resp.destination_flow_config_list[0].destination_connector_properties.salesforce.id_field_names #=> Array
|
@@ -1565,7 +1605,10 @@ module Aws::Appflow
|
|
1565
1605
|
# resp.destination_flow_config_list[0].destination_connector_properties.upsolver.s3_output_format_config.file_type #=> String, one of "CSV", "JSON", "PARQUET"
|
1566
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"
|
1567
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"
|
1568
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
|
1569
1612
|
# resp.destination_flow_config_list[0].destination_connector_properties.honeycode.object #=> String
|
1570
1613
|
# resp.destination_flow_config_list[0].destination_connector_properties.honeycode.error_handling_config.fail_on_first_destination_error #=> Boolean
|
1571
1614
|
# resp.destination_flow_config_list[0].destination_connector_properties.honeycode.error_handling_config.bucket_prefix #=> String
|
@@ -1633,7 +1676,7 @@ module Aws::Appflow
|
|
1633
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"
|
1634
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"
|
1635
1678
|
# resp.tasks[0].destination_field #=> String
|
1636
|
-
# 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"
|
1637
1680
|
# resp.tasks[0].task_properties #=> Hash
|
1638
1681
|
# resp.tasks[0].task_properties["OperatorPropertiesKeys"] #=> String
|
1639
1682
|
# resp.created_at #=> Time
|
@@ -1642,6 +1685,19 @@ module Aws::Appflow
|
|
1642
1685
|
# resp.last_updated_by #=> String
|
1643
1686
|
# resp.tags #=> Hash
|
1644
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
|
1645
1701
|
#
|
1646
1702
|
# @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DescribeFlow AWS API Documentation
|
1647
1703
|
#
|
@@ -1695,6 +1751,15 @@ module Aws::Appflow
|
|
1695
1751
|
# resp.flow_executions[0].last_updated_at #=> Time
|
1696
1752
|
# resp.flow_executions[0].data_pull_start_time #=> Time
|
1697
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"
|
1698
1763
|
# resp.next_token #=> String
|
1699
1764
|
#
|
1700
1765
|
# @see http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/DescribeFlowExecutionRecords AWS API Documentation
|
@@ -2378,6 +2443,12 @@ module Aws::Appflow
|
|
2378
2443
|
# A list of tasks that Amazon AppFlow performs while transferring the
|
2379
2444
|
# data in the flow run.
|
2380
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
|
+
#
|
2381
2452
|
# @return [Types::UpdateFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2382
2453
|
#
|
2383
2454
|
# * {Types::UpdateFlowResponse#flow_status #flow_status} => String
|
@@ -2498,9 +2569,11 @@ module Aws::Appflow
|
|
2498
2569
|
# prefix_config: {
|
2499
2570
|
# prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
|
2500
2571
|
# prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
|
2572
|
+
# path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
|
2501
2573
|
# },
|
2502
2574
|
# aggregation_config: {
|
2503
2575
|
# aggregation_type: "None", # accepts None, SingleFile
|
2576
|
+
# target_file_size: 1,
|
2504
2577
|
# },
|
2505
2578
|
# preserve_source_data_typing: false,
|
2506
2579
|
# },
|
@@ -2544,9 +2617,11 @@ module Aws::Appflow
|
|
2544
2617
|
# prefix_config: { # required
|
2545
2618
|
# prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
|
2546
2619
|
# prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
|
2620
|
+
# path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
|
2547
2621
|
# },
|
2548
2622
|
# aggregation_config: {
|
2549
2623
|
# aggregation_type: "None", # accepts None, SingleFile
|
2624
|
+
# target_file_size: 1,
|
2550
2625
|
# },
|
2551
2626
|
# },
|
2552
2627
|
# },
|
@@ -2632,12 +2707,19 @@ module Aws::Appflow
|
|
2632
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
|
2633
2708
|
# },
|
2634
2709
|
# destination_field: "DestinationField",
|
2635
|
-
# 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
|
2636
2711
|
# task_properties: {
|
2637
2712
|
# "VALUE" => "Property",
|
2638
2713
|
# },
|
2639
2714
|
# },
|
2640
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
|
+
# },
|
2641
2723
|
# })
|
2642
2724
|
#
|
2643
2725
|
# @example Response structure
|
@@ -2666,7 +2748,7 @@ module Aws::Appflow
|
|
2666
2748
|
params: params,
|
2667
2749
|
config: config)
|
2668
2750
|
context[:gem_name] = 'aws-sdk-appflow'
|
2669
|
-
context[:gem_version] = '1.
|
2751
|
+
context[:gem_version] = '1.30.0'
|
2670
2752
|
Seahorse::Client::Request.new(handlers, context)
|
2671
2753
|
end
|
2672
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"))
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# WARNING ABOUT GENERATED CODE
|
4
|
+
#
|
5
|
+
# This file is generated. See the contributing guide for more information:
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
|
+
#
|
8
|
+
# WARNING ABOUT GENERATED CODE
|
9
|
+
|
10
|
+
module Aws::Appflow
|
11
|
+
# Endpoint parameters used to influence endpoints per request.
|
12
|
+
#
|
13
|
+
# @!attribute region
|
14
|
+
# The AWS region used to dispatch the request.
|
15
|
+
#
|
16
|
+
# @return [String]
|
17
|
+
#
|
18
|
+
# @!attribute use_dual_stack
|
19
|
+
# When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
|
20
|
+
#
|
21
|
+
# @return [Boolean]
|
22
|
+
#
|
23
|
+
# @!attribute use_fips
|
24
|
+
# When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
|
25
|
+
#
|
26
|
+
# @return [Boolean]
|
27
|
+
#
|
28
|
+
# @!attribute endpoint
|
29
|
+
# Override the endpoint used to send this request
|
30
|
+
#
|
31
|
+
# @return [String]
|
32
|
+
#
|
33
|
+
EndpointParameters = Struct.new(
|
34
|
+
:region,
|
35
|
+
:use_dual_stack,
|
36
|
+
:use_fips,
|
37
|
+
:endpoint,
|
38
|
+
) do
|
39
|
+
include Aws::Structure
|
40
|
+
|
41
|
+
# @api private
|
42
|
+
class << self
|
43
|
+
PARAM_MAP = {
|
44
|
+
'Region' => :region,
|
45
|
+
'UseDualStack' => :use_dual_stack,
|
46
|
+
'UseFIPS' => :use_fips,
|
47
|
+
'Endpoint' => :endpoint,
|
48
|
+
}.freeze
|
49
|
+
end
|
50
|
+
|
51
|
+
def initialize(options = {})
|
52
|
+
self[:region] = options[:region]
|
53
|
+
self[:use_dual_stack] = options[:use_dual_stack]
|
54
|
+
self[:use_dual_stack] = false if self[:use_dual_stack].nil?
|
55
|
+
if self[:use_dual_stack].nil?
|
56
|
+
raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
|
57
|
+
end
|
58
|
+
self[:use_fips] = options[:use_fips]
|
59
|
+
self[:use_fips] = false if self[:use_fips].nil?
|
60
|
+
if self[:use_fips].nil?
|
61
|
+
raise ArgumentError, "Missing required EndpointParameter: :use_fips"
|
62
|
+
end
|
63
|
+
self[:endpoint] = options[:endpoint]
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# WARNING ABOUT GENERATED CODE
|
4
|
+
#
|
5
|
+
# This file is generated. See the contributing guide for more information:
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
|
+
#
|
8
|
+
# WARNING ABOUT GENERATED CODE
|
9
|
+
|
10
|
+
module Aws::Appflow
|
11
|
+
class EndpointProvider
|
12
|
+
def initialize(rule_set = nil)
|
13
|
+
@@rule_set ||= begin
|
14
|
+
endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
|
15
|
+
Aws::Endpoints::RuleSet.new(
|
16
|
+
version: endpoint_rules['version'],
|
17
|
+
service_id: endpoint_rules['serviceId'],
|
18
|
+
parameters: endpoint_rules['parameters'],
|
19
|
+
rules: endpoint_rules['rules']
|
20
|
+
)
|
21
|
+
end
|
22
|
+
@provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
|
23
|
+
end
|
24
|
+
|
25
|
+
def resolve_endpoint(parameters)
|
26
|
+
@provider.resolve_endpoint(parameters)
|
27
|
+
end
|
28
|
+
|
29
|
+
# @api private
|
30
|
+
RULES = <<-JSON
|
31
|
+
eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
|
32
|
+
bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
|
33
|
+
dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
|
34
|
+
cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
|
35
|
+
dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
|
36
|
+
ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
|
37
|
+
ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
|
38
|
+
ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
|
39
|
+
aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
|
40
|
+
OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
|
41
|
+
UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
|
42
|
+
dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
|
43
|
+
UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
|
44
|
+
dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
|
45
|
+
ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
|
46
|
+
IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
|
47
|
+
aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
|
48
|
+
bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
|
49
|
+
ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
|
50
|
+
Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
|
51
|
+
cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
|
52
|
+
InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
|
53
|
+
aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
|
54
|
+
cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
|
55
|
+
InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
|
56
|
+
W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
|
57
|
+
UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
|
58
|
+
SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
|
59
|
+
eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
|
60
|
+
InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
|
61
|
+
LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
|
62
|
+
ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
|
63
|
+
b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
|
64
|
+
fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
|
65
|
+
RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
|
66
|
+
ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
|
67
|
+
ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
|
68
|
+
ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
|
69
|
+
dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
|
70
|
+
dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
|
71
|
+
Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
|
72
|
+
In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
|
73
|
+
YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
|
74
|
+
YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
|
75
|
+
cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
|
76
|
+
dCI6eyJ1cmwiOiJodHRwczovL2FwcGZsb3ctZmlwcy57UmVnaW9ufS57UGFy
|
77
|
+
dGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
|
78
|
+
Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29u
|
79
|
+
ZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFyZSBl
|
80
|
+
bmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBv
|
81
|
+
bmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpb
|
82
|
+
eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
|
83
|
+
In0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
|
84
|
+
cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6
|
85
|
+
ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwi
|
86
|
+
c3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJj
|
87
|
+
b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
|
88
|
+
aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXBwZmxvdy1m
|
89
|
+
aXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInBy
|
90
|
+
b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
|
91
|
+
XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5hYmxl
|
92
|
+
ZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBTIiwi
|
93
|
+
dHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVh
|
94
|
+
bkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVd
|
95
|
+
fV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZu
|
96
|
+
IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRy
|
97
|
+
IiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRz
|
98
|
+
RHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
|
99
|
+
aXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9hcHBmbG93
|
100
|
+
LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4
|
101
|
+
fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRw
|
102
|
+
b2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sg
|
103
|
+
aXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
|
104
|
+
dCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
|
105
|
+
W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXBwZmxvdy57UmVnaW9u
|
106
|
+
fS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7
|
107
|
+
fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
|
108
|
+
|
109
|
+
JSON
|
110
|
+
end
|
111
|
+
end
|