aws-sdk-kendra 1.53.0 → 1.54.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -713,6 +713,7 @@ module Aws::Kendra
713
713
  # },
714
714
  # ],
715
715
  # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
716
+ # access_control_configuration_id: "AccessControlConfigurationId",
716
717
  # },
717
718
  # ],
718
719
  # custom_document_enrichment_configuration: {
@@ -820,6 +821,118 @@ module Aws::Kendra
820
821
  req.send_request(options)
821
822
  end
822
823
 
824
+ # Creates an access configuration for your documents. This includes user
825
+ # and group access information for your documents. This is useful for
826
+ # user context filtering, where search results are filtered based on the
827
+ # user or their group access to documents.
828
+ #
829
+ # You can use this to re-configure your existing document level access
830
+ # control without indexing all of your documents again. For example,
831
+ # your index contains top-secret company documents that only certain
832
+ # employees or users should access. One of these users leaves the
833
+ # company or switches to a team that should be blocked from access to
834
+ # top-secret documents. Your documents in your index still give this
835
+ # user access to top-secret documents due to the user having access at
836
+ # the time your documents were indexed. You can create a specific access
837
+ # control configuration for this user with deny access. You can later
838
+ # update the access control configuration to allow access in the case
839
+ # the user returns to the company and re-joins the 'top-secret' team.
840
+ # You can re-configure access control for your documents circumstances
841
+ # change.
842
+ #
843
+ # To apply your access control configuration to certain documents, you
844
+ # call the [BatchPutDocument][1] API with the
845
+ # `AccessControlConfigurationId` included in the [Document][2] object.
846
+ # If you use an S3 bucket as a data source, you update the
847
+ # `.metadata.json` with the `AccessControlConfigurationId` and
848
+ # synchronize your data source. Amazon Kendra currently only supports
849
+ # access control configuration for S3 data sources and documents indexed
850
+ # using the `BatchPutDocument` API.
851
+ #
852
+ #
853
+ #
854
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_BatchPutDocument.html
855
+ # [2]: https://docs.aws.amazon.com/kendra/latest/dg/API_Document.html
856
+ #
857
+ # @option params [required, String] :index_id
858
+ # The identifier of the index to create an access control configuration
859
+ # for your documents.
860
+ #
861
+ # @option params [required, String] :name
862
+ # A name for the access control configuration.
863
+ #
864
+ # @option params [String] :description
865
+ # A description for the access control configuration.
866
+ #
867
+ # @option params [Array<Types::Principal>] :access_control_list
868
+ # Information on principals (users and/or groups) and which documents
869
+ # they should have access to. This is useful for user context filtering,
870
+ # where search results are filtered based on the user or their group
871
+ # access to documents.
872
+ #
873
+ # @option params [Array<Types::HierarchicalPrincipal>] :hierarchical_access_control_list
874
+ # The list of [principal][1] lists that define the hierarchy for which
875
+ # documents users should have access to.
876
+ #
877
+ #
878
+ #
879
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html
880
+ #
881
+ # @option params [String] :client_token
882
+ # A token that you provide to identify the request to create an access
883
+ # control configuration. Multiple calls to the
884
+ # `CreateAccessControlConfiguration` API with the same client token will
885
+ # create only one access control configuration.
886
+ #
887
+ # **A suitable default value is auto-generated.** You should normally
888
+ # not need to pass this option.**
889
+ #
890
+ # @return [Types::CreateAccessControlConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
891
+ #
892
+ # * {Types::CreateAccessControlConfigurationResponse#id #id} => String
893
+ #
894
+ # @example Request syntax with placeholder values
895
+ #
896
+ # resp = client.create_access_control_configuration({
897
+ # index_id: "IndexId", # required
898
+ # name: "AccessControlConfigurationName", # required
899
+ # description: "Description",
900
+ # access_control_list: [
901
+ # {
902
+ # name: "PrincipalName", # required
903
+ # type: "USER", # required, accepts USER, GROUP
904
+ # access: "ALLOW", # required, accepts ALLOW, DENY
905
+ # data_source_id: "DataSourceId",
906
+ # },
907
+ # ],
908
+ # hierarchical_access_control_list: [
909
+ # {
910
+ # principal_list: [ # required
911
+ # {
912
+ # name: "PrincipalName", # required
913
+ # type: "USER", # required, accepts USER, GROUP
914
+ # access: "ALLOW", # required, accepts ALLOW, DENY
915
+ # data_source_id: "DataSourceId",
916
+ # },
917
+ # ],
918
+ # },
919
+ # ],
920
+ # client_token: "ClientTokenName",
921
+ # })
922
+ #
923
+ # @example Response structure
924
+ #
925
+ # resp.id #=> String
926
+ #
927
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateAccessControlConfiguration AWS API Documentation
928
+ #
929
+ # @overload create_access_control_configuration(params = {})
930
+ # @param [Hash] params ({})
931
+ def create_access_control_configuration(params = {}, options = {})
932
+ req = build_request(:create_access_control_configuration, params)
933
+ req.send_request(options)
934
+ end
935
+
823
936
  # Creates a data source that you want to use with an Amazon Kendra
824
937
  # index.
825
938
  #
@@ -846,19 +959,18 @@ module Aws::Kendra
846
959
  # [3]: https://docs.aws.amazon.com/kendra/latest/dg/gs-java.html
847
960
  #
848
961
  # @option params [required, String] :name
849
- # A unique name for the data source. A data source name can't be
850
- # changed without deleting and recreating the data source.
962
+ # A unique name for the data source connector. A data source name can't
963
+ # be changed without deleting and recreating the data source connector.
851
964
  #
852
965
  # @option params [required, String] :index_id
