aws-sdk-glue 1.203.0 → 1.204.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2863,6 +2863,80 @@ module Aws::Glue
2863
2863
  req.send_request(options)
2864
2864
  end
2865
2865
 
2866
+ # Creates a new catalog in the Glue Data Catalog.
2867
+ #
2868
+ # @option params [required, String] :name
2869
+ # The name of the catalog to create.
2870
+ #
2871
+ # @option params [required, Types::CatalogInput] :catalog_input
2872
+ # A `CatalogInput` object that defines the metadata for the catalog.
2873
+ #
2874
+ # @option params [Hash<String,String>] :tags
2875
+ # A map array of key-value pairs, not more than 50 pairs. Each key is a
2876
+ # UTF-8 string, not less than 1 or more than 128 bytes long. Each value
2877
+ # is a UTF-8 string, not more than 256 bytes long. The tags you assign
2878
+ # to the catalog.
2879
+ #
2880
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2881
+ #
2882
+ # @example Request syntax with placeholder values
2883
+ #
2884
+ # resp = client.create_catalog({
2885
+ # name: "CatalogNameString", # required
2886
+ # catalog_input: { # required
2887
+ # description: "DescriptionString",
2888
+ # federated_catalog: {
2889
+ # identifier: "FederationIdentifier",
2890
+ # connection_name: "NameString",
2891
+ # },
2892
+ # parameters: {
2893
+ # "KeyString" => "ParametersMapValue",
2894
+ # },
2895
+ # target_redshift_catalog: {
2896
+ # catalog_arn: "ResourceArnString", # required
2897
+ # },
2898
+ # catalog_properties: {
2899
+ # data_lake_access_properties: {
2900
+ # data_lake_access: false,
2901
+ # data_transfer_role: "IAMRoleArn",
2902
+ # kms_key: "ResourceArnString",
2903
+ # catalog_type: "NameString",
2904
+ # },
2905
+ # custom_properties: {
2906
+ # "KeyString" => "ParametersMapValue",
2907
+ # },
2908
+ # },
2909
+ # create_table_default_permissions: [
2910
+ # {
2911
+ # principal: {
2912
+ # data_lake_principal_identifier: "DataLakePrincipalString",
2913
+ # },
2914
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
2915
+ # },
2916
+ # ],
2917
+ # create_database_default_permissions: [
2918
+ # {
2919
+ # principal: {
2920
+ # data_lake_principal_identifier: "DataLakePrincipalString",
2921
+ # },
2922
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
2923
+ # },
2924
+ # ],
2925
+ # },
2926
+ # tags: {
2927
+ # "TagKey" => "TagValue",
2928
+ # },
2929
+ # })
2930
+ #
2931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateCatalog AWS API Documentation
2932
+ #
2933
+ # @overload create_catalog(params = {})
2934
+ # @param [Hash] params ({})
2935
+ def create_catalog(params = {}, options = {})
2936
+ req = build_request(:create_catalog, params)
2937
+ req.send_request(options)
2938
+ end
2939
+
2866
2940
  # Creates a classifier in the user's account. This can be a
2867
2941
  # `GrokClassifier`, an `XMLClassifier`, a `JsonClassifier`, or a
2868
2942
  # `CsvClassifier`, depending on which field of the request is present.
@@ -3006,21 +3080,27 @@ module Aws::Glue
3006
3080
  # connection_input: { # required
3007
3081
  # name: "NameString", # required
3008
3082
  # description: "DescriptionString",
3009
- # connection_type: "JDBC", # required, accepts JDBC, SFTP, MONGODB, KAFKA, NETWORK, MARKETPLACE, CUSTOM, SALESFORCE, VIEW_VALIDATION_REDSHIFT, VIEW_VALIDATION_ATHENA
3083
+ # connection_type: "JDBC", # required, accepts JDBC, SFTP, MONGODB, KAFKA, NETWORK, MARKETPLACE, CUSTOM, SALESFORCE, VIEW_VALIDATION_REDSHIFT, VIEW_VALIDATION_ATHENA, GOOGLEADS, GOOGLESHEETS, GOOGLEANALYTICS4, SERVICENOW, MARKETO, SAPODATA, ZENDESK, JIRACLOUD, NETSUITEERP, HUBSPOT, FACEBOOKADS, INSTAGRAMADS, ZOHOCRM, SALESFORCEPARDOT, SALESFORCEMARKETINGCLOUD, SLACK, STRIPE, INTERCOM, SNAPCHATADS
3010
3084
  # match_criteria: ["NameString"],
3011
3085
  # connection_properties: { # required
3012
3086
  # "HOST" => "ValueString",
3013
3087
  # },
3088
+ # spark_properties: {
3089
+ # "PropertyKey" => "PropertyValue",
3090
+ # },
3014
3091
  # athena_properties: {
3015
3092
  # "PropertyKey" => "PropertyValue",
3016
3093
  # },
3094
+ # python_properties: {
3095
+ # "PropertyKey" => "PropertyValue",
3096
+ # },
3017
3097
  # physical_connection_requirements: {
3018
3098
  # subnet_id: "NameString",
3019
3099
  # security_group_id_list: ["NameString"],
3020
3100
  # availability_zone: "NameString",
3021
3101
  # },
3022
3102
  # authentication_configuration: {
3023
- # authentication_type: "BASIC", # accepts BASIC, OAUTH2, CUSTOM
3103
+ # authentication_type: "BASIC", # accepts BASIC, OAUTH2, CUSTOM, IAM
3024
3104
  # o_auth_2_properties: {
3025
3105
  # o_auth_2_grant_type: "AUTHORIZATION_CODE", # accepts AUTHORIZATION_CODE, CLIENT_CREDENTIALS, JWT_BEARER
3026
3106
  # o_auth_2_client_application: {
@@ -3035,10 +3115,25 @@ module Aws::Glue
3035
3115
  # authorization_code: "AuthorizationCode",
3036
3116
  # redirect_uri: "RedirectUri",
3037
3117
  # },
3118
+ # o_auth_2_credentials: {
3119
+ # user_managed_client_application_client_secret: "UserManagedClientApplicationClientSecret",
3120
+ # access_token: "AccessToken",
3121
+ # refresh_token: "RefreshToken",
3122
+ # jwt_token: "JwtToken",
3123
+ # },
3038
3124
  # },
3039
3125
  # secret_arn: "SecretArn",
3126
+ # kms_key_arn: "KmsKeyArn",
3127
+ # basic_authentication_credentials: {
3128
+ # username: "Username",
3129
+ # password: "Password",
3130
+ # },
3131
+ # custom_authentication_credentials: {
3132
+ # "CredentialKey" => "CredentialValue",
3133
+ # },
3040
3134
  # },
3041
3135
  # validate_credentials: false,
3136
+ # validate_for_compute_environments: ["SPARK"], # accepts SPARK, ATHENA, PYTHON
3042
3137
  # },
3043
3138
  # tags: {
3044
3139
  # "TagKey" => "TagValue",
@@ -3618,6 +3713,211 @@ module Aws::Glue
3618
3713
  req.send_request(options)
3619
3714
  end
3620
3715
 
3716
+ # Creates a Zero-ETL integration in the caller's account between two
3717
+ # resources with Amazon Resource Names (ARNs): the `SourceArn` and
3718
+ # `TargetArn`.
3719
+ #
3720
+ # @option params [required, String] :integration_name
3721
+ # A unique name for an integration in Glue.
3722
+ #
3723
+ # @option params [required, String] :source_arn
3724
+ # The ARN of the source resource for the integration.
3725
+ #
3726
+ # @option params [required, String] :target_arn
3727
+ # The ARN of the target resource for the integration.
3728
+ #
3729
+ # @option params [String] :description
3730
+ # A description of the integration.
3731
+ #
3732
+ # @option params [String] :data_filter
3733
+ # Selects source tables for the integration using Maxwell filter syntax.
3734
+ #
3735
+ # @option params [String] :kms_key_id
3736
+ # The ARN of a KMS key used for encrypting the channel.
3737
+ #
3738
+ # @option params [Hash<String,String>] :additional_encryption_context
3739
+ # An optional set of non-secret key–value pairs that contains additional
3740
+ # contextual information for encryption. This can only be provided if
3741
+ # `KMSKeyId` is provided.
3742
+ #
3743
+ # @option params [Array<Types::Tag>] :tags
3744
+ # Metadata assigned to the resource consisting of a list of key-value
3745
+ # pairs.
3746
+ #
3747
+ # @return [Types::CreateIntegrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3748
+ #
3749
+ # * {Types::CreateIntegrationResponse#source_arn #source_arn} => String
3750
+ # * {Types::CreateIntegrationResponse#target_arn #target_arn} => String
3751
+ # * {Types::CreateIntegrationResponse#integration_name #integration_name} => String
3752
+ # * {Types::CreateIntegrationResponse#description #description} => String
3753
+ # * {Types::CreateIntegrationResponse#integration_arn #integration_arn} => String
3754
+ # * {Types::CreateIntegrationResponse#kms_key_id #kms_key_id} => String
3755
+ # * {Types::CreateIntegrationResponse#additional_encryption_context #additional_encryption_context} => Hash&lt;String,String&gt;
3756
+ # * {Types::CreateIntegrationResponse#tags #tags} => Array&lt;Types::Tag&gt;
3757
+ # * {Types::CreateIntegrationResponse#status #status} => String
3758
+ # * {Types::CreateIntegrationResponse#create_time #create_time} => Time
3759
+ # * {Types::CreateIntegrationResponse#errors #errors} => Array&lt;Types::IntegrationError&gt;
3760
+ # * {Types::CreateIntegrationResponse#data_filter #data_filter} => String
3761
+ #
3762
+ # @example Request syntax with placeholder values
3763
+ #
3764
+ # resp = client.create_integration({
3765
+ # integration_name: "String128", # required
3766
+ # source_arn: "String128", # required
3767
+ # target_arn: "String128", # required
3768
+ # description: "IntegrationDescription",
3769
+ # data_filter: "String2048",
3770
+ # kms_key_id: "String2048",
3771
+ # additional_encryption_context: {
3772
+ # "IntegrationString" => "IntegrationString",
3773
+ # },
3774
+ # tags: [
3775
+ # {
3776
+ # key: "TagKey",
3777
+ # value: "TagValue",
3778
+ # },
3779
+ # ],
3780
+ # })
3781
+ #
3782
+ # @example Response structure
3783
+ #
3784
+ # resp.source_arn #=> String
3785
+ # resp.target_arn #=> String
3786
+ # resp.integration_name #=> String
3787
+ # resp.description #=> String
3788
+ # resp.integration_arn #=> String
3789
+ # resp.kms_key_id #=> String
3790
+ # resp.additional_encryption_context #=> Hash
3791
+ # resp.additional_encryption_context["IntegrationString"] #=> String
3792
+ # resp.tags #=> Array
3793
+ # resp.tags[0].key #=> String
3794
+ # resp.tags[0].value #=> String
3795
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "MODIFYING", "FAILED", "DELETING", "SYNCING", "NEEDS_ATTENTION"
3796
+ # resp.create_time #=> Time
3797
+ # resp.errors #=> Array
3798
+ # resp.errors[0].error_code #=> String
3799
+ # resp.errors[0].error_message #=> String
3800
+ # resp.data_filter #=> String
3801
+ #
3802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateIntegration AWS API Documentation
3803
+ #
3804
+ # @overload create_integration(params = {})
3805
+ # @param [Hash] params ({})
3806
+ def create_integration(params = {}, options = {})
3807
+ req = build_request(:create_integration, params)
3808
+ req.send_request(options)
3809
+ end
3810
+
3811
+ # This API can be used for setting up the `ResourceProperty` of the Glue
3812
+ # connection (for the source) or Glue database ARN (for the target).
3813
+ # These properties can include the role to access the connection or
3814
+ # database. To set both source and target properties the same API needs
3815
+ # to be invoked with the Glue connection ARN as `ResourceArn` with
3816
+ # `SourceProcessingProperties` and the Glue database ARN as
3817
+ # `ResourceArn` with `TargetProcessingProperties` respectively.
3818
+ #
3819
+ # @option params [required, String] :resource_arn
3820
+ # The connection ARN of the source, or the database ARN of the target.
3821
+ #
3822
+ # @option params [Types::SourceProcessingProperties] :source_processing_properties
3823
+ # The resource properties associated with the integration source.
3824
+ #
3825
+ # @option params [Types::TargetProcessingProperties] :target_processing_properties
3826
+ # The resource properties associated with the integration target.
3827
+ #
3828
+ # @return [Types::CreateIntegrationResourcePropertyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3829
+ #
3830
+ # * {Types::CreateIntegrationResourcePropertyResponse#resource_arn #resource_arn} => String
3831
+ # * {Types::CreateIntegrationResourcePropertyResponse#source_processing_properties #source_processing_properties} => Types::SourceProcessingProperties
3832
+ # * {Types::CreateIntegrationResourcePropertyResponse#target_processing_properties #target_processing_properties} => Types::TargetProcessingProperties
3833
+ #
3834
+ # @example Request syntax with placeholder values
3835
+ #
3836
+ # resp = client.create_integration_resource_property({
3837
+ # resource_arn: "String128", # required
3838
+ # source_processing_properties: {
3839
+ # role_arn: "String128",
3840
+ # },
3841
+ # target_processing_properties: {
3842
+ # role_arn: "String128",
3843
+ # kms_arn: "String2048",
3844
+ # connection_name: "String128",
3845
+ # event_bus_arn: "String2048",
3846
+ # },
3847
+ # })
3848
+ #
3849
+ # @example Response structure
3850
+ #
3851
+ # resp.resource_arn #=> String
3852
+ # resp.source_processing_properties.role_arn #=> String
3853
+ # resp.target_processing_properties.role_arn #=> String
3854
+ # resp.target_processing_properties.kms_arn #=> String
3855
+ # resp.target_processing_properties.connection_name #=> String
3856
+ # resp.target_processing_properties.event_bus_arn #=> String
3857
+ #
3858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateIntegrationResourceProperty AWS API Documentation
3859
+ #
3860
+ # @overload create_integration_resource_property(params = {})
3861
+ # @param [Hash] params ({})
3862
+ def create_integration_resource_property(params = {}, options = {})
3863
+ req = build_request(:create_integration_resource_property, params)
3864
+ req.send_request(options)
3865
+ end
3866
+
3867
+ # This API is used to provide optional override properties for the the
3868
+ # tables that need to be replicated. These properties can include
3869
+ # properties for filtering and partitioning for the source and target
3870
+ # tables. To set both source and target properties the same API need to
3871
+ # be invoked with the Glue connection ARN as `ResourceArn` with
3872
+ # `SourceTableConfig`, and the Glue database ARN as `ResourceArn` with
3873
+ # `TargetTableConfig` respectively.
3874
+ #
3875
+ # @option params [required, String] :resource_arn
3876
+ # The connection ARN of the source, or the database ARN of the target.
3877
+ #
3878
+ # @option params [required, String] :table_name
3879
+ # The name of the table to be replicated.
3880
+ #
3881
+ # @option params [Types::SourceTableConfig] :source_table_config
3882
+ # A structure for the source table configuration.
3883
+ #
3884
+ # @option params [Types::TargetTableConfig] :target_table_config
3885
+ # A structure for the target table configuration.
3886
+ #
3887
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3888
+ #
3889
+ # @example Request syntax with placeholder values
3890
+ #
3891
+ # resp = client.create_integration_table_properties({
3892
+ # resource_arn: "String128", # required
3893
+ # table_name: "String128", # required
3894
+ # source_table_config: {
3895
+ # fields: ["String128"],
3896
+ # filter_predicate: "String128",
3897
+ # primary_key: ["String128"],
3898
+ # record_update_field: "String128",
3899
+ # },
3900
+ # target_table_config: {
3901
+ # unnest_spec: "TOPLEVEL", # accepts TOPLEVEL, FULL, NOUNNEST
3902
+ # partition_spec: [
3903
+ # {
3904
+ # field_name: "String128",
3905
+ # function_spec: "String128",
3906
+ # },
3907
+ # ],
3908
+ # target_table_name: "String128",
3909
+ # },
3910
+ # })
3911
+ #
3912
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateIntegrationTableProperties AWS API Documentation
3913
+ #
3914
+ # @overload create_integration_table_properties(params = {})
3915
+ # @param [Hash] params ({})
3916
+ def create_integration_table_properties(params = {}, options = {})
3917
+ req = build_request(:create_integration_table_properties, params)
3918
+ req.send_request(options)
3919
+ end
3920
+
3621
3921
  # Creates a new job definition.
