aws-sdk-glue 1.203.0 → 1.204.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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