853
- # The identifier of the index that should be associated with this data
854
- # source.
966
+ # The identifier of the index you want to use with the data source
967
+ # connector.
855
968
  #
856
969
  # @option params [required, String] :type
857
- # The type of repository that contains the data source.
970
+ # The type of data source repository. For example, `SHAREPOINT`.
858
971
  #
859
972
  # @option params [Types::DataSourceConfiguration] :configuration
860
- # Configuration information that is required to access the data source
861
- # repository.
973
+ # Configuration information to connect to your data source repository.
862
974
  #
863
975
  # You can't specify the `Configuration` parameter when the `Type`
864
976
  # parameter is set to `CUSTOM`. If you do, you receive a
@@ -867,13 +979,13 @@ module Aws::Kendra
867
979
  # The `Configuration` parameter is required for all other data sources.
868
980
  #
869
981
  # @option params [String] :description
870
- # A description for the data source.
982
+ # A description for the data source connector.
871
983
  #
872
984
  # @option params [String] :schedule
873
985
  # Sets the frequency for Amazon Kendra to check the documents in your
874
- # repository and update the index. If you don't set a schedule Amazon
875
- # Kendra will not periodically update the index. You can call the
876
- # `StartDataSourceSyncJob` API to update the index.
986
+ # data source repository and update the index. If you don't set a
987
+ # schedule Amazon Kendra will not periodically update the index. You can
988
+ # call the `StartDataSourceSyncJob` API to update the index.
877
989
  #
878
990
  # You can't specify the `Schedule` parameter when the `Type` parameter
879
991
  # is set to `CUSTOM`. If you do, you receive a `ValidationException`
@@ -881,7 +993,7 @@ module Aws::Kendra
881
993
  #
882
994
  # @option params [String] :role_arn
883
995
  # The Amazon Resource Name (ARN) of a role with permission to access the
884
- # data source. For more information, see [IAM Roles for Amazon
996
+ # data source connector. For more information, see [IAM Roles for Amazon
885
997
  # Kendra][1].
886
998
  #
887
999
  # You can't specify the `RoleArn` parameter when the `Type` parameter
@@ -895,23 +1007,24 @@ module Aws::Kendra
895
1007
  # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html
896
1008
  #
897
1009
  # @option params [Array<Types::Tag>] :tags
898
- # A list of key-value pairs that identify the data source. You can use
899
- # the tags to identify and organize your resources and to control access
900
- # to resources.
1010
+ # A list of key-value pairs that identify the data source connector. You
1011
+ # can use the tags to identify and organize your resources and to
1012
+ # control access to resources.
901
1013
  #
902
1014
  # @option params [String] :client_token
903
1015
  # A token that you provide to identify the request to create a data
904
- # source. Multiple calls to the `CreateDataSource` API with the same
905
- # client token will create only one data source.
1016
+ # source connector. Multiple calls to the `CreateDataSource` API with
1017
+ # the same client token will create only one data source connector.
906
1018
  #
907
1019
  # **A suitable default value is auto-generated.** You should normally
908
1020
  # not need to pass this option.**
909
1021
  #
910
1022
  # @option params [String] :language_code
911
1023
  # The code for a language. This allows you to support a language for all
912
- # documents when creating the data source. English is supported by
913
- # default. For more information on supported languages, including their
914
- # codes, see [Adding documents in languages other than English][1].
1024
+ # documents when creating the data source connector. English is
1025
+ # supported by default. For more information on supported languages,
1026
+ # including their codes, see [Adding documents in languages other than
1027
+ # English][1].
915
1028
  #
916
1029
  #
917
1030
  #
@@ -919,7 +1032,7 @@ module Aws::Kendra
919
1032
  #
920
1033
  # @option params [Types::CustomDocumentEnrichmentConfiguration] :custom_document_enrichment_configuration
921
1034
  # Configuration information for altering document metadata and content
922
- # during the document ingestion process when you create a data source.
1035
+ # during the document ingestion process.
923
1036
  #
924
1037
  # For more information on how to create, modify and delete document
925
1038
  # metadata, or make other content alterations when you ingest documents
@@ -1722,23 +1835,23 @@ module Aws::Kendra
1722
1835
  # Adding FAQs to an index is an asynchronous operation.
1723
1836
  #
1724
1837
  # For an example of adding an FAQ to an index using Python and Java
1725
- # SDKs, see [Using you FAQ file][1].
1838
+ # SDKs, see [Using your FAQ file][1].
1726
1839
  #
1727
1840
  #
1728
1841
  #
1729
1842
  # [1]: https://docs.aws.amazon.com/kendra/latest/dg/in-creating-faq.html#using-faq-file
1730
1843
  #
1731
1844
  # @option params [required, String] :index_id
1732
- # The identifier of the index that contains the FAQ.
1845
+ # The identifier of the index for the FAQ.
1733
1846
  #
1734
1847
  # @option params [required, String] :name
1735
- # The name that should be associated with the FAQ.
1848
+ # A name for the FAQ.
1736
1849
  #
1737
1850
  # @option params [String] :description
1738
- # A description of the FAQ.
1851
+ # A description for the FAQ.
1739
1852
  #
1740
1853
  # @option params [required, Types::S3Path] :s3_path
1741
- # The S3 location of the FAQ input data.
1854
+ # The path to the FAQ file in S3.
1742
1855
  #
1743
1856
  # @option params [required, String] :role_arn
1744
1857
  # The Amazon Resource Name (ARN) of a role with permission to access the
@@ -1755,7 +1868,7 @@ module Aws::Kendra
1755
1868
  # resources.
1756
1869
  #
1757
1870
  # @option params [String] :file_format