3622
3922
  #
3623
3923
  # @option params [required, String] :name
@@ -5221,6 +5521,41 @@ module Aws::Glue
5221
5521
  req.send_request(options)
5222
5522
  end
5223
5523
 
5524
+ # Removes the specified catalog from the Glue Data Catalog.
5525
+ #
5526
+ # After completing this operation, you no longer have access to the
5527
+ # databases, tables (and all table versions and partitions that might
5528
+ # belong to the tables) and the user-defined functions in the deleted
5529
+ # catalog. Glue deletes these "orphaned" resources asynchronously in a
5530
+ # timely manner, at the discretion of the service.
5531
+ #
5532
+ # To ensure the immediate deletion of all related resources before
5533
+ # calling the `DeleteCatalog` operation, use `DeleteTableVersion` (or
5534
+ # `BatchDeleteTableVersion`), `DeletePartition` (or
5535
+ # `BatchDeletePartition`), `DeleteTable` (or `BatchDeleteTable`),
5536
+ # `DeleteUserDefinedFunction` and `DeleteDatabase` to delete any
5537
+ # resources that belong to the catalog.
5538
+ #
5539
+ # @option params [required, String] :catalog_id
5540
+ # The ID of the catalog.
5541
+ #
5542
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5543
+ #
5544
+ # @example Request syntax with placeholder values
5545
+ #
5546
+ # resp = client.delete_catalog({
5547
+ # catalog_id: "CatalogIdString", # required
5548
+ # })
5549
+ #
5550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteCatalog AWS API Documentation
5551
+ #
5552
+ # @overload delete_catalog(params = {})
5553
+ # @param [Hash] params ({})
5554
+ def delete_catalog(params = {}, options = {})
5555
+ req = build_request(:delete_catalog, params)
5556
+ req.send_request(options)
5557
+ end
5558
+
5224
5559
  # Removes a classifier from the Data Catalog.
5225
5560
  #
5226
5561
  # @option params [required, String] :name
@@ -5516,6 +5851,88 @@ module Aws::Glue
5516
5851
  req.send_request(options)
5517
5852
  end
5518
5853
 
5854
+ # Deletes the specified Zero-ETL integration.
5855
+ #
5856
+ # @option params [required, String] :integration_identifier
5857
+ # The Amazon Resource Name (ARN) for the integration.
5858
+ #
5859
+ # @return [Types::DeleteIntegrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5860
+ #
5861
+ # * {Types::DeleteIntegrationResponse#source_arn #source_arn} => String
5862
+ # * {Types::DeleteIntegrationResponse#target_arn #target_arn} => String
5863
+ # * {Types::DeleteIntegrationResponse#integration_name #integration_name} => String
5864
+ # * {Types::DeleteIntegrationResponse#description #description} => String
5865
+ # * {Types::DeleteIntegrationResponse#integration_arn #integration_arn} => String
5866
+ # * {Types::DeleteIntegrationResponse#kms_key_id #kms_key_id} => String
5867
+ # * {Types::DeleteIntegrationResponse#additional_encryption_context #additional_encryption_context} => Hash&lt;String,String&gt;
5868
+ # * {Types::DeleteIntegrationResponse#tags #tags} => Array&lt;Types::Tag&gt;
5869
+ # * {Types::DeleteIntegrationResponse#status #status} => String
5870
+ # * {Types::DeleteIntegrationResponse#create_time #create_time} => Time
5871
+ # * {Types::DeleteIntegrationResponse#errors #errors} => Array&lt;Types::IntegrationError&gt;
5872
+ # * {Types::DeleteIntegrationResponse#data_filter #data_filter} => String
5873
+ #
5874
+ # @example Request syntax with placeholder values
5875
+ #
5876
+ # resp = client.delete_integration({
5877
+ # integration_identifier: "String128", # required
5878
+ # })
5879
+ #
5880
+ # @example Response structure
5881
+ #
5882
+ # resp.source_arn #=> String
5883
+ # resp.target_arn #=> String
5884
+ # resp.integration_name #=> String
5885
+ # resp.description #=> String
5886
+ # resp.integration_arn #=> String
5887
+ # resp.kms_key_id #=> String
5888
+ # resp.additional_encryption_context #=> Hash
5889
+ # resp.additional_encryption_context["IntegrationString"] #=> String
5890
+ # resp.tags #=> Array
5891
+ # resp.tags[0].key #=> String
5892
+ # resp.tags[0].value #=> String
5893
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "MODIFYING", "FAILED", "DELETING", "SYNCING", "NEEDS_ATTENTION"
5894
+ # resp.create_time #=> Time
5895
+ # resp.errors #=> Array
5896
+ # resp.errors[0].error_code #=> String
5897
+ # resp.errors[0].error_message #=> String
5898
+ # resp.data_filter #=> String
5899
+ #
5900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteIntegration AWS API Documentation
5901
+ #
5902
+ # @overload delete_integration(params = {})
5903
+ # @param [Hash] params ({})
5904
+ def delete_integration(params = {}, options = {})
5905
+ req = build_request(:delete_integration, params)
5906
+ req.send_request(options)
5907
+ end
5908
+
5909
+ # Deletes the table properties that have been created for the tables
5910
+ # that need to be replicated.
5911
+ #
5912
+ # @option params [required, String] :resource_arn
5913
+ # The connection ARN of the source, or the database ARN of the target.
5914
+ #
5915
+ # @option params [required, String] :table_name
5916
+ # The name of the table to be replicated.
5917
+ #
5918
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5919
+ #
5920
+ # @example Request syntax with placeholder values
5921
+ #
5922
+ # resp = client.delete_integration_table_properties({
5923
+ # resource_arn: "String128", # required
5924
+ # table_name: "String128", # required
5925
+ # })
5926
+ #
5927
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteIntegrationTableProperties AWS API Documentation
5928
+ #
5929
+ # @overload delete_integration_table_properties(params = {})
5930
+ # @param [Hash] params ({})
5931
+ def delete_integration_table_properties(params = {}, options = {})
5932
+ req = build_request(:delete_integration_table_properties, params)
5933
+ req.send_request(options)
5934
+ end
5935
+
5519
5936
  # Deletes a specified job definition. If the job definition is not
5520
5937
  # found, no exception is thrown.
5521
5938
  #
@@ -6110,6 +6527,403 @@ module Aws::Glue
6110
6527
  req.send_request(options)
6111
6528
  end
6112
6529
 