1758
- # The format of the input file. You can choose between a basic CSV
1871
+ # The format of the FAQ input file. You can choose between a basic CSV
1759
1872
  # format, a CSV format that includes customs attributes in a header, and
1760
1873
  # a JSON format that includes custom attributes.
1761
1874
  #
@@ -1825,10 +1938,10 @@ module Aws::Kendra
1825
1938
  req.send_request(options)
1826
1939
  end
1827
1940
 
1828
- # Creates a new Amazon Kendra index. Index creation is an asynchronous
1829
- # API. To determine if index creation has completed, check the `Status`
1830
- # field returned from a call to `DescribeIndex`. The `Status` field is
1831
- # set to `ACTIVE` when the index is ready to use.
1941
+ # Creates an Amazon Kendra index. Index creation is an asynchronous API.
1942
+ # To determine if index creation has completed, check the `Status` field
1943
+ # returned from a call to `DescribeIndex`. The `Status` field is set to
1944
+ # `ACTIVE` when the index is ready to use.
1832
1945
  #
1833
1946
  # Once the index is active you can index your documents using the
1834
1947
  # `BatchPutDocument` API or using one of the supported data sources.
@@ -1844,7 +1957,7 @@ module Aws::Kendra
1844
1957
  # [2]: https://docs.aws.amazon.com/kendra/latest/dg/gs-java.html
1845
1958
  #
1846
1959
  # @option params [required, String] :name
1847
- # The name for the new index.
1960
+ # A name for the index.
1848
1961
  #
1849
1962
  # @option params [String] :edition
1850
1963
  # The Amazon Kendra edition to use for the index. Choose
@@ -2095,13 +2208,13 @@ module Aws::Kendra
2095
2208
  # [1]: https://docs.aws.amazon.com/kendra/latest/dg/index-synonyms-adding-thesaurus-file.html
2096
2209
  #
2097
2210
  # @option params [required, String] :index_id
2098
- # The unique identifier of the index for the new thesaurus.
2211
+ # The identifier of the index for the thesaurus.
2099
2212
  #
2100
2213
  # @option params [required, String] :name
2101
- # The name for the new thesaurus.
2214
+ # A name for the thesaurus.
2102
2215
  #
2103
2216
  # @option params [String] :description
2104
- # The description for the new thesaurus.
2217
+ # A description for the thesaurus.
2105
2218
  #
2106
2219
  # @option params [required, String] :role_arn
2107
2220
  # An IAM role that gives Amazon Kendra permissions to access thesaurus
@@ -2113,7 +2226,7 @@ module Aws::Kendra
2113
2226
  # resources.
2114
2227
  #
2115
2228
  # @option params [required, Types::S3Path] :source_s3_path
2116
- # The thesaurus file Amazon S3 source path.
2229
+ # The path to the thesaurus file in S3.
2117
2230
  #
2118
2231
  # @option params [String] :client_token
2119
2232
  # A token that you provide to identify the request to create a
@@ -2160,6 +2273,36 @@ module Aws::Kendra
2160
2273
  req.send_request(options)
2161
2274
  end
2162
2275
 
2276
+ # Deletes an access control configuration that you created for your
2277
+ # documents in an index. This includes user and group access information
2278
+ # for your documents. This is useful for user context filtering, where
2279
+ # search results are filtered based on the user or their group access to
2280
+ # documents.
2281
+ #
2282
+ # @option params [required, String] :index_id
2283
+ # The identifier of the index for an access control configuration.
2284
+ #
2285
+ # @option params [required, String] :id
2286
+ # The identifier of the access control configuration you want to delete.
2287
+ #
2288
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2289
+ #
2290
+ # @example Request syntax with placeholder values
2291
+ #
2292
+ # resp = client.delete_access_control_configuration({
2293
+ # index_id: "IndexId", # required
2294
+ # id: "AccessControlConfigurationId", # required
2295
+ # })
2296
+ #
2297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteAccessControlConfiguration AWS API Documentation
2298
+ #
2299
+ # @overload delete_access_control_configuration(params = {})
2300
+ # @param [Hash] params ({})
2301
+ def delete_access_control_configuration(params = {}, options = {})
2302
+ req = build_request(:delete_access_control_configuration, params)
2303
+ req.send_request(options)
2304
+ end
2305
+
2163
2306
  # Deletes an Amazon Kendra data source. An exception is not thrown if
2164
2307
  # the data source is already being deleted. While the data source is
2165
2308
  # being deleted, the `Status` field returned by a call to the
@@ -2171,10 +2314,10 @@ module Aws::Kendra
2171
2314
  # [1]: https://docs.aws.amazon.com/kendra/latest/dg/delete-data-source.html
2172
2315
  #
2173
2316
  # @option params [required, String] :id
2174
- # The unique identifier of the data source to delete.
2317
+ # The identifier of the data source you want to delete.
2175
2318
  #
2176
2319
  # @option params [required, String] :index_id
2177
- # The unique identifier of the index associated with the data source.
2320
+ # The identifier of the index used with the data source.
2178
2321
  #
2179
2322
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2180
2323
  #
@@ -2206,8 +2349,7 @@ module Aws::Kendra
2206
2349
  # The identifier of your Amazon Kendra experience you want to delete.
2207
2350
  #
2208
2351
  # @option params [required, String] :index_id
2209
- # The identifier of the index for your Amazon Kendra experience you want
2210
- # to delete.
2352
+ # The identifier of the index for your Amazon Kendra experience.
2211
2353
  #
2212
2354
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2213
2355
  #
@@ -2230,10 +2372,10 @@ module Aws::Kendra
2230
2372
  # Removes an FAQ from an index.
2231
2373
  #
2232
2374
  # @option params [required, String] :id
2233
- # The identifier of the FAQ to remove.
2375
+ # The identifier of the FAQ you want to remove.
2234
2376
  #