6530
+ # The `DescribeConnectionType` API provides full details of the
6531
+ # supported options for a given connection type in Glue.
6532
+ #
6533
+ # @option params [required, String] :connection_type
6534
+ # The name of the connection type to be described.
6535
+ #
6536
+ # @return [Types::DescribeConnectionTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6537
+ #
6538
+ # * {Types::DescribeConnectionTypeResponse#connection_type #connection_type} => String
6539
+ # * {Types::DescribeConnectionTypeResponse#description #description} => String
6540
+ # * {Types::DescribeConnectionTypeResponse#capabilities #capabilities} => Types::Capabilities
6541
+ # * {Types::DescribeConnectionTypeResponse#connection_properties #connection_properties} => Hash&lt;String,Types::Property&gt;
6542
+ # * {Types::DescribeConnectionTypeResponse#connection_options #connection_options} => Hash&lt;String,Types::Property&gt;
6543
+ # * {Types::DescribeConnectionTypeResponse#authentication_configuration #authentication_configuration} => Types::AuthConfiguration
6544
+ # * {Types::DescribeConnectionTypeResponse#compute_environment_configurations #compute_environment_configurations} => Hash&lt;String,Types::ComputeEnvironmentConfiguration&gt;
6545
+ # * {Types::DescribeConnectionTypeResponse#physical_connection_requirements #physical_connection_requirements} => Hash&lt;String,Types::Property&gt;
6546
+ # * {Types::DescribeConnectionTypeResponse#athena_connection_properties #athena_connection_properties} => Hash&lt;String,Types::Property&gt;
6547
+ # * {Types::DescribeConnectionTypeResponse#python_connection_properties #python_connection_properties} => Hash&lt;String,Types::Property&gt;
6548
+ # * {Types::DescribeConnectionTypeResponse#spark_connection_properties #spark_connection_properties} => Hash&lt;String,Types::Property&gt;
6549
+ #
6550
+ # @example Request syntax with placeholder values
6551
+ #
6552
+ # resp = client.describe_connection_type({
6553
+ # connection_type: "NameString", # required
6554
+ # })
6555
+ #
6556
+ # @example Response structure
6557
+ #
6558
+ # resp.connection_type #=> String
6559
+ # resp.description #=> String
6560
+ # resp.capabilities.supported_authentication_types #=> Array
6561
+ # resp.capabilities.supported_authentication_types[0] #=> String, one of "BASIC", "OAUTH2", "CUSTOM", "IAM"
6562
+ # resp.capabilities.supported_data_operations #=> Array
6563
+ # resp.capabilities.supported_data_operations[0] #=> String, one of "READ", "WRITE"
6564
+ # resp.capabilities.supported_compute_environments #=> Array
6565
+ # resp.capabilities.supported_compute_environments[0] #=> String, one of "SPARK", "ATHENA", "PYTHON"
6566
+ # resp.connection_properties #=> Hash
6567
+ # resp.connection_properties["PropertyName"].name #=> String
6568
+ # resp.connection_properties["PropertyName"].description #=> String
6569
+ # resp.connection_properties["PropertyName"].required #=> Boolean
6570
+ # resp.connection_properties["PropertyName"].default_value #=> String
6571
+ # resp.connection_properties["PropertyName"].property_types #=> Array
6572
+ # resp.connection_properties["PropertyName"].property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6573
+ # resp.connection_properties["PropertyName"].allowed_values #=> Array
6574
+ # resp.connection_properties["PropertyName"].allowed_values[0].description #=> String
6575
+ # resp.connection_properties["PropertyName"].allowed_values[0].value #=> String
6576
+ # resp.connection_properties["PropertyName"].data_operation_scopes #=> Array
6577
+ # resp.connection_properties["PropertyName"].data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6578
+ # resp.connection_options #=> Hash
6579
+ # resp.connection_options["PropertyName"].name #=> String
6580
+ # resp.connection_options["PropertyName"].description #=> String
6581
+ # resp.connection_options["PropertyName"].required #=> Boolean
6582
+ # resp.connection_options["PropertyName"].default_value #=> String
6583
+ # resp.connection_options["PropertyName"].property_types #=> Array
6584
+ # resp.connection_options["PropertyName"].property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6585
+ # resp.connection_options["PropertyName"].allowed_values #=> Array
6586
+ # resp.connection_options["PropertyName"].allowed_values[0].description #=> String
6587
+ # resp.connection_options["PropertyName"].allowed_values[0].value #=> String
6588
+ # resp.connection_options["PropertyName"].data_operation_scopes #=> Array
6589
+ # resp.connection_options["PropertyName"].data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6590
+ # resp.authentication_configuration.authentication_type.name #=> String
6591
+ # resp.authentication_configuration.authentication_type.description #=> String
6592
+ # resp.authentication_configuration.authentication_type.required #=> Boolean
6593
+ # resp.authentication_configuration.authentication_type.default_value #=> String
6594
+ # resp.authentication_configuration.authentication_type.property_types #=> Array
6595
+ # resp.authentication_configuration.authentication_type.property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6596
+ # resp.authentication_configuration.authentication_type.allowed_values #=> Array
6597
+ # resp.authentication_configuration.authentication_type.allowed_values[0].description #=> String
6598
+ # resp.authentication_configuration.authentication_type.allowed_values[0].value #=> String
6599
+ # resp.authentication_configuration.authentication_type.data_operation_scopes #=> Array
6600
+ # resp.authentication_configuration.authentication_type.data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6601
+ # resp.authentication_configuration.secret_arn.name #=> String
6602
+ # resp.authentication_configuration.secret_arn.description #=> String
6603
+ # resp.authentication_configuration.secret_arn.required #=> Boolean
6604
+ # resp.authentication_configuration.secret_arn.default_value #=> String
6605
+ # resp.authentication_configuration.secret_arn.property_types #=> Array
6606
+ # resp.authentication_configuration.secret_arn.property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6607
+ # resp.authentication_configuration.secret_arn.allowed_values #=> Array
6608
+ # resp.authentication_configuration.secret_arn.allowed_values[0].description #=> String
6609
+ # resp.authentication_configuration.secret_arn.allowed_values[0].value #=> String
6610
+ # resp.authentication_configuration.secret_arn.data_operation_scopes #=> Array
6611
+ # resp.authentication_configuration.secret_arn.data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6612
+ # resp.authentication_configuration.o_auth_2_properties #=> Hash
6613
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].name #=> String
6614
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].description #=> String
6615
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].required #=> Boolean
6616
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].default_value #=> String
6617
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].property_types #=> Array
6618
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6619
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].allowed_values #=> Array
6620
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].allowed_values[0].description #=> String
6621
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].allowed_values[0].value #=> String
6622
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].data_operation_scopes #=> Array
6623
+ # resp.authentication_configuration.o_auth_2_properties["PropertyName"].data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6624
+ # resp.authentication_configuration.basic_authentication_properties #=> Hash
6625
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].name #=> String
6626
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].description #=> String
6627
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].required #=> Boolean
6628
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].default_value #=> String
6629
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].property_types #=> Array
6630
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6631
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].allowed_values #=> Array
6632
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].allowed_values[0].description #=> String
6633
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].allowed_values[0].value #=> String
6634
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].data_operation_scopes #=> Array
6635
+ # resp.authentication_configuration.basic_authentication_properties["PropertyName"].data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6636
+ # resp.authentication_configuration.custom_authentication_properties #=> Hash
6637
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].name #=> String
6638
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].description #=> String
6639
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].required #=> Boolean
6640
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].default_value #=> String
6641
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].property_types #=> Array
6642
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6643
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].allowed_values #=> Array
6644
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].allowed_values[0].description #=> String
6645
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].allowed_values[0].value #=> String
6646
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].data_operation_scopes #=> Array
6647
+ # resp.authentication_configuration.custom_authentication_properties["PropertyName"].data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6648
+ # resp.compute_environment_configurations #=> Hash
6649
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].name #=> String
6650
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].description #=> String
6651
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].compute_environment #=> String, one of "SPARK", "ATHENA", "PYTHON"
6652
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].supported_authentication_types #=> Array
6653
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].supported_authentication_types[0] #=> String, one of "BASIC", "OAUTH2", "CUSTOM", "IAM"
6654
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options #=> Hash
6655
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].name #=> String
6656
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].description #=> String
6657
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].required #=> Boolean
6658
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].default_value #=> String
6659
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].property_types #=> Array
6660
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6661
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].allowed_values #=> Array
6662
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].allowed_values[0].description #=> String
6663
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].allowed_values[0].value #=> String
6664
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].data_operation_scopes #=> Array
6665
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_options["PropertyName"].data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6666
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_property_name_overrides #=> Hash
6667
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_property_name_overrides["PropertyName"] #=> String
6668
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_option_name_overrides #=> Hash
6669
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_option_name_overrides["PropertyName"] #=> String
6670
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_properties_required_overrides #=> Array
6671
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].connection_properties_required_overrides[0] #=> String
6672
+ # resp.compute_environment_configurations["ComputeEnvironmentName"].physical_connection_properties_required #=> Boolean
6673
+ # resp.physical_connection_requirements #=> Hash
6674
+ # resp.physical_connection_requirements["PropertyName"].name #=> String
6675
+ # resp.physical_connection_requirements["PropertyName"].description #=> String
6676
+ # resp.physical_connection_requirements["PropertyName"].required #=> Boolean
6677
+ # resp.physical_connection_requirements["PropertyName"].default_value #=> String
6678
+ # resp.physical_connection_requirements["PropertyName"].property_types #=> Array
6679
+ # resp.physical_connection_requirements["PropertyName"].property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6680
+ # resp.physical_connection_requirements["PropertyName"].allowed_values #=> Array
6681
+ # resp.physical_connection_requirements["PropertyName"].allowed_values[0].description #=> String
6682
+ # resp.physical_connection_requirements["PropertyName"].allowed_values[0].value #=> String
6683
+ # resp.physical_connection_requirements["PropertyName"].data_operation_scopes #=> Array
6684
+ # resp.physical_connection_requirements["PropertyName"].data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6685
+ # resp.athena_connection_properties #=> Hash
6686
+ # resp.athena_connection_properties["PropertyName"].name #=> String
6687
+ # resp.athena_connection_properties["PropertyName"].description #=> String
6688
+ # resp.athena_connection_properties["PropertyName"].required #=> Boolean
6689
+ # resp.athena_connection_properties["PropertyName"].default_value #=> String
6690
+ # resp.athena_connection_properties["PropertyName"].property_types #=> Array
6691
+ # resp.athena_connection_properties["PropertyName"].property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6692
+ # resp.athena_connection_properties["PropertyName"].allowed_values #=> Array
6693
+ # resp.athena_connection_properties["PropertyName"].allowed_values[0].description #=> String
6694
+ # resp.athena_connection_properties["PropertyName"].allowed_values[0].value #=> String
6695
+ # resp.athena_connection_properties["PropertyName"].data_operation_scopes #=> Array
6696
+ # resp.athena_connection_properties["PropertyName"].data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6697
+ # resp.python_connection_properties #=> Hash
6698
+ # resp.python_connection_properties["PropertyName"].name #=> String
6699
+ # resp.python_connection_properties["PropertyName"].description #=> String
6700
+ # resp.python_connection_properties["PropertyName"].required #=> Boolean
6701
+ # resp.python_connection_properties["PropertyName"].default_value #=> String
6702
+ # resp.python_connection_properties["PropertyName"].property_types #=> Array
6703
+ # resp.python_connection_properties["PropertyName"].property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6704
+ # resp.python_connection_properties["PropertyName"].allowed_values #=> Array
6705
+ # resp.python_connection_properties["PropertyName"].allowed_values[0].description #=> String
6706
+ # resp.python_connection_properties["PropertyName"].allowed_values[0].value #=> String
6707
+ # resp.python_connection_properties["PropertyName"].data_operation_scopes #=> Array
6708
+ # resp.python_connection_properties["PropertyName"].data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6709
+ # resp.spark_connection_properties #=> Hash
6710
+ # resp.spark_connection_properties["PropertyName"].name #=> String
6711
+ # resp.spark_connection_properties["PropertyName"].description #=> String
6712
+ # resp.spark_connection_properties["PropertyName"].required #=> Boolean
6713
+ # resp.spark_connection_properties["PropertyName"].default_value #=> String
6714
+ # resp.spark_connection_properties["PropertyName"].property_types #=> Array
6715
+ # resp.spark_connection_properties["PropertyName"].property_types[0] #=> String, one of "USER_INPUT", "SECRET", "READ_ONLY", "UNUSED", "SECRET_OR_USER_INPUT"
6716
+ # resp.spark_connection_properties["PropertyName"].allowed_values #=> Array
6717
+ # resp.spark_connection_properties["PropertyName"].allowed_values[0].description #=> String
6718
+ # resp.spark_connection_properties["PropertyName"].allowed_values[0].value #=> String
6719
+ # resp.spark_connection_properties["PropertyName"].data_operation_scopes #=> Array
6720
+ # resp.spark_connection_properties["PropertyName"].data_operation_scopes[0] #=> String, one of "READ", "WRITE"
6721
+ #
6722
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DescribeConnectionType AWS API Documentation
6723
+ #
6724
+ # @overload describe_connection_type(params = {})
6725
+ # @param [Hash] params ({})
6726
+ def describe_connection_type(params = {}, options = {})
6727
+ req = build_request(:describe_connection_type, params)
6728
+ req.send_request(options)
6729
+ end
6730
+
6731
+ # Provides details regarding the entity used with the connection type,
6732
+ # with a description of the data model for each field in the selected
6733
+ # entity.
6734
+ #
6735
+ # The response includes all the fields which make up the entity.
6736
+ #
6737
+ # @option params [required, String] :connection_name
6738
+ # The name of the connection that contains the connection type
6739
+ # credentials.
6740
+ #
6741
+ # @option params [String] :catalog_id
6742
+ # The catalog ID of the catalog that contains the connection. This can
6743
+ # be null, By default, the Amazon Web Services Account ID is the catalog
6744
+ # ID.
6745
+ #
6746
+ # @option params [required, String] :entity_name
6747
+ # The name of the entity that you want to describe from the connection
6748
+ # type.
6749
+ #
6750
+ # @option params [String] :next_token
6751
+ # A continuation token, included if this is a continuation call.
6752
+ #
6753
+ # @option params [String] :data_store_api_version
6754
+ # The version of the API used for the data store.
6755
+ #
6756
+ # @return [Types::DescribeEntityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6757
+ #
6758
+ # * {Types::DescribeEntityResponse#fields #fields} => Array&lt;Types::Field&gt;
6759
+ # * {Types::DescribeEntityResponse#next_token #next_token} => String
6760
+ #
6761
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6762
+ #
6763
+ # @example Request syntax with placeholder values
6764
+ #
6765
+ # resp = client.describe_entity({
6766
+ # connection_name: "NameString", # required
6767
+ # catalog_id: "CatalogIdString",
6768
+ # entity_name: "EntityName", # required
6769
+ # next_token: "NextToken",
6770
+ # data_store_api_version: "ApiVersion",
6771
+ # })
6772
+ #
6773
+ # @example Response structure
6774
+ #
6775
+ # resp.fields #=> Array
6776
+ # resp.fields[0].field_name #=> String
6777
+ # resp.fields[0].label #=> String
6778
+ # resp.fields[0].description #=> String
6779
+ # resp.fields[0].field_type #=> String, one of "INT", "SMALLINT", "BIGINT", "FLOAT", "LONG", "DATE", "BOOLEAN", "MAP", "ARRAY", "STRING", "TIMESTAMP", "DECIMAL", "BYTE", "SHORT", "DOUBLE", "STRUCT"
6780
+ # resp.fields[0].is_primary_key #=> Boolean
6781
+ # resp.fields[0].is_nullable #=> Boolean
6782
+ # resp.fields[0].is_retrievable #=> Boolean
6783
+ # resp.fields[0].is_filterable #=> Boolean
6784
+ # resp.fields[0].is_partitionable #=> Boolean
6785
+ # resp.fields[0].is_createable #=> Boolean
6786
+ # resp.fields[0].is_updateable #=> Boolean
6787
+ # resp.fields[0].is_upsertable #=> Boolean
6788
+ # resp.fields[0].is_default_on_create #=> Boolean
6789
+ # resp.fields[0].supported_values #=> Array
6790
+ # resp.fields[0].supported_values[0] #=> String
6791
+ # resp.fields[0].supported_filter_operators #=> Array
6792
+ # resp.fields[0].supported_filter_operators[0] #=> String, one of "LESS_THAN", "GREATER_THAN", "BETWEEN", "EQUAL_TO", "NOT_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "LESS_THAN_OR_EQUAL_TO", "CONTAINS", "ORDER_BY"
6793
+ # resp.fields[0].parent_field #=> String
6794
+ # resp.fields[0].native_data_type #=> String
6795
+ # resp.fields[0].custom_properties #=> Hash
6796
+ # resp.fields[0].custom_properties["String"] #=> String
6797
+ # resp.next_token #=> String
6798
+ #
6799
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DescribeEntity AWS API Documentation
6800
+ #
6801
+ # @overload describe_entity(params = {})
6802
+ # @param [Hash] params ({})
6803
+ def describe_entity(params = {}, options = {})
6804
+ req = build_request(:describe_entity, params)
6805
+ req.send_request(options)
6806
+ end
6807
+
6808
+ # Returns a list of inbound integrations for the specified integration.
6809
+ #
6810
+ # @option params [String] :integration_arn
6811
+ # The Amazon Resource Name (ARN) of the integration.
6812
+ #
6813
+ # @option params [String] :marker
6814
+ # A token to specify where to start paginating. This is the marker from
6815
+ # a previously truncated response.
6816
+ #
6817
+ # @option params [Integer] :max_records
6818
+ # The total number of items to return in the output.
6819
+ #
6820
+ # @option params [String] :target_arn
6821
+ # The Amazon Resource Name (ARN) of the target resource in the
6822
+ # integration.
6823
+ #
6824
+ # @return [Types::DescribeInboundIntegrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6825
+ #
6826
+ # * {Types::DescribeInboundIntegrationsResponse#inbound_integrations #inbound_integrations} => Array&lt;Types::InboundIntegration&gt;
6827
+ # * {Types::DescribeInboundIntegrationsResponse#marker #marker} => String
6828
+ #
6829
+ # @example Request syntax with placeholder values
6830
+ #
6831
+ # resp = client.describe_inbound_integrations({
6832
+ # integration_arn: "String128",
6833
+ # marker: "String128",
6834
+ # max_records: 1,
6835
+ # target_arn: "String128",
6836
+ # })
6837
+ #
6838
+ # @example Response structure
6839
+ #
6840
+ # resp.inbound_integrations #=> Array
6841
+ # resp.inbound_integrations[0].source_arn #=> String
6842
+ # resp.inbound_integrations[0].target_arn #=> String
6843
+ # resp.inbound_integrations[0].integration_arn #=> String
6844
+ # resp.inbound_integrations[0].status #=> String, one of "CREATING", "ACTIVE", "MODIFYING", "FAILED", "DELETING", "SYNCING", "NEEDS_ATTENTION"
6845
+ # resp.inbound_integrations[0].create_time #=> Time
6846
+ # resp.inbound_integrations[0].errors #=> Array
6847
+ # resp.inbound_integrations[0].errors[0].error_code #=> String
6848
+ # resp.inbound_integrations[0].errors[0].error_message #=> String
6849
+ # resp.marker #=> String
6850
+ #
6851
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DescribeInboundIntegrations AWS API Documentation
6852
+ #
6853
+ # @overload describe_inbound_integrations(params = {})
6854
+ # @param [Hash] params ({})
6855
+ def describe_inbound_integrations(params = {}, options = {})
6856
+ req = build_request(:describe_inbound_integrations, params)
6857
+ req.send_request(options)
6858
+ end
6859
+
6860
+ # The API is used to retrieve a list of integrations.
6861
+ #
6862
+ # @option params [String] :integration_identifier
6863
+ # The Amazon Resource Name (ARN) for the integration.
6864
+ #
6865
+ # @option params [String] :marker
6866
+ # A value that indicates the starting point for the next set of response
6867
+ # records in a subsequent request.
6868
+ #
6869
+ # @option params [Integer] :max_records
6870
+ # The total number of items to return in the output.
6871
+ #
6872
+ # @option params [Array<Types::IntegrationFilter>] :filters
6873
+ # A list of key and values, to filter down the results. Supported keys
6874
+ # are "Status", "IntegrationName", and "SourceArn".
6875
+ # IntegrationName is limited to only one value.
6876
+ #
6877
+ # @return [Types::DescribeIntegrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6878
+ #
6879
+ # * {Types::DescribeIntegrationsResponse#integrations #integrations} => Array&lt;Types::Integration&gt;
6880
+ # * {Types::DescribeIntegrationsResponse#marker #marker} => String
6881
+ #
6882
+ # @example Request syntax with placeholder values
6883
+ #
6884
+ # resp = client.describe_integrations({
6885
+ # integration_identifier: "String128",
6886
+ # marker: "String128",
6887
+ # max_records: 1,
6888
+ # filters: [
6889
+ # {
6890
+ # name: "String128",
6891
+ # values: ["String128"],
6892
+ # },
6893
+ # ],
6894
+ # })
6895
+ #
6896
+ # @example Response structure
6897
+ #
6898
+ # resp.integrations #=> Array
6899
+ # resp.integrations[0].source_arn #=> String
6900
+ # resp.integrations[0].target_arn #=> String
6901
+ # resp.integrations[0].description #=> String
6902
+ # resp.integrations[0].integration_name #=> String
6903
+ # resp.integrations[0].integration_arn #=> String
6904
+ # resp.integrations[0].kms_key_id #=> String
6905
+ # resp.integrations[0].additional_encryption_context #=> Hash
6906
+ # resp.integrations[0].additional_encryption_context["IntegrationString"] #=> String
6907
+ # resp.integrations[0].tags #=> Array
6908
+ # resp.integrations[0].tags[0].key #=> String
6909
+ # resp.integrations[0].tags[0].value #=> String
6910
+ # resp.integrations[0].status #=> String, one of "CREATING", "ACTIVE", "MODIFYING", "FAILED", "DELETING", "SYNCING", "NEEDS_ATTENTION"
6911
+ # resp.integrations[0].create_time #=> Time
6912
+ # resp.integrations[0].errors #=> Array
6913
+ # resp.integrations[0].errors[0].error_code #=> String
6914
+ # resp.integrations[0].errors[0].error_message #=> String
6915
+ # resp.integrations[0].data_filter #=> String
6916
+ # resp.marker #=> String
6917
+ #
6918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DescribeIntegrations AWS API Documentation
6919
+ #
6920
+ # @overload describe_integrations(params = {})
6921
+ # @param [Hash] params ({})
6922
+ def describe_integrations(params = {}, options = {})
6923
+ req = build_request(:describe_integrations, params)
6924
+ req.send_request(options)
6925
+ end
6926
+
6113
6927
  # Retrieves the details of a blueprint.
6114
6928
  #
6115
6929
  # @option params [required, String] :name
@@ -6250,6 +7064,63 @@ module Aws::Glue
6250
7064
  req.send_request(options)
6251
7065
  end
6252
7066
 
7067
+ # The name of the Catalog to retrieve. This should be all lowercase.
7068
+ #
7069
+ # @option params [required, String] :catalog_id
7070
+ # The ID of the parent catalog in which the catalog resides. If none is
7071
+ # provided, the Amazon Web Services Account Number is used by default.
7072
+ #
7073
+ # @return [Types::GetCatalogResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7074
+ #
7075
+ # * {Types::GetCatalogResponse#catalog #catalog} => Types::Catalog
7076
+ #
7077
+ # @example Request syntax with placeholder values
7078
+ #
7079
+ # resp = client.get_catalog({
7080
+ # catalog_id: "CatalogIdString", # required
7081
+ # })
7082
+ #
7083
+ # @example Response structure
7084
+ #
7085
+ # resp.catalog.catalog_id #=> String
7086
+ # resp.catalog.name #=> String
7087
+ # resp.catalog.resource_arn #=> String
7088
+ # resp.catalog.description #=> String
7089
+ # resp.catalog.parameters #=> Hash
7090
+ # resp.catalog.parameters["KeyString"] #=> String
7091
+ # resp.catalog.create_time #=> Time
7092
+ # resp.catalog.update_time #=> Time
7093
+ # resp.catalog.target_redshift_catalog.catalog_arn #=> String
7094
+ # resp.catalog.federated_catalog.identifier #=> String
7095
+ # resp.catalog.federated_catalog.connection_name #=> String
7096
+ # resp.catalog.catalog_properties.data_lake_access_properties.data_lake_access #=> Boolean
7097
+ # resp.catalog.catalog_properties.data_lake_access_properties.data_transfer_role #=> String
7098
+ # resp.catalog.catalog_properties.data_lake_access_properties.kms_key #=> String
7099
+ # resp.catalog.catalog_properties.data_lake_access_properties.managed_workgroup_name #=> String
7100
+ # resp.catalog.catalog_properties.data_lake_access_properties.managed_workgroup_status #=> String
7101
+ # resp.catalog.catalog_properties.data_lake_access_properties.redshift_database_name #=> String
7102
+ # resp.catalog.catalog_properties.data_lake_access_properties.status_message #=> String
7103
+ # resp.catalog.catalog_properties.data_lake_access_properties.catalog_type #=> String
7104
+ # resp.catalog.catalog_properties.custom_properties #=> Hash
7105
+ # resp.catalog.catalog_properties.custom_properties["KeyString"] #=> String
7106
+ # resp.catalog.create_table_default_permissions #=> Array
7107
+ # resp.catalog.create_table_default_permissions[0].principal.data_lake_principal_identifier #=> String
7108
+ # resp.catalog.create_table_default_permissions[0].permissions #=> Array
7109
+ # resp.catalog.create_table_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
7110
+ # resp.catalog.create_database_default_permissions #=> Array
7111
+ # resp.catalog.create_database_default_permissions[0].principal.data_lake_principal_identifier #=> String
7112
+ # resp.catalog.create_database_default_permissions[0].permissions #=> Array
7113
+ # resp.catalog.create_database_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
7114
+ #
7115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCatalog AWS API Documentation
7116
+ #
7117
+ # @overload get_catalog(params = {})
7118
+ # @param [Hash] params ({})
7119
+ def get_catalog(params = {}, options = {})
7120
+ req = build_request(:get_catalog, params)
7121
+ req.send_request(options)
7122
+ end
7123
+
6253
7124
  # Retrieves the status of a migration operation.
6254
7125
  #
6255
7126
  # @option params [String] :catalog_id
@@ -6281,6 +7152,82 @@ module Aws::Glue
6281
7152
  req.send_request(options)
6282
7153
  end
6283
7154
 