2235
2377
  # @option params [required, String] :index_id
2236
- # The index to remove the FAQ from.
2378
+ # The identifier of the index for the FAQ.
2237
2379
  #
2238
2380
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2239
2381
  #
@@ -2259,7 +2401,7 @@ module Aws::Kendra
2259
2401
  # set to `DELETING`.
2260
2402
  #
2261
2403
  # @option params [required, String] :id
2262
- # The identifier of the index to delete.
2404
+ # The identifier of the index you want to delete.
2263
2405
  #
2264
2406
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2265
2407
  #
@@ -2302,15 +2444,14 @@ module Aws::Kendra
2302
2444
  # @option params [String] :data_source_id
2303
2445
  # The identifier of the data source you want to delete a group from.
2304
2446
  #
2305
- # This is useful if a group is tied to multiple data sources and you
2306
- # want to delete a group from accessing documents in a certain data
2307
- # source. For example, the groups "Research", "Engineering", and
2308
- # "Sales and Marketing" are all tied to the company's documents
2309
- # stored in the data sources Confluence and Salesforce. You want to
2310
- # delete "Research" and "Engineering" groups from Salesforce, so
2311
- # that these groups cannot access customer-related documents stored in
2312
- # Salesforce. Only "Sales and Marketing" should access documents in
2313
- # the Salesforce data source.
2447
+ # A group can be tied to multiple data sources. You can delete a group
2448
+ # from accessing documents in a certain data source. For example, the
2449
+ # groups "Research", "Engineering", and "Sales and Marketing" are
2450
+ # all tied to the company's documents stored in the data sources
2451
+ # Confluence and Salesforce. You want to delete "Research" and
2452
+ # "Engineering" groups from Salesforce, so that these groups cannot
2453
+ # access customer-related documents stored in Salesforce. Only "Sales
2454
+ # and Marketing" should access documents in the Salesforce data source.
2314
2455
  #
2315
2456
  # @option params [required, String] :group_id
2316
2457
  # The identifier of the group you want to delete.
@@ -2363,10 +2504,10 @@ module Aws::Kendra
2363
2504
  # Amazon Web Services GovCloud (US-West) region.
2364
2505
  #
2365
2506
  # @option params [required, String] :index_id
2366
- # The identifier of the you want to delete a block list from.
2507
+ # The identifier of the index for the block list.
2367
2508
  #
2368
2509
  # @option params [required, String] :id
2369
- # The unique identifier of the block list that needs to be deleted.
2510
+ # The identifier of the block list you want to delete.
2370
2511
  #
2371
2512
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2372
2513
  #
@@ -2389,10 +2530,10 @@ module Aws::Kendra
2389
2530
  # Deletes an existing Amazon Kendra thesaurus.
2390
2531
  #
2391
2532
  # @option params [required, String] :id
2392
- # The identifier of the thesaurus to delete.
2533
+ # The identifier of the thesaurus you want to delete.
2393
2534
  #
2394
2535
  # @option params [required, String] :index_id
2395
- # The identifier of the index associated with the thesaurus to delete.
2536
+ # The identifier of the index for the thesaurus.
2396
2537
  #
2397
2538
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2398
2539
  #
@@ -2412,13 +2553,67 @@ module Aws::Kendra
2412
2553
  req.send_request(options)
2413
2554
  end
2414
2555
 
2556
+ # Gets information about an access control configuration that you
2557
+ # created for your documents in an index. This includes user and group
2558
+ # access information for your documents. This is useful for user context
2559
+ # filtering, where search results are filtered based on the user or
2560
+ # their group access to documents.
2561
+ #
2562
+ # @option params [required, String] :index_id
2563
+ # The identifier of the index for an access control configuration.
2564
+ #
2565
+ # @option params [required, String] :id
2566
+ # The identifier of the access control configuration you want to get
2567
+ # information on.
2568
+ #
2569
+ # @return [Types::DescribeAccessControlConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2570
+ #
2571
+ # * {Types::DescribeAccessControlConfigurationResponse#name #name} => String
2572
+ # * {Types::DescribeAccessControlConfigurationResponse#description #description} => String
2573
+ # * {Types::DescribeAccessControlConfigurationResponse#error_message #error_message} => String
2574
+ # * {Types::DescribeAccessControlConfigurationResponse#access_control_list #access_control_list} => Array&lt;Types::Principal&gt;
2575
+ # * {Types::DescribeAccessControlConfigurationResponse#hierarchical_access_control_list #hierarchical_access_control_list} => Array&lt;Types::HierarchicalPrincipal&gt;
2576
+ #
2577
+ # @example Request syntax with placeholder values
2578
+ #
2579
+ # resp = client.describe_access_control_configuration({
2580
+ # index_id: "IndexId", # required
2581
+ # id: "AccessControlConfigurationId", # required
2582
+ # })
2583
+ #
2584
+ # @example Response structure
2585
+ #
2586
+ # resp.name #=> String
2587
+ # resp.description #=> String
2588
+ # resp.error_message #=> String
2589
+ # resp.access_control_list #=> Array
2590
+ # resp.access_control_list[0].name #=> String
2591
+ # resp.access_control_list[0].type #=> String, one of "USER", "GROUP"
2592
+ # resp.access_control_list[0].access #=> String, one of "ALLOW", "DENY"
2593
+ # resp.access_control_list[0].data_source_id #=> String
2594
+ # resp.hierarchical_access_control_list #=> Array
2595
+ # resp.hierarchical_access_control_list[0].principal_list #=> Array
2596
+ # resp.hierarchical_access_control_list[0].principal_list[0].name #=> String
2597
+ # resp.hierarchical_access_control_list[0].principal_list[0].type #=> String, one of "USER", "GROUP"
2598
+ # resp.hierarchical_access_control_list[0].principal_list[0].access #=> String, one of "ALLOW", "DENY"
2599
+ # resp.hierarchical_access_control_list[0].principal_list[0].data_source_id #=> String
2600
+ #
2601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeAccessControlConfiguration AWS API Documentation
2602
+ #
2603
+ # @overload describe_access_control_configuration(params = {})
2604
+ # @param [Hash] params ({})
2605
+ def describe_access_control_configuration(params = {}, options = {})
2606
+ req = build_request(:describe_access_control_configuration, params)
2607
+ req.send_request(options)
2608
+ end
2609
+
2415
2610
  # Gets information about an Amazon Kendra data source.