7155
+ # Retrieves all catalogs defined in a catalog in the Glue Data Catalog.
7156
+ # For a Redshift-federated catalog use case, this operation returns the
7157
+ # list of catalogs mapped to Redshift databases in the Redshift
7158
+ # namespace catalog.
7159
+ #
7160
+ # @option params [String] :parent_catalog_id
7161
+ # The ID of the parent catalog in which the catalog resides. If none is
7162
+ # provided, the Amazon Web Services Account Number is used by default.
7163
+ #
7164
+ # @option params [String] :next_token
7165
+ # A continuation token, if this is a continuation call.
7166
+ #
7167
+ # @option params [Integer] :max_results
7168
+ # The maximum number of catalogs to return in one response.
7169
+ #
7170
+ # @option params [Boolean] :recursive
7171
+ # When specified as true, iterates through the account and returns all
7172
+ # catalog resources (including top-level resources and child resources)
7173
+ #
7174
+ # @return [Types::GetCatalogsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7175
+ #
7176
+ # * {Types::GetCatalogsResponse#catalog_list #catalog_list} => Array&lt;Types::Catalog&gt;
7177
+ # * {Types::GetCatalogsResponse#next_token #next_token} => String
7178
+ #
7179
+ # @example Request syntax with placeholder values
7180
+ #
7181
+ # resp = client.get_catalogs({
7182
+ # parent_catalog_id: "CatalogIdString",
7183
+ # next_token: "Token",
7184
+ # max_results: 1,
7185
+ # recursive: false,
7186
+ # })
7187
+ #
7188
+ # @example Response structure
7189
+ #
7190
+ # resp.catalog_list #=> Array
7191
+ # resp.catalog_list[0].catalog_id #=> String
7192
+ # resp.catalog_list[0].name #=> String
7193
+ # resp.catalog_list[0].resource_arn #=> String
7194
+ # resp.catalog_list[0].description #=> String
7195
+ # resp.catalog_list[0].parameters #=> Hash
7196
+ # resp.catalog_list[0].parameters["KeyString"] #=> String
7197
+ # resp.catalog_list[0].create_time #=> Time
7198
+ # resp.catalog_list[0].update_time #=> Time
7199
+ # resp.catalog_list[0].target_redshift_catalog.catalog_arn #=> String
7200
+ # resp.catalog_list[0].federated_catalog.identifier #=> String
7201
+ # resp.catalog_list[0].federated_catalog.connection_name #=> String
7202
+ # resp.catalog_list[0].catalog_properties.data_lake_access_properties.data_lake_access #=> Boolean
7203
+ # resp.catalog_list[0].catalog_properties.data_lake_access_properties.data_transfer_role #=> String
7204
+ # resp.catalog_list[0].catalog_properties.data_lake_access_properties.kms_key #=> String
7205
+ # resp.catalog_list[0].catalog_properties.data_lake_access_properties.managed_workgroup_name #=> String
7206
+ # resp.catalog_list[0].catalog_properties.data_lake_access_properties.managed_workgroup_status #=> String
7207
+ # resp.catalog_list[0].catalog_properties.data_lake_access_properties.redshift_database_name #=> String
7208
+ # resp.catalog_list[0].catalog_properties.data_lake_access_properties.status_message #=> String
7209
+ # resp.catalog_list[0].catalog_properties.data_lake_access_properties.catalog_type #=> String
7210
+ # resp.catalog_list[0].catalog_properties.custom_properties #=> Hash
7211
+ # resp.catalog_list[0].catalog_properties.custom_properties["KeyString"] #=> String
7212
+ # resp.catalog_list[0].create_table_default_permissions #=> Array
7213
+ # resp.catalog_list[0].create_table_default_permissions[0].principal.data_lake_principal_identifier #=> String
7214
+ # resp.catalog_list[0].create_table_default_permissions[0].permissions #=> Array
7215
+ # resp.catalog_list[0].create_table_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
7216
+ # resp.catalog_list[0].create_database_default_permissions #=> Array
7217
+ # resp.catalog_list[0].create_database_default_permissions[0].principal.data_lake_principal_identifier #=> String
7218
+ # resp.catalog_list[0].create_database_default_permissions[0].permissions #=> Array
7219
+ # resp.catalog_list[0].create_database_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
7220
+ # resp.next_token #=> String
7221
+ #
7222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCatalogs AWS API Documentation
7223
+ #
7224
+ # @overload get_catalogs(params = {})
7225
+ # @param [Hash] params ({})
7226
+ def get_catalogs(params = {}, options = {})
7227
+ req = build_request(:get_catalogs, params)
7228
+ req.send_request(options)
7229
+ end
7230
+
6284
7231
  # Retrieve a classifier by name.
6285
7232
  #
6286
7233
  # @option params [required, String] :name
@@ -6722,6 +7669,12 @@ module Aws::Glue
6722
7669
  # resp.column_statistics_task_settings.role #=> String
6723
7670
  # resp.column_statistics_task_settings.sample_size #=> Float
6724
7671
  # resp.column_statistics_task_settings.security_configuration #=> String
7672
+ # resp.column_statistics_task_settings.schedule_type #=> String, one of "CRON", "AUTO"
7673
+ # resp.column_statistics_task_settings.setting_source #=> String, one of "CATALOG", "TABLE"
7674
+ # resp.column_statistics_task_settings.last_execution_attempt.status #=> String, one of "FAILED", "STARTED"
7675
+ # resp.column_statistics_task_settings.last_execution_attempt.column_statistics_task_run_id #=> String
7676
+ # resp.column_statistics_task_settings.last_execution_attempt.execution_timestamp #=> Time
7677
+ # resp.column_statistics_task_settings.last_execution_attempt.error_message #=> String
6725
7678
  #
6726
7679
  # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetColumnStatisticsTaskSettings AWS API Documentation
6727
7680
  #
@@ -6749,6 +7702,10 @@ module Aws::Glue
6749
7702
  # decrypt the password, but it does have permission to access the rest
6750
7703
  # of the connection properties.
6751
7704
  #
7705
+ # @option params [String] :apply_override_for_compute_environment
7706
+ # For connections that may be used in multiple services, specifies
7707
+ # returning properties for the specified compute environment.
7708
+ #
6752
7709
  # @return [Types::GetConnectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6753
7710
  #
6754
7711
  # * {Types::GetConnectionResponse#connection #connection} => Types::Connection
@@ -6759,19 +7716,24 @@ module Aws::Glue
6759
7716
  # catalog_id: "CatalogIdString",
6760
7717
  # name: "NameString", # required
6761
7718
  # hide_password: false,
7719
+ # apply_override_for_compute_environment: "SPARK", # accepts SPARK, ATHENA, PYTHON
6762
7720
  # })
6763
7721
  #
6764
7722
  # @example Response structure
6765
7723
  #
6766
7724
  # resp.connection.name #=> String
6767
7725
  # resp.connection.description #=> String
6768
- # resp.connection.connection_type #=> String, one of "JDBC", "SFTP", "MONGODB", "KAFKA", "NETWORK", "MARKETPLACE", "CUSTOM", "SALESFORCE", "VIEW_VALIDATION_REDSHIFT", "VIEW_VALIDATION_ATHENA"
7726
+ # resp.connection.connection_type #=> String, one of "JDBC", "SFTP", "MONGODB", "KAFKA", "NETWORK", "MARKETPLACE", "CUSTOM", "SALESFORCE", "VIEW_VALIDATION_REDSHIFT", "VIEW_VALIDATION_ATHENA", "GOOGLEADS", "GOOGLESHEETS", "GOOGLEANALYTICS4", "SERVICENOW", "MARKETO", "SAPODATA", "ZENDESK", "JIRACLOUD", "NETSUITEERP", "HUBSPOT", "FACEBOOKADS", "INSTAGRAMADS", "ZOHOCRM", "SALESFORCEPARDOT", "SALESFORCEMARKETINGCLOUD", "SLACK", "STRIPE", "INTERCOM", "SNAPCHATADS"
6769
7727
  # resp.connection.match_criteria #=> Array
6770
7728
  # resp.connection.match_criteria[0] #=> String
6771
7729
  # resp.connection.connection_properties #=> Hash
6772
7730
  # resp.connection.connection_properties["ConnectionPropertyKey"] #=> String
7731
+ # resp.connection.spark_properties #=> Hash
7732
+ # resp.connection.spark_properties["PropertyKey"] #=> String
6773
7733
  # resp.connection.athena_properties #=> Hash
6774
7734
  # resp.connection.athena_properties["PropertyKey"] #=> String
7735
+ # resp.connection.python_properties #=> Hash
7736
+ # resp.connection.python_properties["PropertyKey"] #=> String
6775
7737
  # resp.connection.physical_connection_requirements.subnet_id #=> String
6776
7738
  # resp.connection.physical_connection_requirements.security_group_id_list #=> Array
6777
7739
  # resp.connection.physical_connection_requirements.security_group_id_list[0] #=> String
@@ -6782,7 +7744,7 @@ module Aws::Glue
6782
7744
  # resp.connection.status #=> String, one of "READY", "IN_PROGRESS", "FAILED"
6783
7745
  # resp.connection.status_reason #=> String
6784
7746
  # resp.connection.last_connection_validation_time #=> Time
6785
- # resp.connection.authentication_configuration.authentication_type #=> String, one of "BASIC", "OAUTH2", "CUSTOM"
7747
+ # resp.connection.authentication_configuration.authentication_type #=> String, one of "BASIC", "OAUTH2", "CUSTOM", "IAM"
6786
7748
  # resp.connection.authentication_configuration.secret_arn #=> String
6787
7749
  # resp.connection.authentication_configuration.o_auth_2_properties.o_auth_2_grant_type #=> String, one of "AUTHORIZATION_CODE", "CLIENT_CREDENTIALS", "JWT_BEARER"
6788
7750
  # resp.connection.authentication_configuration.o_auth_2_properties.o_auth_2_client_application.user_managed_client_application_client_id #=> String
@@ -6790,6 +7752,9 @@ module Aws::Glue
6790
7752
  # resp.connection.authentication_configuration.o_auth_2_properties.token_url #=> String
6791
7753
  # resp.connection.authentication_configuration.o_auth_2_properties.token_url_parameters_map #=> Hash
6792
7754
  # resp.connection.authentication_configuration.o_auth_2_properties.token_url_parameters_map["TokenUrlParameterKey"] #=> String
7755
+ # resp.connection.connection_schema_version #=> Integer
7756
+ # resp.connection.compatible_compute_environments #=> Array
7757
+ # resp.connection.compatible_compute_environments[0] #=> String, one of "SPARK", "ATHENA", "PYTHON"
6793
7758
  #
6794
7759
  # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnection AWS API Documentation
6795
7760
  #
@@ -6836,7 +7801,8 @@ module Aws::Glue
6836
7801
  # catalog_id: "CatalogIdString",
6837
7802
  # filter: {
6838
7803
  # match_criteria: ["NameString"],
6839
- # connection_type: "JDBC", # accepts JDBC, SFTP, MONGODB, KAFKA, NETWORK, MARKETPLACE, CUSTOM, SALESFORCE, VIEW_VALIDATION_REDSHIFT, VIEW_VALIDATION_ATHENA
7804
+ # connection_type: "JDBC", # accepts JDBC, SFTP, MONGODB, KAFKA, NETWORK, MARKETPLACE, CUSTOM, SALESFORCE, VIEW_VALIDATION_REDSHIFT, VIEW_VALIDATION_ATHENA, GOOGLEADS, GOOGLESHEETS, GOOGLEANALYTICS4, SERVICENOW, MARKETO, SAPODATA, ZENDESK, JIRACLOUD, NETSUITEERP, HUBSPOT, FACEBOOKADS, INSTAGRAMADS, ZOHOCRM, SALESFORCEPARDOT, SALESFORCEMARKETINGCLOUD, SLACK, STRIPE, INTERCOM, SNAPCHATADS
7805
+ # connection_schema_version: 1,
6840
7806
  # },
6841
7807
  # hide_password: false,
6842
7808
  # next_token: "Token",
@@ -6848,13 +7814,17 @@ module Aws::Glue
6848
7814
  # resp.connection_list #=> Array
6849
7815
  # resp.connection_list[0].name #=> String
6850
7816
  # resp.connection_list[0].description #=> String