2416
2611
  #
2417
2612
  # @option params [required, String] :id
2418
- # The unique identifier of the data source to describe.
2613
+ # The identifier of the data source.
2419
2614
  #
2420
2615
  # @option params [required, String] :index_id
2421
- # The identifier of the index that contains the data source.
2616
+ # The identifier of the index used with the data source.
2422
2617
  #
2423
2618
  # @return [Types::DescribeDataSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2424
2619
  #
@@ -2965,8 +3160,7 @@ module Aws::Kendra
2965
3160
  # information on.
2966
3161
  #
2967
3162
  # @option params [required, String] :index_id
2968
- # The identifier of the index for your Amazon Kendra experience you want
2969
- # to get information on.
3163
+ # The identifier of the index for your Amazon Kendra experience.
2970
3164
  #
2971
3165
  # @return [Types::DescribeExperienceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2972
3166
  #
@@ -3022,10 +3216,10 @@ module Aws::Kendra
3022
3216
  # Gets information about an FAQ list.
3023
3217
  #
3024
3218
  # @option params [required, String] :id
3025
- # The unique identifier of the FAQ.
3219
+ # The identifier of the FAQ you want to get information on.
3026
3220
  #
3027
3221
  # @option params [required, String] :index_id
3028
- # The identifier of the index that contains the FAQ.
3222
+ # The identifier of the index for the FAQ.
3029
3223
  #
3030
3224
  # @return [Types::DescribeFaqResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3031
3225
  #
@@ -3074,10 +3268,10 @@ module Aws::Kendra
3074
3268
  req.send_request(options)
3075
3269
  end
3076
3270
 
3077
- # Describes an existing Amazon Kendra index.
3271
+ # Gets information about an existing Amazon Kendra index.
3078
3272
  #
3079
3273
  # @option params [required, String] :id
3080
- # The identifier of the index to describe.
3274
+ # The identifier of the index you want to get information on.
3081
3275
  #
3082
3276
  # @return [Types::DescribeIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3083
3277
  #
@@ -3214,7 +3408,8 @@ module Aws::Kendra
3214
3408
  req.send_request(options)
3215
3409
  end
3216
3410
 
3217
- # Describes a block list used for query suggestions for an index.
3411
+ # Gets information about a block list used for query suggestions for an
3412
+ # index.
3218
3413
  #
3219
3414
  # This is used to check the current settings that are applied to a block
3220
3415
  # list.
@@ -3226,7 +3421,7 @@ module Aws::Kendra
3226
3421
  # The identifier of the index for the block list.
3227
3422
  #
3228
3423
  # @option params [required, String] :id
3229
- # The unique identifier of the block list.
3424
+ # The identifier of the block list you want to get information on.
3230
3425
  #
3231
3426
  # @return [Types::DescribeQuerySuggestionsBlockListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3232
3427
  #
@@ -3275,7 +3470,7 @@ module Aws::Kendra
3275
3470
  req.send_request(options)
3276
3471
  end
3277
3472
 
3278
- # Describes the settings of query suggestions for an index.
3473
+ # Gets information on the settings of query suggestions for an index.
3279
3474
  #
3280
3475
  # This is used to check the current settings applied to query
3281
3476
  # suggestions.
@@ -3284,8 +3479,8 @@ module Aws::Kendra
3284
3479
  # Amazon Web Services GovCloud (US-West) region.
3285
3480
  #
3286
3481
  # @option params [required, String] :index_id
3287
- # The identifier of the index you want to describe query suggestions
3288
- # settings for.
3482
+ # The identifier of the index with query suggestions that you want to
3483
+ # get information on.
3289
3484
  #
3290
3485
  # @return [Types::DescribeQuerySuggestionsConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3291
3486
  #
@@ -3326,13 +3521,13 @@ module Aws::Kendra
3326
3521
  req.send_request(options)
3327
3522
  end
3328
3523
 
3329
- # Describes an existing Amazon Kendra thesaurus.
3524
+ # Gets information about an existing Amazon Kendra thesaurus.
3330
3525
  #
3331
3526
  # @option params [required, String] :id
3332
- # The identifier of the thesaurus to describe.
3527
+ # The identifier of the thesaurus you want to get information on.
3333
3528
  #
3334
3529
  # @option params [required, String] :index_id
3335
- # The identifier of the index associated with the thesaurus to describe.
3530
+ # The identifier of the index for the thesaurus.
3336
3531
  #
3337
3532
  # @return [Types::DescribeThesaurusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3338
3533
  #
@@ -3626,13 +3821,60 @@ module Aws::Kendra
3626
3821
  req.send_request(options)
3627
3822
  end
3628
3823
 