6851
- # resp.connection_list[0].connection_type #=> String, one of "JDBC", "SFTP", "MONGODB", "KAFKA", "NETWORK", "MARKETPLACE", "CUSTOM", "SALESFORCE", "VIEW_VALIDATION_REDSHIFT", "VIEW_VALIDATION_ATHENA"
7817
+ # resp.connection_list[0].connection_type #=> String, one of "JDBC", "SFTP", "MONGODB", "KAFKA", "NETWORK", "MARKETPLACE", "CUSTOM", "SALESFORCE", "VIEW_VALIDATION_REDSHIFT", "VIEW_VALIDATION_ATHENA", "GOOGLEADS", "GOOGLESHEETS", "GOOGLEANALYTICS4", "SERVICENOW", "MARKETO", "SAPODATA", "ZENDESK", "JIRACLOUD", "NETSUITEERP", "HUBSPOT", "FACEBOOKADS", "INSTAGRAMADS", "ZOHOCRM", "SALESFORCEPARDOT", "SALESFORCEMARKETINGCLOUD", "SLACK", "STRIPE", "INTERCOM", "SNAPCHATADS"
6852
7818
  # resp.connection_list[0].match_criteria #=> Array
6853
7819
  # resp.connection_list[0].match_criteria[0] #=> String
6854
7820
  # resp.connection_list[0].connection_properties #=> Hash
6855
7821
  # resp.connection_list[0].connection_properties["ConnectionPropertyKey"] #=> String
7822
+ # resp.connection_list[0].spark_properties #=> Hash
7823
+ # resp.connection_list[0].spark_properties["PropertyKey"] #=> String
6856
7824
  # resp.connection_list[0].athena_properties #=> Hash
6857
7825
  # resp.connection_list[0].athena_properties["PropertyKey"] #=> String
7826
+ # resp.connection_list[0].python_properties #=> Hash
7827
+ # resp.connection_list[0].python_properties["PropertyKey"] #=> String
6858
7828
  # resp.connection_list[0].physical_connection_requirements.subnet_id #=> String
6859
7829
  # resp.connection_list[0].physical_connection_requirements.security_group_id_list #=> Array
6860
7830
  # resp.connection_list[0].physical_connection_requirements.security_group_id_list[0] #=> String
@@ -6865,7 +7835,7 @@ module Aws::Glue
6865
7835
  # resp.connection_list[0].status #=> String, one of "READY", "IN_PROGRESS", "FAILED"
6866
7836
  # resp.connection_list[0].status_reason #=> String
6867
7837
  # resp.connection_list[0].last_connection_validation_time #=> Time
6868
- # resp.connection_list[0].authentication_configuration.authentication_type #=> String, one of "BASIC", "OAUTH2", "CUSTOM"
7838
+ # resp.connection_list[0].authentication_configuration.authentication_type #=> String, one of "BASIC", "OAUTH2", "CUSTOM", "IAM"
6869
7839
  # resp.connection_list[0].authentication_configuration.secret_arn #=> String
6870
7840
  # resp.connection_list[0].authentication_configuration.o_auth_2_properties.o_auth_2_grant_type #=> String, one of "AUTHORIZATION_CODE", "CLIENT_CREDENTIALS", "JWT_BEARER"
6871
7841
  # resp.connection_list[0].authentication_configuration.o_auth_2_properties.o_auth_2_client_application.user_managed_client_application_client_id #=> String
@@ -6873,6 +7843,9 @@ module Aws::Glue
6873
7843
  # resp.connection_list[0].authentication_configuration.o_auth_2_properties.token_url #=> String
6874
7844
  # resp.connection_list[0].authentication_configuration.o_auth_2_properties.token_url_parameters_map #=> Hash
6875
7845
  # resp.connection_list[0].authentication_configuration.o_auth_2_properties.token_url_parameters_map["TokenUrlParameterKey"] #=> String
7846
+ # resp.connection_list[0].connection_schema_version #=> Integer
7847
+ # resp.connection_list[0].compatible_compute_environments #=> Array
7848
+ # resp.connection_list[0].compatible_compute_environments[0] #=> String, one of "SPARK", "ATHENA", "PYTHON"
6876
7849
  # resp.next_token #=> String
6877
7850
  #
6878
7851
  # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnections AWS API Documentation
@@ -7853,6 +8826,172 @@ module Aws::Glue
7853
8826
  req.send_request(options)
7854
8827
  end
7855
8828
 
8829
+ # This API is used to query preview data from a given connection type or
8830
+ # from a native Amazon S3 based Glue Data Catalog.
8831
+ #
8832
+ # Returns records as an array of JSON blobs. Each record is formatted
8833
+ # using Jackson JsonNode based on the field type defined by the
8834
+ # `DescribeEntity` API.
8835
+ #
8836
+ # Spark connectors generate schemas according to the same data type
8837
+ # mapping as in the `DescribeEntity` API. Spark connectors convert data
8838
+ # to the appropriate data types matching the schema when returning rows.
8839
+ #
8840
+ # @option params [String] :connection_name
8841
+ # The name of the connection that contains the connection type
8842
+ # credentials.
8843
+ #
8844
+ # @option params [String] :catalog_id
8845
+ # The catalog ID of the catalog that contains the connection. This can
8846
+ # be null, By default, the Amazon Web Services Account ID is the catalog
8847
+ # ID.
8848
+ #
8849
+ # @option params [required, String] :entity_name
8850
+ # Name of the entity that we want to query the preview data from the
8851
+ # given connection type.
8852
+ #
8853
+ # @option params [String] :next_token
8854
+ # A continuation token, included if this is a continuation call.
8855
+ #
8856
+ # @option params [String] :data_store_api_version
8857
+ # The API version of the SaaS connector.
8858
+ #
8859
+ # @option params [Hash<String,String>] :connection_options
8860
+ # Connector options that are required to query the data.
8861
+ #
8862
+ # @option params [String] :filter_predicate
8863
+ # A filter predicate that you can apply in the query request.
8864
+ #
8865
+ # @option params [required, Integer] :limit
8866
+ # Limits the number of records fetched with the request.
8867
+ #
8868
+ # @option params [String] :order_by
8869
+ # A parameter that orders the response preview data.
8870
+ #
8871
+ # @option params [Array<String>] :selected_fields
8872
+ # List of fields that we want to fetch as part of preview data.
8873
+ #
8874
+ # @return [Types::GetEntityRecordsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8875
+ #
8876
+ # * {Types::GetEntityRecordsResponse#records #records} => Array&lt;Hash,Array,String,Numeric,Boolean&gt;
8877
+ # * {Types::GetEntityRecordsResponse#next_token #next_token} => String
8878
+ #
8879
+ # @example Request syntax with placeholder values
8880
+ #
8881
+ # resp = client.get_entity_records({
8882
+ # connection_name: "NameString",
8883
+ # catalog_id: "CatalogIdString",
8884
+ # entity_name: "EntityName", # required
8885
+ # next_token: "NextToken",
8886
+ # data_store_api_version: "ApiVersion",
8887
+ # connection_options: {
8888
+ # "OptionKey" => "OptionValue",
8889
+ # },
8890
+ # filter_predicate: "FilterPredicate",
8891
+ # limit: 1, # required
8892
+ # order_by: "String",
8893
+ # selected_fields: ["EntityFieldName"],
8894
+ # })
8895
+ #
8896
+ # @example Response structure
8897
+ #
8898
+ # resp.records #=> Array
8899
+ # resp.next_token #=> String
8900
+ #
8901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetEntityRecords AWS API Documentation
8902
+ #
8903
+ # @overload get_entity_records(params = {})
8904
+ # @param [Hash] params ({})
8905
+ def get_entity_records(params = {}, options = {})
8906
+ req = build_request(:get_entity_records, params)
8907
+ req.send_request(options)
8908
+ end
8909
+
8910
+ # This API is used for fetching the `ResourceProperty` of the Glue
8911
+ # connection (for the source) or Glue database ARN (for the target)
8912
+ #
8913
+ # @option params [required, String] :resource_arn
8914
+ # The connection ARN of the source, or the database ARN of the target.
8915
+ #
8916
+ # @return [Types::GetIntegrationResourcePropertyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8917
+ #
8918
+ # * {Types::GetIntegrationResourcePropertyResponse#resource_arn #resource_arn} => String
8919
+ # * {Types::GetIntegrationResourcePropertyResponse#source_processing_properties #source_processing_properties} => Types::SourceProcessingProperties
8920
+ # * {Types::GetIntegrationResourcePropertyResponse#target_processing_properties #target_processing_properties} => Types::TargetProcessingProperties
8921
+ #
8922
+ # @example Request syntax with placeholder values
8923
+ #
8924
+ # resp = client.get_integration_resource_property({
8925
+ # resource_arn: "String128", # required
8926
+ # })
8927
+ #
8928
+ # @example Response structure
8929
+ #
8930
+ # resp.resource_arn #=> String
8931
+ # resp.source_processing_properties.role_arn #=> String
8932
+ # resp.target_processing_properties.role_arn #=> String
8933
+ # resp.target_processing_properties.kms_arn #=> String
8934
+ # resp.target_processing_properties.connection_name #=> String
8935
+ # resp.target_processing_properties.event_bus_arn #=> String
8936
+ #
8937
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetIntegrationResourceProperty AWS API Documentation
8938
+ #
8939
+ # @overload get_integration_resource_property(params = {})
8940
+ # @param [Hash] params ({})
8941
+ def get_integration_resource_property(params = {}, options = {})
8942
+ req = build_request(:get_integration_resource_property, params)
8943
+ req.send_request(options)
8944
+ end
8945
+
8946
+ # This API is used to retrieve optional override properties for the
8947
+ # tables that need to be replicated. These properties can include
8948
+ # properties for filtering and partition for source and target tables.
8949
+ #
8950
+ # @option params [required, String] :resource_arn
8951
+ # The connection ARN of the source, or the database ARN of the target.
8952
+ #
8953
+ # @option params [required, String] :table_name
8954
+ # The name of the table to be replicated.
8955
+ #
8956
+ # @return [Types::GetIntegrationTablePropertiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8957
+ #
8958
+ # * {Types::GetIntegrationTablePropertiesResponse#resource_arn #resource_arn} => String
8959
+ # * {Types::GetIntegrationTablePropertiesResponse#table_name #table_name} => String
8960
+ # * {Types::GetIntegrationTablePropertiesResponse#source_table_config #source_table_config} => Types::SourceTableConfig
8961
+ # * {Types::GetIntegrationTablePropertiesResponse#target_table_config #target_table_config} => Types::TargetTableConfig
8962
+ #
8963
+ # @example Request syntax with placeholder values
8964
+ #
8965
+ # resp = client.get_integration_table_properties({
8966
+ # resource_arn: "String128", # required
8967
+ # table_name: "String128", # required
8968
+ # })
8969
+ #
8970
+ # @example Response structure
8971
+ #
8972
+ # resp.resource_arn #=> String
8973
+ # resp.table_name #=> String
8974
+ # resp.source_table_config.fields #=> Array
8975
+ # resp.source_table_config.fields[0] #=> String
8976
+ # resp.source_table_config.filter_predicate #=> String
8977
+ # resp.source_table_config.primary_key #=> Array
8978
+ # resp.source_table_config.primary_key[0] #=> String
8979
+ # resp.source_table_config.record_update_field #=> String
8980
+ # resp.target_table_config.unnest_spec #=> String, one of "TOPLEVEL", "FULL", "NOUNNEST"
8981
+ # resp.target_table_config.partition_spec #=> Array
8982
+ # resp.target_table_config.partition_spec[0].field_name #=> String
8983
+ # resp.target_table_config.partition_spec[0].function_spec #=> String
8984
+ # resp.target_table_config.target_table_name #=> String
8985
+ #
8986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetIntegrationTableProperties AWS API Documentation
8987
+ #
8988
+ # @overload get_integration_table_properties(params = {})
8989
+ # @param [Hash] params ({})
8990
+ def get_integration_table_properties(params = {}, options = {})
8991
+ req = build_request(:get_integration_table_properties, params)
8992
+ req.send_request(options)
8993
+ end
8994
+
7856
8995
  # Retrieves an existing job definition.
7857
8996
  #
7858
8997
  # @option params [required, String] :job_name
@@ -13530,6 +14669,54 @@ module Aws::Glue
13530
14669
  req.send_request(options)
13531
14670
  end
13532
14671
 