3824
+ # Lists one or more access control configurations for an index. This
3825
+ # includes user and group access information for your documents. This is
3826
+ # useful for user context filtering, where search results are filtered
3827
+ # based on the user or their group access to documents.
3828
+ #
3829
+ # @option params [required, String] :index_id
3830
+ # The identifier of the index for the access control configuration.
3831
+ #
3832
+ # @option params [String] :next_token
3833
+ # If the previous response was incomplete (because there is more data to
3834
+ # retrieve), Amazon Kendra returns a pagination token in the response.
3835
+ # You can use this pagination token to retrieve the next set of access
3836
+ # control configurations.
3837
+ #
3838
+ # @option params [Integer] :max_results
3839
+ # The maximum number of access control configurations to return.
3840
+ #
3841
+ # @return [Types::ListAccessControlConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3842
+ #
3843
+ # * {Types::ListAccessControlConfigurationsResponse#next_token #next_token} => String
3844
+ # * {Types::ListAccessControlConfigurationsResponse#access_control_configurations #access_control_configurations} => Array&lt;Types::AccessControlConfigurationSummary&gt;
3845
+ #
3846
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3847
+ #
3848
+ # @example Request syntax with placeholder values
3849
+ #
3850
+ # resp = client.list_access_control_configurations({
3851
+ # index_id: "IndexId", # required
3852
+ # next_token: "String",
3853
+ # max_results: 1,
3854
+ # })
3855
+ #
3856
+ # @example Response structure
3857
+ #
3858
+ # resp.next_token #=> String
3859
+ # resp.access_control_configurations #=> Array
3860
+ # resp.access_control_configurations[0].id #=> String
3861
+ #
3862
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListAccessControlConfigurations AWS API Documentation
3863
+ #
3864
+ # @overload list_access_control_configurations(params = {})
3865
+ # @param [Hash] params ({})
3866
+ def list_access_control_configurations(params = {}, options = {})
3867
+ req = build_request(:list_access_control_configurations, params)
3868
+ req.send_request(options)
3869
+ end
3870
+
3629
3871
  # Gets statistics about synchronizing Amazon Kendra with a data source.
3630
3872
  #
3631
3873
  # @option params [required, String] :id
3632
3874
  # The identifier of the data source.
3633
3875
  #
3634
3876
  # @option params [required, String] :index_id
3635
- # The identifier of the index that contains the data source.
3877
+ # The identifier of the index used with the data source.
3636
3878
  #
3637
3879
  # @option params [String] :next_token
3638
3880
  # If the previous response was incomplete (because there is more data to
@@ -3702,7 +3944,7 @@ module Aws::Kendra
3702
3944
  # Lists the data sources that you have created.
3703
3945
  #
3704
3946
  # @option params [required, String] :index_id
3705
- # The identifier of the index that contains the data source.
3947
+ # The identifier of the index used with one or more data sources.
3706
3948
  #
3707
3949
  # @option params [String] :next_token
3708
3950
  # If the previous response was incomplete (because there is more data to
@@ -4173,10 +4415,10 @@ module Aws::Kendra
4173
4415
  req.send_request(options)
4174
4416
  end
4175
4417
 
4176
- # Lists the Amazon Kendra thesauri associated with an index.
4418
+ # Lists the thesauri for an index.
4177
4419
  #
4178
4420
  # @option params [required, String] :index_id
4179
- # The identifier of the index associated with the thesaurus to list.
4421
+ # The identifier of the index with one or more thesauri.
4180
4422
  #
4181
4423
  # @option params [String] :next_token
4182
4424
  # If the previous response was incomplete (because there is more data to
@@ -4232,10 +4474,9 @@ module Aws::Kendra
4232
4474
  # property group, can see top-secret company documents in their search
4233
4475
  # results.
4234
4476
  #
4235
- # You map users to their groups when you want to filter search results
4236
- # for different users based on their group’s access to documents. For
4237
- # more information on filtering search results for different users, see
4238
- # [Filtering on user context][1].
4477
+ # This is useful for user context filtering, where search results are
4478
+ # filtered based on the user or their group access to documents. For
4479
+ # more information, see [Filtering on user context][1].
4239
4480
  #
4240
4481
  # If more than five `PUT` actions for a group are currently processing,
4241
4482
  # a validation exception is thrown.
@@ -4832,46 +5073,147 @@ module Aws::Kendra
4832
5073
  req.send_request(options)
4833
5074
  end
4834
5075
 