14672
+ # The `ListConnectionTypes` API provides a discovery mechanism to learn
14673
+ # available connection types in Glue. The response contains a list of
14674
+ # connection types with high-level details of what is supported for each
14675
+ # connection type. The connection types listed are the set of supported
14676
+ # options for the `ConnectionType` value in the `CreateConnection` API.
14677
+ #
14678
+ # @option params [Integer] :max_results
14679
+ # The maximum number of results to return.
14680
+ #
14681
+ # @option params [String] :next_token
14682
+ # A continuation token, if this is a continuation call.
14683
+ #
14684
+ # @return [Types::ListConnectionTypesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
14685
+ #
14686
+ # * {Types::ListConnectionTypesResponse#connection_types #connection_types} => Array&lt;Types::ConnectionTypeBrief&gt;
14687
+ # * {Types::ListConnectionTypesResponse#next_token #next_token} => String
14688
+ #
14689
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
14690
+ #
14691
+ # @example Request syntax with placeholder values
14692
+ #
14693
+ # resp = client.list_connection_types({
14694
+ # max_results: 1,
14695
+ # next_token: "NextToken",
14696
+ # })
14697
+ #
14698
+ # @example Response structure
14699
+ #
14700
+ # resp.connection_types #=> Array
14701
+ # resp.connection_types[0].connection_type #=> String, one of "JDBC", "SFTP", "MONGODB", "KAFKA", "NETWORK", "MARKETPLACE", "CUSTOM", "SALESFORCE", "VIEW_VALIDATION_REDSHIFT", "VIEW_VALIDATION_ATHENA", "GOOGLEADS", "GOOGLESHEETS", "GOOGLEANALYTICS4", "SERVICENOW", "MARKETO", "SAPODATA", "ZENDESK", "JIRACLOUD", "NETSUITEERP", "HUBSPOT", "FACEBOOKADS", "INSTAGRAMADS", "ZOHOCRM", "SALESFORCEPARDOT", "SALESFORCEMARKETINGCLOUD", "SLACK", "STRIPE", "INTERCOM", "SNAPCHATADS"
14702
+ # resp.connection_types[0].description #=> String
14703
+ # resp.connection_types[0].capabilities.supported_authentication_types #=> Array
14704
+ # resp.connection_types[0].capabilities.supported_authentication_types[0] #=> String, one of "BASIC", "OAUTH2", "CUSTOM", "IAM"
14705
+ # resp.connection_types[0].capabilities.supported_data_operations #=> Array
14706
+ # resp.connection_types[0].capabilities.supported_data_operations[0] #=> String, one of "READ", "WRITE"
14707
+ # resp.connection_types[0].capabilities.supported_compute_environments #=> Array
14708
+ # resp.connection_types[0].capabilities.supported_compute_environments[0] #=> String, one of "SPARK", "ATHENA", "PYTHON"
14709
+ # resp.next_token #=> String
14710
+ #
14711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListConnectionTypes AWS API Documentation
14712
+ #
14713
+ # @overload list_connection_types(params = {})
14714
+ # @param [Hash] params ({})
14715
+ def list_connection_types(params = {}, options = {})
14716
+ req = build_request(:list_connection_types, params)
14717
+ req.send_request(options)
14718
+ end
14719
+
13533
14720
  # Retrieves the names of all crawler resources in this Amazon Web
13534
14721
  # Services account, or the resources with the specified tag. This
13535
14722
  # operation allows you to see which resources are available in your
@@ -14134,6 +15321,66 @@ module Aws::Glue
14134
15321
  req.send_request(options)
14135
15322
  end
14136
15323
 
15324
+ # Returns the available entities supported by the connection type.
15325
+ #
15326
+ # @option params [String] :connection_name
15327
+ # A name for the connection that has required credentials to query any
15328
+ # connection type.
15329
+ #
15330
+ # @option params [String] :catalog_id
15331
+ # The catalog ID of the catalog that contains the connection. This can
15332
+ # be null, By default, the Amazon Web Services Account ID is the catalog
15333
+ # ID.
15334
+ #
15335
+ # @option params [String] :parent_entity_name
15336
+ # Name of the parent entity for which you want to list the children.
15337
+ # This parameter takes a fully-qualified path of the entity in order to
15338
+ # list the child entities.
15339
+ #
15340
+ # @option params [String] :next_token
15341
+ # A continuation token, included if this is a continuation call.
15342
+ #
15343
+ # @option params [String] :data_store_api_version
15344
+ # The API version of the SaaS connector.
15345
+ #
15346
+ # @return [Types::ListEntitiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
15347
+ #
15348
+ # * {Types::ListEntitiesResponse#entities #entities} => Array&lt;Types::Entity&gt;
15349
+ # * {Types::ListEntitiesResponse#next_token #next_token} => String
15350
+ #
15351
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
15352
+ #
15353
+ # @example Request syntax with placeholder values
15354
+ #
15355
+ # resp = client.list_entities({
15356
+ # connection_name: "NameString",
15357
+ # catalog_id: "CatalogIdString",
15358
+ # parent_entity_name: "EntityName",
15359
+ # next_token: "NextToken",
15360
+ # data_store_api_version: "ApiVersion",
15361
+ # })
15362
+ #
15363
+ # @example Response structure
15364
+ #
15365
+ # resp.entities #=> Array
15366
+ # resp.entities[0].entity_name #=> String
15367
+ # resp.entities[0].label #=> String
15368
+ # resp.entities[0].is_parent_entity #=> Boolean
15369
+ # resp.entities[0].description #=> String
15370
+ # resp.entities[0].category #=> String
15371
+ # resp.entities[0].custom_properties #=> Hash
15372
+ # resp.entities[0].custom_properties["String"] #=> String
15373
+ # resp.next_token #=> String
15374
+ #
15375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListEntities AWS API Documentation
15376
+ #
15377
+ # @overload list_entities(params = {})
15378
+ # @param [Hash] params ({})
15379
+ def list_entities(params = {}, options = {})
15380
+ req = build_request(:list_entities, params)
15381
+ req.send_request(options)
15382
+ end
15383
+
14137
15384
  # Retrieves the names of all job resources in this Amazon Web Services
14138
15385
  # account, or the resources with the specified tag. This operation
14139
15386
  # allows you to see which resources are available in your account, and
@@ -14761,6 +16008,73 @@ module Aws::Glue
14761
16008
  req.send_request(options)
14762
16009
  end
14763
16010
 
16011
+ # Modifies a Zero-ETL integration in the caller's account.
16012
+ #
16013
+ # @option params [required, String] :integration_identifier
16014
+ # The Amazon Resource Name (ARN) for the integration.
16015
+ #
16016
+ # @option params [String] :description
16017
+ # A description of the integration.
16018
+ #
16019
+ # @option params [String] :data_filter
16020
+ # Selects source tables for the integration using Maxwell filter syntax.
16021
+ #
16022
+ # @option params [String] :integration_name
16023
+ # A unique name for an integration in Glue.
16024
+ #
16025
+ # @return [Types::ModifyIntegrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
16026
+ #
16027
+ # * {Types::ModifyIntegrationResponse#source_arn #source_arn} => String
16028
+ # * {Types::ModifyIntegrationResponse#target_arn #target_arn} => String
16029
+ # * {Types::ModifyIntegrationResponse#integration_name #integration_name} => String
16030
+ # * {Types::ModifyIntegrationResponse#description #description} => String
16031
+ # * {Types::ModifyIntegrationResponse#integration_arn #integration_arn} => String
16032
+ # * {Types::ModifyIntegrationResponse#kms_key_id #kms_key_id} => String
16033
+ # * {Types::ModifyIntegrationResponse#additional_encryption_context #additional_encryption_context} => Hash&lt;String,String&gt;
16034
+ # * {Types::ModifyIntegrationResponse#tags #tags} => Array&lt;Types::Tag&gt;
16035
+ # * {Types::ModifyIntegrationResponse#status #status} => String
16036
+ # * {Types::ModifyIntegrationResponse#create_time #create_time} => Time
16037
+ # * {Types::ModifyIntegrationResponse#errors #errors} => Array&lt;Types::IntegrationError&gt;
16038
+ # * {Types::ModifyIntegrationResponse#data_filter #data_filter} => String
16039
+ #
16040
+ # @example Request syntax with placeholder values
16041
+ #
16042
+ # resp = client.modify_integration({
16043
+ # integration_identifier: "String128", # required
16044
+ # description: "IntegrationDescription",
16045
+ # data_filter: "String2048",
16046
+ # integration_name: "String128",
16047
+ # })
16048
+ #
16049
+ # @example Response structure
16050
+ #
16051
+ # resp.source_arn #=> String
16052
+ # resp.target_arn #=> String
16053
+ # resp.integration_name #=> String
16054
+ # resp.description #=> String
16055
+ # resp.integration_arn #=> String
16056
+ # resp.kms_key_id #=> String
16057
+ # resp.additional_encryption_context #=> Hash
16058
+ # resp.additional_encryption_context["IntegrationString"] #=> String
16059
+ # resp.tags #=> Array
16060
+ # resp.tags[0].key #=> String
16061
+ # resp.tags[0].value #=> String
16062
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "MODIFYING", "FAILED", "DELETING", "SYNCING", "NEEDS_ATTENTION"
16063
+ # resp.create_time #=> Time
16064
+ # resp.errors #=> Array
16065
+ # resp.errors[0].error_code #=> String
16066
+ # resp.errors[0].error_message #=> String
16067
+ # resp.data_filter #=> String
16068
+ #
16069
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ModifyIntegration AWS API Documentation
16070
+ #
16071
+ # @overload modify_integration(params = {})
16072
+ # @param [Hash] params ({})
16073
+ def modify_integration(params = {}, options = {})
16074
+ req = build_request(:modify_integration, params)
16075
+ req.send_request(options)
16076
+ end
16077
+
14764
16078
  # Sets the security configuration for a specified catalog. After the
14765
16079
  # configuration has been set, the specified encryption is applied to
14766
16080
  # every catalog write thereafter.
@@ -16561,6 +17875,9 @@ module Aws::Glue
16561
17875
  # provided, the operation will get the connection and use that for
16562
17876
  # testing.
16563
17877
  #
17878
+ # @option params [String] :catalog_id
17879
+ # The catalog ID where the connection resides.
17880
+ #
16564
17881
  # @option params [Types::TestConnectionInput] :test_connection_input
16565
17882
  # A structure that is used to specify testing a connection to a service.
16566
17883
  #
@@ -16570,13 +17887,14 @@ module Aws::Glue
16570
17887
  #
16571
17888
  # resp = client.test_connection({
16572
17889
  # connection_name: "NameString",
17890
+ # catalog_id: "CatalogIdString",
16573
17891
  # test_connection_input: {
16574
- # connection_type: "JDBC", # required, accepts JDBC, SFTP, MONGODB, KAFKA, NETWORK, MARKETPLACE, CUSTOM, SALESFORCE, VIEW_VALIDATION_REDSHIFT, VIEW_VALIDATION_ATHENA
17892
+ # connection_type: "JDBC", # required, accepts JDBC, SFTP, MONGODB, KAFKA, NETWORK, MARKETPLACE, CUSTOM, SALESFORCE, VIEW_VALIDATION_REDSHIFT, VIEW_VALIDATION_ATHENA, GOOGLEADS, GOOGLESHEETS, GOOGLEANALYTICS4, SERVICENOW, MARKETO, SAPODATA, ZENDESK, JIRACLOUD, NETSUITEERP, HUBSPOT, FACEBOOKADS, INSTAGRAMADS, ZOHOCRM, SALESFORCEPARDOT, SALESFORCEMARKETINGCLOUD, SLACK, STRIPE, INTERCOM, SNAPCHATADS
16575
17893
  # connection_properties: { # required
16576
17894
  # "HOST" => "ValueString",
16577
17895
  # },
16578
17896
  # authentication_configuration: {
16579
- # authentication_type: "BASIC", # accepts BASIC, OAUTH2, CUSTOM
17897
+ # authentication_type: "BASIC", # accepts BASIC, OAUTH2, CUSTOM, IAM
16580
17898
  # o_auth_2_properties: {
16581
17899
  # o_auth_2_grant_type: "AUTHORIZATION_CODE", # accepts AUTHORIZATION_CODE, CLIENT_CREDENTIALS, JWT_BEARER
16582
17900
  # o_auth_2_client_application: {
@@ -16591,8 +17909,22 @@ module Aws::Glue
16591
17909
  # authorization_code: "AuthorizationCode",
16592
17910
  # redirect_uri: "RedirectUri",
16593
17911
  # },
17912
+ # o_auth_2_credentials: {
17913
+ # user_managed_client_application_client_secret: "UserManagedClientApplicationClientSecret",
17914
+ # access_token: "AccessToken",
17915
+ # refresh_token: "RefreshToken",
17916
+ # jwt_token: "JwtToken",
17917
+ # },
16594
17918
  # },