5076
+ # Updates an access control configuration for your documents in an
5077
+ # index. This includes user and group access information for your
5078
+ # documents. This is useful for user context filtering, where search
5079
+ # results are filtered based on the user or their group access to
5080
+ # documents.
5081
+ #
5082
+ # You can update an access control configuration you created without
5083
+ # indexing all of your documents again. For example, your index contains
5084
+ # top-secret company documents that only certain employees or users
5085
+ # should access. You created an 'allow' access control configuration
5086
+ # for one user who recently joined the 'top-secret' team, switching
5087
+ # from a team with 'deny' access to top-secret documents. However, the
5088
+ # user suddenly returns to their previous team and should no longer have
5089
+ # access to top secret documents. You can update the access control
5090
+ # configuration to re-configure access control for your documents as
5091
+ # circumstances change.
5092
+ #
5093
+ # You call the [BatchPutDocument][1] API to apply the updated access
5094
+ # control configuration, with the `AccessControlConfigurationId`
5095
+ # included in the [Document][2] object. If you use an S3 bucket as a
5096
+ # data source, you synchronize your data source to apply the the
5097
+ # `AccessControlConfigurationId` in the `.metadata.json` file. Amazon
5098
+ # Kendra currently only supports access control configuration for S3
5099
+ # data sources and documents indexed using the `BatchPutDocument` API.
5100
+ #
5101
+ #
5102
+ #
5103
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_BatchPutDocument.html
5104
+ # [2]: https://docs.aws.amazon.com/kendra/latest/dg/API_Document.html
5105
+ #
5106
+ # @option params [required, String] :index_id
5107
+ # The identifier of the index for an access control configuration.
5108
+ #
5109
+ # @option params [required, String] :id
5110
+ # The identifier of the access control configuration you want to update.
5111
+ #
5112
+ # @option params [String] :name
5113
+ # A new name for the access control configuration.
5114
+ #
5115
+ # @option params [String] :description
5116
+ # A new description for the access control configuration.
5117
+ #
5118
+ # @option params [Array<Types::Principal>] :access_control_list
5119
+ # Information you want to update on principals (users and/or groups) and
5120
+ # which documents they should have access to. This is useful for user
5121
+ # context filtering, where search results are filtered based on the user
5122
+ # or their group access to documents.
5123
+ #
5124
+ # @option params [Array<Types::HierarchicalPrincipal>] :hierarchical_access_control_list
5125
+ # The updated list of [principal][1] lists that define the hierarchy for
5126
+ # which documents users should have access to.
5127
+ #
5128
+ #
5129
+ #
5130
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html
5131
+ #
5132
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5133
+ #
5134
+ # @example Request syntax with placeholder values
5135
+ #
5136
+ # resp = client.update_access_control_configuration({
5137
+ # index_id: "IndexId", # required
5138
+ # id: "AccessControlConfigurationId", # required
5139
+ # name: "AccessControlConfigurationName",
5140
+ # description: "Description",
5141
+ # access_control_list: [
5142
+ # {
5143
+ # name: "PrincipalName", # required
5144
+ # type: "USER", # required, accepts USER, GROUP
5145
+ # access: "ALLOW", # required, accepts ALLOW, DENY
5146
+ # data_source_id: "DataSourceId",
5147
+ # },
5148
+ # ],
5149
+ # hierarchical_access_control_list: [
5150
+ # {
5151
+ # principal_list: [ # required
5152
+ # {
5153
+ # name: "PrincipalName", # required
5154
+ # type: "USER", # required, accepts USER, GROUP
5155
+ # access: "ALLOW", # required, accepts ALLOW, DENY
5156
+ # data_source_id: "DataSourceId",
5157
+ # },
5158
+ # ],
5159
+ # },
5160
+ # ],
5161
+ # })
5162
+ #
5163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateAccessControlConfiguration AWS API Documentation
5164
+ #
5165
+ # @overload update_access_control_configuration(params = {})
5166
+ # @param [Hash] params ({})
5167
+ def update_access_control_configuration(params = {}, options = {})
5168
+ req = build_request(:update_access_control_configuration, params)
5169
+ req.send_request(options)
5170
+ end
5171
+
4835
5172
  # Updates an existing Amazon Kendra data source.
4836
5173
  #
4837
5174
  # @option params [required, String] :id
4838
- # The unique identifier of the data source to update.
5175
+ # The identifier of the data source you want to update.
4839
5176
  #
4840
5177
  # @option params [String] :name
4841
- # The name of the data source to update. The name of the data source
4842
- # can't be updated. To rename a data source you must delete the data
4843
- # source and re-create it.
5178
+ # A new name for the data source connector. You must first delete the
5179
+ # data source and re-create it to change the name of the data source.
4844
5180
  #
4845
5181
  # @option params [required, String] :index_id
4846
- # The identifier of the index that contains the data source to update.
5182
+ # The identifier of the index used with the data source connector.
4847
5183
  #
4848
5184
  # @option params [Types::DataSourceConfiguration] :configuration
4849
- # Configuration information for an Amazon Kendra data source you want to
4850
- # update.
5185
+ # Configuration information you want to update for the data source
5186
+ # connector.
4851
5187
  #
4852
5188
  # @option params [String] :description
4853
- # The new description for the data source.
5189
+ # A new description for the data source connector.
4854
5190
  #
4855
5191
  # @option params [String] :schedule
4856
- # The new update schedule for the data source.
5192
+ # The sync schedule you want to update for the data source connector.
4857
5193
  #
4858
5194
  # @option params [String] :role_arn
4859
- # The Amazon Resource Name (ARN) of the new role to use when the data
4860
- # source is accessing resources on your behalf.
5195
+ # The Amazon Resource Name (ARN) of a role with permission to access the
5196
+ # data source. For more information, see [IAM Roles for Amazon
5197
+ # Kendra][1].
5198
+ #
5199
+ #
5200
+ #
5201
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html
4861
5202
  #
4862
5203
  # @option params [String] :language_code
4863
- # The code for a language. This allows you to support a language for all
4864
- # documents when updating the data source. English is supported by
4865
- # default. For more information on supported languages, including their
4866
- # codes, see [Adding documents in languages other than English][1].
5204
+ # The code for a language you want to update for the data source
5205
+ # connector. This allows you to support a language for all documents
5206
+ # when updating the data source. English is supported by default. For
5207
+ # more information on supported languages, including their codes, see
5208
+ # [Adding documents in languages other than English][1].
4867
5209
  #
4868
5210
  #
4869
5211
  #
4870
5212
  # [1]: https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html
4871
5213
  #
4872
5214
  # @option params [Types::CustomDocumentEnrichmentConfiguration] :custom_document_enrichment_configuration
4873
- # Configuration information for altering document metadata and content
4874
- # during the document ingestion process when you update a data source.
5215
+ # Configuration information you want to update for altering document
5216
+ # metadata and content during the document ingestion process.
4875
5217
  #
4876
5218
  # For more information on how to create, modify and delete document
4877
5219
  # metadata, or make other content alterations when you ingest documents
@@ -5587,11 +5929,10 @@ module Aws::Kendra
5587
5929
  # The identifier of your Amazon Kendra experience you want to update.
5588
5930
  #
5589
5931
  # @option params [String] :name