16595
17919
  # secret_arn: "SecretArn",
17920
+ # kms_key_arn: "KmsKeyArn",
17921
+ # basic_authentication_credentials: {
17922
+ # username: "Username",
17923
+ # password: "Password",
17924
+ # },
17925
+ # custom_authentication_credentials: {
17926
+ # "CredentialKey" => "CredentialValue",
17927
+ # },
16596
17928
  # },
16597
17929
  # },
16598
17930
  # })
@@ -16669,6 +18001,72 @@ module Aws::Glue
16669
18001
  req.send_request(options)
16670
18002
  end
16671
18003
 
18004
+ # Updates an existing catalog's properties in the Glue Data Catalog.
18005
+ #
18006
+ # @option params [required, String] :catalog_id
18007
+ # The ID of the catalog.
18008
+ #
18009
+ # @option params [required, Types::CatalogInput] :catalog_input
18010
+ # A `CatalogInput` object specifying the new properties of an existing
18011
+ # catalog.
18012
+ #
18013
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
18014
+ #
18015
+ # @example Request syntax with placeholder values
18016
+ #
18017
+ # resp = client.update_catalog({
18018
+ # catalog_id: "CatalogIdString", # required
18019
+ # catalog_input: { # required
18020
+ # description: "DescriptionString",
18021
+ # federated_catalog: {
18022
+ # identifier: "FederationIdentifier",
18023
+ # connection_name: "NameString",
18024
+ # },
18025
+ # parameters: {
18026
+ # "KeyString" => "ParametersMapValue",
18027
+ # },
18028
+ # target_redshift_catalog: {
18029
+ # catalog_arn: "ResourceArnString", # required
18030
+ # },
18031
+ # catalog_properties: {
18032
+ # data_lake_access_properties: {
18033
+ # data_lake_access: false,
18034
+ # data_transfer_role: "IAMRoleArn",
18035
+ # kms_key: "ResourceArnString",
18036
+ # catalog_type: "NameString",
18037
+ # },
18038
+ # custom_properties: {
18039
+ # "KeyString" => "ParametersMapValue",
18040
+ # },
18041
+ # },
18042
+ # create_table_default_permissions: [
18043
+ # {
18044
+ # principal: {
18045
+ # data_lake_principal_identifier: "DataLakePrincipalString",
18046
+ # },
18047
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
18048
+ # },
18049
+ # ],
18050
+ # create_database_default_permissions: [
18051
+ # {
18052
+ # principal: {
18053
+ # data_lake_principal_identifier: "DataLakePrincipalString",
18054
+ # },
18055
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
18056
+ # },
18057
+ # ],
18058
+ # },
18059
+ # })
18060
+ #
18061
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCatalog AWS API Documentation
18062
+ #
18063
+ # @overload update_catalog(params = {})
18064
+ # @param [Hash] params ({})
18065
+ def update_catalog(params = {}, options = {})
18066
+ req = build_request(:update_catalog, params)
18067
+ req.send_request(options)
18068
+ end
18069
+
16672
18070
  # Modifies an existing classifier (a `GrokClassifier`, an
16673
18071
  # `XMLClassifier`, a `JsonClassifier`, or a `CsvClassifier`, depending
16674
18072
  # on which field is present).
@@ -17074,21 +18472,27 @@ module Aws::Glue
17074
18472
  # connection_input: { # required
17075
18473
  # name: "NameString", # required
17076
18474
  # description: "DescriptionString",
17077
- # connection_type: "JDBC", # required, accepts JDBC, SFTP, MONGODB, KAFKA, NETWORK, MARKETPLACE, CUSTOM, SALESFORCE, VIEW_VALIDATION_REDSHIFT, VIEW_VALIDATION_ATHENA
18475
+ # connection_type: "JDBC", # required, accepts JDBC, SFTP, MONGODB, KAFKA, NETWORK, MARKETPLACE, CUSTOM, SALESFORCE, VIEW_VALIDATION_REDSHIFT, VIEW_VALIDATION_ATHENA, GOOGLEADS, GOOGLESHEETS, GOOGLEANALYTICS4, SERVICENOW, MARKETO, SAPODATA, ZENDESK, JIRACLOUD, NETSUITEERP, HUBSPOT, FACEBOOKADS, INSTAGRAMADS, ZOHOCRM, SALESFORCEPARDOT, SALESFORCEMARKETINGCLOUD, SLACK, STRIPE, INTERCOM, SNAPCHATADS
17078
18476
  # match_criteria: ["NameString"],
17079
18477
  # connection_properties: { # required
17080
18478
  # "HOST" => "ValueString",
17081
18479
  # },
18480
+ # spark_properties: {
18481
+ # "PropertyKey" => "PropertyValue",
18482
+ # },
17082
18483
  # athena_properties: {
17083
18484
  # "PropertyKey" => "PropertyValue",
17084
18485
  # },
18486
+ # python_properties: {
18487
+ # "PropertyKey" => "PropertyValue",
18488
+ # },
17085
18489
  # physical_connection_requirements: {
17086
18490
  # subnet_id: "NameString",
17087
18491
  # security_group_id_list: ["NameString"],
17088
18492
  # availability_zone: "NameString",
17089
18493
  # },
17090
18494
  # authentication_configuration: {
17091
- # authentication_type: "BASIC", # accepts BASIC, OAUTH2, CUSTOM
18495
+ # authentication_type: "BASIC", # accepts BASIC, OAUTH2, CUSTOM, IAM
17092
18496
  # o_auth_2_properties: {
17093
18497
  # o_auth_2_grant_type: "AUTHORIZATION_CODE", # accepts AUTHORIZATION_CODE, CLIENT_CREDENTIALS, JWT_BEARER
17094
18498
  # o_auth_2_client_application: {
@@ -17103,10 +18507,25 @@ module Aws::Glue
17103
18507
  # authorization_code: "AuthorizationCode",
17104
18508
  # redirect_uri: "RedirectUri",
17105
18509
  # },
18510
+ # o_auth_2_credentials: {
18511
+ # user_managed_client_application_client_secret: "UserManagedClientApplicationClientSecret",
18512
+ # access_token: "AccessToken",
18513
+ # refresh_token: "RefreshToken",
18514
+ # jwt_token: "JwtToken",
18515
+ # },
17106
18516
  # },
17107
18517
  # secret_arn: "SecretArn",
18518
+ # kms_key_arn: "KmsKeyArn",
18519
+ # basic_authentication_credentials: {
18520
+ # username: "Username",
18521
+ # password: "Password",
18522
+ # },
18523
+ # custom_authentication_credentials: {
18524
+ # "CredentialKey" => "CredentialValue",
18525
+ # },
17108
18526
  # },
17109
18527
  # validate_credentials: false,
18528
+ # validate_for_compute_environments: ["SPARK"], # accepts SPARK, ATHENA, PYTHON
17110
18529
  # },
17111
18530
  # })
17112
18531
  #
@@ -17490,6 +18909,118 @@ module Aws::Glue
17490
18909
  req.send_request(options)
17491
18910
  end
17492
18911
 
18912
+ # This API can be used for updating the `ResourceProperty` of the Glue
18913
+ # connection (for the source) or Glue database ARN (for the target).
18914
+ # These properties can include the role to access the connection or
18915
+ # database. Since the same resource can be used across multiple
18916
+ # integrations, updating resource properties will impact all the
18917
+ # integrations using it.
18918
+ #
18919
+ # @option params [required, String] :resource_arn
18920
+ # The connection ARN of the source, or the database ARN of the target.
18921
+ #
18922
+ # @option params [Types::SourceProcessingProperties] :source_processing_properties
18923
+ # The resource properties associated with the integration source.
18924
+ #
18925
+ # @option params [Types::TargetProcessingProperties] :target_processing_properties
18926
+ # The resource properties associated with the integration target.
18927
+ #
18928
+ # @return [Types::UpdateIntegrationResourcePropertyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
18929
+ #
18930
+ # * {Types::UpdateIntegrationResourcePropertyResponse#resource_arn #resource_arn} => String
18931
+ # * {Types::UpdateIntegrationResourcePropertyResponse#source_processing_properties #source_processing_properties} => Types::SourceProcessingProperties
18932
+ # * {Types::UpdateIntegrationResourcePropertyResponse#target_processing_properties #target_processing_properties} => Types::TargetProcessingProperties
18933
+ #
18934
+ # @example Request syntax with placeholder values
18935
+ #
18936
+ # resp = client.update_integration_resource_property({
18937
+ # resource_arn: "String128", # required
18938
+ # source_processing_properties: {
18939
+ # role_arn: "String128",
18940
+ # },
18941
+ # target_processing_properties: {
18942
+ # role_arn: "String128",
18943
+ # kms_arn: "String2048",
18944
+ # connection_name: "String128",
18945
+ # event_bus_arn: "String2048",
18946
+ # },
18947
+ # })
18948
+ #
18949
+ # @example Response structure
18950
+ #
18951
+ # resp.resource_arn #=> String
18952
+ # resp.source_processing_properties.role_arn #=> String
18953
+ # resp.target_processing_properties.role_arn #=> String
18954
+ # resp.target_processing_properties.kms_arn #=> String
18955
+ # resp.target_processing_properties.connection_name #=> String
18956
+ # resp.target_processing_properties.event_bus_arn #=> String
18957
+ #
18958
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateIntegrationResourceProperty AWS API Documentation
18959
+ #
18960
+ # @overload update_integration_resource_property(params = {})
18961
+ # @param [Hash] params ({})
18962
+ def update_integration_resource_property(params = {}, options = {})
18963
+ req = build_request(:update_integration_resource_property, params)
18964
+ req.send_request(options)
18965
+ end
18966
+
18967
+ # This API is used to provide optional override properties for the
18968
+ # tables that need to be replicated. These properties can include
18969
+ # properties for filtering and partitioning for the source and target
18970
+ # tables. To set both source and target properties the same API need to
18971
+ # be invoked with the Glue connection ARN as `ResourceArn` with
18972
+ # `SourceTableConfig`, and the Glue database ARN as `ResourceArn` with
18973
+ # `TargetTableConfig` respectively.
18974
+ #
18975
+ # The override will be reflected across all the integrations using same
18976
+ # `ResourceArn` and source table.
18977
+ #
18978
+ # @option params [required, String] :resource_arn
18979
+ # The connection ARN of the source, or the database ARN of the target.
18980
+ #
18981
+ # @option params [required, String] :table_name
18982
+ # The name of the table to be replicated.
18983
+ #
18984
+ # @option params [Types::SourceTableConfig] :source_table_config
18985
+ # A structure for the source table configuration.
18986
+ #
18987
+ # @option params [Types::TargetTableConfig] :target_table_config
18988
+ # A structure for the target table configuration.
18989
+ #
18990
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
18991
+ #
18992
+ # @example Request syntax with placeholder values
18993
+ #
18994
+ # resp = client.update_integration_table_properties({
18995
+ # resource_arn: "String128", # required
18996
+ # table_name: "String128", # required
18997
+ # source_table_config: {
18998
+ # fields: ["String128"],
18999
+ # filter_predicate: "String128",
19000
+ # primary_key: ["String128"],
19001
+ # record_update_field: "String128",
19002
+ # },
19003
+ # target_table_config: {
19004
+ # unnest_spec: "TOPLEVEL", # accepts TOPLEVEL, FULL, NOUNNEST
19005
+ # partition_spec: [
19006
+ # {
19007
+ # field_name: "String128",
19008
+ # function_spec: "String128",
19009
+ # },
19010
+ # ],
19011
+ # target_table_name: "String128",
19012
+ # },
19013
+ # })
19014
+ #
19015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateIntegrationTableProperties AWS API Documentation
19016
+ #
19017
+ # @overload update_integration_table_properties(params = {})
19018
+ # @param [Hash] params ({})
19019
+ def update_integration_table_properties(params = {}, options = {})
19020
+ req = build_request(:update_integration_table_properties, params)
19021
+ req.send_request(options)
19022
+ end
19023
+
17493
19024
  # Updates an existing job definition. The previous job definition is
17494
19025
  # completely overwritten by this information.
17495
19026
  #
@@ -18460,7 +19991,7 @@ module Aws::Glue
18460
19991
  tracer: tracer
18461
19992
  )
18462
19993
  context[:gem_name] = 'aws-sdk-glue'
18463
- context[:gem_version] = '1.203.0'
19994
+ context[:gem_version] = '1.204.0'
18464
19995
  Seahorse::Client::Request.new(handlers, context)
18465
19996
  end
18466
19997