5590
- # The name of your Amazon Kendra experience you want to update.
5932
+ # A new name for your Amazon Kendra experience.
5591
5933
  #
5592
5934
  # @option params [required, String] :index_id
5593
- # The identifier of the index for your Amazon Kendra experience you want
5594
- # to update.
5935
+ # The identifier of the index for your Amazon Kendra experience.
5595
5936
  #
5596
5937
  # @option params [String] :role_arn
5597
5938
  # The Amazon Resource Name (ARN) of a role with permission to access
@@ -5604,10 +5945,11 @@ module Aws::Kendra
5604
5945
  # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html
5605
5946
  #
5606
5947
  # @option params [Types::ExperienceConfiguration] :configuration
5607
- # Configuration information for your Amazon Kendra you want to update.
5948
+ # Configuration information you want to update for your Amazon Kendra
5949
+ # experience.
5608
5950
  #
5609
5951
  # @option params [String] :description
5610
- # The description of your Amazon Kendra experience you want to update.
5952
+ # A new description for your Amazon Kendra experience.
5611
5953
  #
5612
5954
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5613
5955
  #
@@ -5643,20 +5985,23 @@ module Aws::Kendra
5643
5985
  # Updates an existing Amazon Kendra index.
5644
5986
  #
5645
5987
  # @option params [required, String] :id
5646
- # The identifier of the index to update.
5988
+ # The identifier of the index you want to update.
5647
5989
  #
5648
5990
  # @option params [String] :name
5649
- # The name of the index to update.
5991
+ # The name of the index you want to update.
5650
5992
  #
5651
5993
  # @option params [String] :role_arn
5652
- # A new IAM role that gives Amazon Kendra permission to access your
5653
- # Amazon CloudWatch logs.
5994
+ # An Identity and Access Management (IAM) role that gives Amazon Kendra
5995
+ # permission to access Amazon CloudWatch logs and metrics.
5654
5996
  #
5655
5997
  # @option params [String] :description
5656
5998
  # A new description for the index.
5657
5999
  #
5658
6000
  # @option params [Array<Types::DocumentMetadataConfiguration>] :document_metadata_configuration_updates
5659
- # The document metadata you want to update.
6001
+ # The document metadata configuration you want to update for the index.
6002
+ # Document metadata are fields or attributes associated with your
6003
+ # documents. For example, the company department name associated with
6004
+ # each document.
5660
6005
  #
5661
6006
  # @option params [Types::CapacityUnitsConfiguration] :capacity_units
5662
6007
  # Sets the number of additional document storage and query capacity
@@ -5765,16 +6110,16 @@ module Aws::Kendra
5765
6110
  # Amazon Web Services GovCloud (US-West) region.
5766
6111
  #
5767
6112
  # @option params [required, String] :index_id
5768
- # The identifier of the index for a block list.
6113
+ # The identifier of the index for the block list.
5769
6114
  #
5770
6115
  # @option params [required, String] :id
5771
- # The unique identifier of a block list.
6116
+ # The identifier of the block list you want to update.
5772
6117
  #
5773
6118
  # @option params [String] :name
5774
- # The name of a block list.
6119
+ # A new name for the block list.
5775
6120
  #
5776
6121
  # @option params [String] :description
5777
- # The description for a block list.
6122
+ # A new description for the block list.
5778
6123
  #
5779
6124
  # @option params [Types::S3Path] :source_s3_path
5780
6125
  # The S3 path where your block list text file sits in S3.
@@ -5836,8 +6181,7 @@ module Aws::Kendra
5836
6181
  # Amazon Web Services GovCloud (US-West) region.
5837
6182
  #
5838
6183
  # @option params [required, String] :index_id
5839
- # The identifier of the index you want to update query suggestions
5840
- # settings for.
6184
+ # The identifier of the index with query suggestions you want to update.
5841
6185
  #
5842
6186
  # @option params [String] :mode
5843
6187
  # Set the mode to `ENABLED` or `LEARN_ONLY`.
@@ -5915,22 +6259,23 @@ module Aws::Kendra
5915
6259
  req.send_request(options)
5916
6260
  end
5917
6261
 
5918
- # Updates a thesaurus file associated with an index.
6262
+ # Updates a thesaurus for an index.
5919
6263
  #
5920
6264
  # @option params [required, String] :id
5921
- # The identifier of the thesaurus to update.
6265
+ # The identifier of the thesaurus you want to update.
5922
6266
  #
5923
6267
  # @option params [String] :name
5924
- # The updated name of the thesaurus.
6268
+ # A new name for the thesaurus.
5925
6269
  #
5926
6270
  # @option params [required, String] :index_id
5927
- # The identifier of the index associated with the thesaurus to update.
6271
+ # The identifier of the index for the thesaurus.
5928
6272
  #
5929
6273
  # @option params [String] :description
5930
- # The updated description of the thesaurus.
6274
+ # A new description for the thesaurus.
5931
6275
  #
5932
6276
  # @option params [String] :role_arn
5933
- # The updated role ARN of the thesaurus.
6277
+ # An IAM role that gives Amazon Kendra permissions to access thesaurus
6278
+ # file specified in `SourceS3Path`.
5934
6279
  #
5935
6280
  # @option params [Types::S3Path] :source_s3_path
5936
6281
  # Information required to find a specific file in an Amazon S3 bucket.
@@ -5973,7 +6318,7 @@ module Aws::Kendra
5973
6318
  params: params,
5974
6319
  config: config)
5975
6320
  context[:gem_name] = 'aws-sdk-kendra'
5976
- context[:gem_version] = '1.53.0'
6321
+ context[:gem_version] = '1.54.0'
5977
6322
  Seahorse::Client::Request.new(handlers, context)
5978
6323
  end
5979
6324