aws-sdk-kendra 1.25.0 → 1.30.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.
@@ -25,7 +25,8 @@ module Aws::Kendra
25
25
  # }
26
26
  #
27
27
  # @!attribute [rw] key_path
28
- # Path to the AWS S3 bucket that contains the ACL files.
28
+ # Path to the Amazon Web Services S3 bucket that contains the ACL
29
+ # files.
29
30
  # @return [String]
30
31
  #
31
32
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/AccessControlListConfiguration AWS API Documentation
@@ -492,6 +493,87 @@ module Aws::Kendra
492
493
  include Aws::Structure
493
494
  end
494
495
 
496
+ # Provides the configuration information to connect to websites that
497
+ # require user authentication.
498
+ #
499
+ # @note When making an API call, you may pass AuthenticationConfiguration
500
+ # data as a hash:
501
+ #
502
+ # {
503
+ # basic_authentication: [
504
+ # {
505
+ # host: "Host", # required
506
+ # port: 1, # required
507
+ # credentials: "SecretArn", # required
508
+ # },
509
+ # ],
510
+ # }
511
+ #
512
+ # @!attribute [rw] basic_authentication
513
+ # The list of configuration information that's required to connect to
514
+ # and crawl a website host using basic authentication credentials.
515
+ #
516
+ # The list includes the name and port number of the website host.
517
+ # @return [Array<Types::BasicAuthenticationConfiguration>]
518
+ #
519
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/AuthenticationConfiguration AWS API Documentation
520
+ #
521
+ class AuthenticationConfiguration < Struct.new(
522
+ :basic_authentication)
523
+ SENSITIVE = []
524
+ include Aws::Structure
525
+ end
526
+
527
+ # Provides the configuration information to connect to websites that
528
+ # require basic user authentication.
529
+ #
530
+ # @note When making an API call, you may pass BasicAuthenticationConfiguration
531
+ # data as a hash:
532
+ #
533
+ # {
534
+ # host: "Host", # required
535
+ # port: 1, # required
536
+ # credentials: "SecretArn", # required
537
+ # }
538
+ #
539
+ # @!attribute [rw] host
540
+ # The name of the website host you want to connect to using
541
+ # authentication credentials.
542
+ #
543
+ # For example, the host name of https://a.example.com/page1.html is
544
+ # "a.example.com".
545
+ # @return [String]
546
+ #
547
+ # @!attribute [rw] port
548
+ # The port number of the website host you want to connect to using
549
+ # authentication credentials.
550
+ #
551
+ # For example, the port for https://a.example.com/page1.html is 443,
552
+ # the standard port for HTTPS.
553
+ # @return [Integer]
554
+ #
555
+ # @!attribute [rw] credentials
556
+ # Your secret ARN, which you can create in [AWS Secrets Manager][1]
557
+ #
558
+ # You use a secret if basic authentication credentials are required to
559
+ # connect to a website. The secret stores your credentials of user
560
+ # name and password.
561
+ #
562
+ #
563
+ #
564
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html
565
+ # @return [String]
566
+ #
567
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BasicAuthenticationConfiguration AWS API Documentation
568
+ #
569
+ class BasicAuthenticationConfiguration < Struct.new(
570
+ :host,
571
+ :port,
572
+ :credentials)
573
+ SENSITIVE = []
574
+ include Aws::Structure
575
+ end
576
+
495
577
  # @note When making an API call, you may pass BatchDeleteDocumentRequest
496
578
  # data as a hash:
497
579
  #
@@ -568,6 +650,103 @@ module Aws::Kendra
568
650
  include Aws::Structure
569
651
  end
570
652
 
653
+ # @note When making an API call, you may pass BatchGetDocumentStatusRequest
654
+ # data as a hash:
655
+ #
656
+ # {
657
+ # index_id: "IndexId", # required
658
+ # document_info_list: [ # required
659
+ # {
660
+ # document_id: "DocumentId", # required
661
+ # attributes: [
662
+ # {
663
+ # key: "DocumentAttributeKey", # required
664
+ # value: { # required
665
+ # string_value: "DocumentAttributeStringValue",
666
+ # string_list_value: ["String"],
667
+ # long_value: 1,
668
+ # date_value: Time.now,
669
+ # },
670
+ # },
671
+ # ],
672
+ # },
673
+ # ],
674
+ # }
675
+ #
676
+ # @!attribute [rw] index_id
677
+ # The identifier of the index to add documents to. The index ID is
678
+ # returned by the [ CreateIndex ][1] operation.
679
+ #
680
+ #
681
+ #
682
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_CreateIndex.html
683
+ # @return [String]
684
+ #
685
+ # @!attribute [rw] document_info_list
686
+ # A list of `DocumentInfo` objects that identify the documents for
687
+ # which to get the status. You identify the documents by their
688
+ # document ID and optional attributes.
689
+ # @return [Array<Types::DocumentInfo>]
690
+ #
691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BatchGetDocumentStatusRequest AWS API Documentation
692
+ #
693
+ class BatchGetDocumentStatusRequest < Struct.new(
694
+ :index_id,
695
+ :document_info_list)
696
+ SENSITIVE = []
697
+ include Aws::Structure
698
+ end
699
+
700
+ # @!attribute [rw] errors
701
+ # A list of documents that Amazon Kendra couldn't get the status for.
702
+ # The list includes the ID of the document and the reason that the
703
+ # status couldn't be found.
704
+ # @return [Array<Types::BatchGetDocumentStatusResponseError>]
705
+ #
706
+ # @!attribute [rw] document_status_list
707
+ # The status of documents. The status indicates if the document is
708
+ # waiting to be indexed, is in the process of indexing, has completed
709
+ # indexing, or failed indexing. If a document failed indexing, the
710
+ # status provides the reason why.
711
+ # @return [Array<Types::Status>]
712
+ #
713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BatchGetDocumentStatusResponse AWS API Documentation
714
+ #
715
+ class BatchGetDocumentStatusResponse < Struct.new(
716
+ :errors,
717
+ :document_status_list)
718
+ SENSITIVE = []
719
+ include Aws::Structure
720
+ end
721
+
722
+ # Provides a response when the status of a document could not be
723
+ # retrieved.
724
+ #
725
+ # @!attribute [rw] document_id
726
+ # The unique identifier of the document whose status could not be
727
+ # retrieved.
728
+ # @return [String]
729
+ #
730
+ # @!attribute [rw] error_code
731
+ # Indicates the source of the error.
732
+ # @return [String]
733
+ #
734
+ # @!attribute [rw] error_message
735
+ # States that the API could not get the status of a document. This
736
+ # could be because the request is not valid or there is a system
737
+ # error.
738
+ # @return [String]
739
+ #
740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BatchGetDocumentStatusResponseError AWS API Documentation
741
+ #
742
+ class BatchGetDocumentStatusResponseError < Struct.new(
743
+ :document_id,
744
+ :error_code,
745
+ :error_message)
746
+ SENSITIVE = []
747
+ include Aws::Structure
748
+ end
749
+
571
750
  # @note When making an API call, you may pass BatchPutDocumentRequest
572
751
  # data as a hash:
573
752
  #
@@ -599,6 +778,19 @@ module Aws::Kendra
599
778
  # name: "PrincipalName", # required
600
779
  # type: "USER", # required, accepts USER, GROUP
601
780
  # access: "ALLOW", # required, accepts ALLOW, DENY
781
+ # data_source_id: "DataSourceId",
782
+ # },
783
+ # ],
784
+ # hierarchical_access_control_list: [
785
+ # {
786
+ # principal_list: [ # required
787
+ # {
788
+ # name: "PrincipalName", # required
789
+ # type: "USER", # required, accepts USER, GROUP
790
+ # access: "ALLOW", # required, accepts ALLOW, DENY
791
+ # data_source_id: "DataSourceId",
792
+ # },
793
+ # ],
602
794
  # },
603
795
  # ],
604
796
  # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
@@ -664,8 +856,9 @@ module Aws::Kendra
664
856
  # index.
665
857
  #
666
858
  # If there was an error adding a document to an index the error is
667
- # reported in your AWS CloudWatch log. For more information, see
668
- # [Monitoring Amazon Kendra with Amazon CloudWatch Logs][1]
859
+ # reported in your Amazon Web Services CloudWatch log. For more
860
+ # information, see [Monitoring Amazon Kendra with Amazon CloudWatch
861
+ # Logs][1]
669
862
  #
670
863
  #
671
864
  #
@@ -704,8 +897,9 @@ module Aws::Kendra
704
897
  include Aws::Structure
705
898
  end
706
899
 
707
- # Specifies capacity units configured for your index. You can add and
708
- # remove capacity units to tune an index to your requirements.
900
+ # Specifies capacity units configured for your enterprise edition index.
901
+ # You can add and remove capacity units to tune an index to your
902
+ # requirements.
709
903
  #
710
904
  # @note When making an API call, you may pass CapacityUnitsConfiguration
711
905
  # data as a hash:
@@ -716,14 +910,28 @@ module Aws::Kendra
716
910
  # }
717
911
  #
718
912
  # @!attribute [rw] storage_capacity_units
719
- # The amount of extra storage capacity for an index. Each capacity
720
- # unit provides 150 Gb of storage space or 500,000 documents,
721
- # whichever is reached first.
913
+ # The amount of extra storage capacity for an index. A single capacity
914
+ # unit for an index provides 150 GB of storage space or 500,000
915
+ # documents, whichever is reached first.
722
916
  # @return [Integer]
723
917
  #
724
918
  # @!attribute [rw] query_capacity_units
725
- # The amount of extra query capacity for an index. Each capacity unit
726
- # provides 0.5 queries per second and 40,000 queries per day.
919
+ # The amount of extra query capacity for an index and
920
+ # [GetQuerySuggestions][1] capacity.
921
+ #
922
+ # A single extra capacity unit for an index provides 0.5 queries per
923
+ # second or approximately 40,000 queries per day.
924
+ #
925
+ # `GetQuerySuggestions` capacity is 5 times the provisioned query
926
+ # capacity for an index. For example, the base capacity for an index
927
+ # is 0.5 queries per second, so GetQuerySuggestions capacity is 2.5
928
+ # calls per second. If adding another 0.5 queries per second to total
929
+ # 1 queries per second for an index, the `GetQuerySuggestions`
930
+ # capacity is 5 calls per second.
931
+ #
932
+ #
933
+ #
934
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_GetQuerySuggestions.html
727
935
  # @return [Integer]
728
936
  #
729
937
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CapacityUnitsConfiguration AWS API Documentation
@@ -1079,7 +1287,7 @@ module Aws::Kendra
1079
1287
  # @return [String]
1080
1288
  #
1081
1289
  # @!attribute [rw] secret_arn
1082
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
1290
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
1083
1291
  # contains the key/value pairs required to connect to your Confluence
1084
1292
  # server. The secret must contain a JSON structure with the following
1085
1293
  # keys:
@@ -1376,7 +1584,7 @@ module Aws::Kendra
1376
1584
  # Manager. The credentials should be a user/password pair. For more
1377
1585
  # information, see [Using a Database Data Source][1]. For more
1378
1586
  # information about AWS Secrets Manager, see [ What Is AWS Secrets
1379
- # Manager ][2] in the *AWS Secrets Manager* user guide.
1587
+ # Manager ][2] in the <i> Secrets Manager </i> user guide.
1380
1588
  #
1381
1589
  #
1382
1590
  #
@@ -1402,7 +1610,7 @@ module Aws::Kendra
1402
1610
  # {
1403
1611
  # name: "DataSourceName", # required
1404
1612
  # index_id: "IndexId", # required
1405
- # type: "S3", # required, accepts S3, SHAREPOINT, DATABASE, SALESFORCE, ONEDRIVE, SERVICENOW, CUSTOM, CONFLUENCE, GOOGLEDRIVE
1613
+ # type: "S3", # required, accepts S3, SHAREPOINT, DATABASE, SALESFORCE, ONEDRIVE, SERVICENOW, CUSTOM, CONFLUENCE, GOOGLEDRIVE, WEBCRAWLER
1406
1614
  # configuration: {
1407
1615
  # s3_configuration: {
1408
1616
  # bucket_name: "S3BucketName", # required
@@ -1417,7 +1625,7 @@ module Aws::Kendra
1417
1625
  # },
1418
1626
  # },
1419
1627
  # share_point_configuration: {
1420
- # share_point_version: "SHAREPOINT_ONLINE", # required, accepts SHAREPOINT_ONLINE
1628
+ # share_point_version: "SHAREPOINT_2013", # required, accepts SHAREPOINT_2013, SHAREPOINT_2016, SHAREPOINT_ONLINE
1421
1629
  # urls: ["Url"], # required
1422
1630
  # secret_arn: "SecretArn", # required
1423
1631
  # crawl_attachments: false,
@@ -1437,6 +1645,10 @@ module Aws::Kendra
1437
1645
  # ],
1438
1646
  # document_title_field_name: "DataSourceFieldName",
1439
1647
  # disable_local_groups: false,
1648
+ # ssl_certificate_s3_path: {
1649
+ # bucket: "S3BucketName", # required
1650
+ # key: "S3ObjectKey", # required
1651
+ # },
1440
1652
  # },
1441
1653
  # database_configuration: {
1442
1654
  # database_engine_type: "RDS_AURORA_MYSQL", # required, accepts RDS_AURORA_MYSQL, RDS_AURORA_POSTGRESQL, RDS_MYSQL, RDS_POSTGRESQL
@@ -1665,6 +1877,37 @@ module Aws::Kendra
1665
1877
  # exclude_user_accounts: ["UserAccount"],
1666
1878
  # exclude_shared_drives: ["SharedDriveId"],
1667
1879
  # },
1880
+ # web_crawler_configuration: {
1881
+ # urls: { # required
1882
+ # seed_url_configuration: {
1883
+ # seed_urls: ["SeedUrl"], # required
1884
+ # web_crawler_mode: "HOST_ONLY", # accepts HOST_ONLY, SUBDOMAINS, EVERYTHING
1885
+ # },
1886
+ # site_maps_configuration: {
1887
+ # site_maps: ["SiteMap"], # required
1888
+ # },
1889
+ # },
1890
+ # crawl_depth: 1,
1891
+ # max_links_per_page: 1,
1892
+ # max_content_size_per_page_in_mega_bytes: 1.0,
1893
+ # max_urls_per_minute_crawl_rate: 1,
1894
+ # url_inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
1895
+ # url_exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
1896
+ # proxy_configuration: {
1897
+ # host: "Host", # required
1898
+ # port: 1, # required
1899
+ # credentials: "SecretArn",
1900
+ # },
1901
+ # authentication_configuration: {
1902
+ # basic_authentication: [
1903
+ # {
1904
+ # host: "Host", # required
1905
+ # port: 1, # required
1906
+ # credentials: "SecretArn", # required
1907
+ # },
1908
+ # ],
1909
+ # },
1910
+ # },
1668
1911
  # },
1669
1912
  # description: "Description",
1670
1913
  # schedule: "ScanSchedule",
@@ -1937,15 +2180,14 @@ module Aws::Kendra
1937
2180
  # @return [String]
1938
2181
  #
1939
2182
  # @!attribute [rw] role_arn
1940
- # An AWS Identity and Access Management (IAM) role that gives Amazon
1941
- # Kendra permissions to access your Amazon CloudWatch logs and
1942
- # metrics. This is also the role used when you use the
1943
- # `BatchPutDocument` operation to index documents from an Amazon S3
1944
- # bucket.
2183
+ # An Identity and Access Management(IAM) role that gives Amazon Kendra
2184
+ # permissions to access your Amazon CloudWatch logs and metrics. This
2185
+ # is also the role used when you use the `BatchPutDocument` operation
2186
+ # to index documents from an Amazon S3 bucket.
1945
2187
  # @return [String]
1946
2188
  #
1947
2189
  # @!attribute [rw] server_side_encryption_configuration
1948
- # The identifier of the AWS KMS customer managed key (CMK) to use to
2190
+ # The identifier of the KMScustomer managed key (CMK) to use to
1949
2191
  # encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't
1950
2192
  # support asymmetric CMKs.
1951
2193
  # @return [Types::ServerSideEncryptionConfiguration]
@@ -2225,7 +2467,7 @@ module Aws::Kendra
2225
2467
  # },
2226
2468
  # },
2227
2469
  # share_point_configuration: {
2228
- # share_point_version: "SHAREPOINT_ONLINE", # required, accepts SHAREPOINT_ONLINE
2470
+ # share_point_version: "SHAREPOINT_2013", # required, accepts SHAREPOINT_2013, SHAREPOINT_2016, SHAREPOINT_ONLINE
2229
2471
  # urls: ["Url"], # required
2230
2472
  # secret_arn: "SecretArn", # required
2231
2473
  # crawl_attachments: false,
@@ -2245,6 +2487,10 @@ module Aws::Kendra
2245
2487
  # ],
2246
2488
  # document_title_field_name: "DataSourceFieldName",
2247
2489
  # disable_local_groups: false,
2490
+ # ssl_certificate_s3_path: {
2491
+ # bucket: "S3BucketName", # required
2492
+ # key: "S3ObjectKey", # required
2493
+ # },
2248
2494
  # },
2249
2495
  # database_configuration: {
2250
2496
  # database_engine_type: "RDS_AURORA_MYSQL", # required, accepts RDS_AURORA_MYSQL, RDS_AURORA_POSTGRESQL, RDS_MYSQL, RDS_POSTGRESQL
@@ -2473,6 +2719,37 @@ module Aws::Kendra
2473
2719
  # exclude_user_accounts: ["UserAccount"],
2474
2720
  # exclude_shared_drives: ["SharedDriveId"],
2475
2721
  # },
2722
+ # web_crawler_configuration: {
2723
+ # urls: { # required
2724
+ # seed_url_configuration: {
2725
+ # seed_urls: ["SeedUrl"], # required
2726
+ # web_crawler_mode: "HOST_ONLY", # accepts HOST_ONLY, SUBDOMAINS, EVERYTHING
2727
+ # },
2728
+ # site_maps_configuration: {
2729
+ # site_maps: ["SiteMap"], # required
2730
+ # },
2731
+ # },
2732
+ # crawl_depth: 1,
2733
+ # max_links_per_page: 1,
2734
+ # max_content_size_per_page_in_mega_bytes: 1.0,
2735
+ # max_urls_per_minute_crawl_rate: 1,
2736
+ # url_inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
2737
+ # url_exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
2738
+ # proxy_configuration: {
2739
+ # host: "Host", # required
2740
+ # port: 1, # required
2741
+ # credentials: "SecretArn",
2742
+ # },
2743
+ # authentication_configuration: {
2744
+ # basic_authentication: [
2745
+ # {
2746
+ # host: "Host", # required
2747
+ # port: 1, # required
2748
+ # credentials: "SecretArn", # required
2749
+ # },
2750
+ # ],
2751
+ # },
2752
+ # },
2476
2753
  # }
2477
2754
  #
2478
2755
  # @!attribute [rw] s3_configuration
@@ -2515,6 +2792,11 @@ module Aws::Kendra
2515
2792
  # Drive.
2516
2793
  # @return [Types::GoogleDriveConfiguration]
2517
2794
  #
2795
+ # @!attribute [rw] web_crawler_configuration
2796
+ # Provides the configuration information required for Amazon Kendra
2797
+ # web crawler.
2798
+ # @return [Types::WebCrawlerConfiguration]
2799
+ #
2518
2800
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DataSourceConfiguration AWS API Documentation
2519
2801
  #
2520
2802
  class DataSourceConfiguration < Struct.new(
@@ -2525,7 +2807,39 @@ module Aws::Kendra
2525
2807
  :one_drive_configuration,
2526
2808
  :service_now_configuration,
2527
2809
  :confluence_configuration,
2528
- :google_drive_configuration)
2810
+ :google_drive_configuration,
2811
+ :web_crawler_configuration)
2812
+ SENSITIVE = []
2813
+ include Aws::Structure
2814
+ end
2815
+
2816
+ # Data source information for user context filtering.
2817
+ #
2818
+ # @note When making an API call, you may pass DataSourceGroup
2819
+ # data as a hash:
2820
+ #
2821
+ # {
2822
+ # group_id: "PrincipalName", # required
2823
+ # data_source_id: "DataSourceId", # required
2824
+ # }
2825
+ #
2826
+ # @!attribute [rw] group_id
2827
+ # The identifier of the group you want to add to your list of groups.
2828
+ # This is for filtering search results based on the groups' access to
2829
+ # documents.
2830
+ # @return [String]
2831
+ #
2832
+ # @!attribute [rw] data_source_id
2833
+ # The identifier of the data source group you want to add to your list
2834
+ # of data source groups. This is for filtering search results based on
2835
+ # the groups' access to documents in that data source.
2836
+ # @return [String]
2837
+ #
2838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DataSourceGroup AWS API Documentation
2839
+ #
2840
+ class DataSourceGroup < Struct.new(
2841
+ :group_id,
2842
+ :data_source_id)
2529
2843
  SENSITIVE = []
2530
2844
  include Aws::Structure
2531
2845
  end
@@ -2921,6 +3235,68 @@ module Aws::Kendra
2921
3235
  include Aws::Structure
2922
3236
  end
2923
3237
 
3238
+ # @note When making an API call, you may pass DeletePrincipalMappingRequest
3239
+ # data as a hash:
3240
+ #
3241
+ # {
3242
+ # index_id: "IndexId", # required
3243
+ # data_source_id: "DataSourceId",
3244
+ # group_id: "GroupId", # required
3245
+ # ordering_id: 1,
3246
+ # }
3247
+ #
3248
+ # @!attribute [rw] index_id
3249
+ # The identifier of the index you want to delete a group from.
3250
+ # @return [String]
3251
+ #
3252
+ # @!attribute [rw] data_source_id
3253
+ # The identifier of the data source you want to delete a group from.
3254
+ #
3255
+ # This is useful if a group is tied to multiple data sources and you
3256
+ # want to delete a group from accessing documents in a certain data
3257
+ # source. For example, the groups "Research", "Engineering", and
3258
+ # "Sales and Marketing" are all tied to the company's documents
3259
+ # stored in the data sources Confluence and Salesforce. You want to
3260
+ # delete "Research" and "Engineering" groups from Salesforce, so
3261
+ # that these groups cannot access customer-related documents stored in
3262
+ # Salesforce. Only "Sales and Marketing" should access documents in
3263
+ # the Salesforce data source.
3264
+ # @return [String]
3265
+ #
3266
+ # @!attribute [rw] group_id
3267
+ # The identifier of the group you want to delete.
3268
+ # @return [String]
3269
+ #
3270
+ # @!attribute [rw] ordering_id
3271
+ # The timestamp identifier you specify to ensure Amazon Kendra does
3272
+ # not override the latest `DELETE` action with previous actions. The
3273
+ # highest number ID, which is the ordering ID, is the latest action
3274
+ # you want to process and apply on top of other actions with lower
3275
+ # number IDs. This prevents previous actions with lower number IDs
3276
+ # from possibly overriding the latest action.
3277
+ #
3278
+ # The ordering ID can be the UNIX time of the last update you made to
3279
+ # a group members list. You would then provide this list when calling
3280
+ # `PutPrincipalMapping`. This ensures your `DELETE` action for that
3281
+ # updated group with the latest members list doesn't get overwritten
3282
+ # by earlier `DELETE` actions for the same group which are yet to be
3283
+ # processed.
3284
+ #
3285
+ # The default ordering ID is the current UNIX time in milliseconds
3286
+ # that the action was received by Amazon Kendra.
3287
+ # @return [Integer]
3288
+ #
3289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeletePrincipalMappingRequest AWS API Documentation
3290
+ #
3291
+ class DeletePrincipalMappingRequest < Struct.new(
3292
+ :index_id,
3293
+ :data_source_id,
3294
+ :group_id,
3295
+ :ordering_id)
3296
+ SENSITIVE = []
3297
+ include Aws::Structure
3298
+ end
3299
+
2924
3300
  # @note When making an API call, you may pass DeleteQuerySuggestionsBlockListRequest
2925
3301
  # data as a hash:
2926
3302
  #
@@ -3199,8 +3575,8 @@ module Aws::Kendra
3199
3575
  # @return [String]
3200
3576
  #
3201
3577
  # @!attribute [rw] server_side_encryption_configuration
3202
- # The identifier of the AWS KMS customer master key (CMK) used to
3203
- # encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.
3578
+ # The identifier of the KMScustomer master key (CMK) used to encrypt
3579
+ # your data. Amazon Kendra doesn't support asymmetric CMKs.
3204
3580
  # @return [Types::ServerSideEncryptionConfiguration]
3205
3581
  #
3206
3582
  # @!attribute [rw] status
@@ -3274,6 +3650,86 @@ module Aws::Kendra
3274
3650
  include Aws::Structure
3275
3651
  end
3276
3652
 
3653
+ # @note When making an API call, you may pass DescribePrincipalMappingRequest
3654
+ # data as a hash:
3655
+ #
3656
+ # {
3657
+ # index_id: "IndexId", # required
3658
+ # data_source_id: "DataSourceId",
3659
+ # group_id: "GroupId", # required
3660
+ # }
3661
+ #
3662
+ # @!attribute [rw] index_id
3663
+ # The identifier of the index required to check the processing of
3664
+ # `PUT` and `DELETE` actions for mapping users to their groups.
3665
+ # @return [String]
3666
+ #
3667
+ # @!attribute [rw] data_source_id
3668
+ # The identifier of the data source to check the processing of `PUT`
3669
+ # and `DELETE` actions for mapping users to their groups.
3670
+ # @return [String]
3671
+ #
3672
+ # @!attribute [rw] group_id
3673
+ # The identifier of the group required to check the processing of
3674
+ # `PUT` and `DELETE` actions for mapping users to their groups.
3675
+ # @return [String]
3676
+ #
3677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribePrincipalMappingRequest AWS API Documentation
3678
+ #
3679
+ class DescribePrincipalMappingRequest < Struct.new(
3680
+ :index_id,
3681
+ :data_source_id,
3682
+ :group_id)
3683
+ SENSITIVE = []
3684
+ include Aws::Structure
3685
+ end
3686
+
3687
+ # @!attribute [rw] index_id
3688
+ # Shows the identifier of the index to see information on the
3689
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3690
+ # groups.
3691
+ # @return [String]
3692
+ #
3693
+ # @!attribute [rw] data_source_id
3694
+ # Shows the identifier of the data source to see information on the
3695
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3696
+ # groups.
3697
+ # @return [String]
3698
+ #
3699
+ # @!attribute [rw] group_id
3700
+ # Shows the identifier of the group to see information on the
3701
+ # processing of `PUT` and `DELETE` actions for mapping users to their
3702
+ # groups.
3703
+ # @return [String]
3704
+ #
3705
+ # @!attribute [rw] group_ordering_id_summaries
3706
+ # Shows the following information on the processing of `PUT` and
3707
+ # `DELETE` actions for mapping users to their groups:
3708
+ #
3709
+ # * Status – the status can be either `PROCESSING`, `SUCCEEDED`,
3710
+ # `DELETING`, `DELETED`, or `FAILED`.
3711
+ #
3712
+ # * Last updated – the last date-time an action was updated.
3713
+ #
3714
+ # * Received – the last date-time an action was received or submitted.
3715
+ #
3716
+ # * Ordering ID – the latest action that should process and apply
3717
+ # after other actions.
3718
+ #
3719
+ # * Failure reason – the reason an action could not be processed.
3720
+ # @return [Array<Types::GroupOrderingIdSummary>]
3721
+ #
3722
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribePrincipalMappingResponse AWS API Documentation
3723
+ #
3724
+ class DescribePrincipalMappingResponse < Struct.new(
3725
+ :index_id,
3726
+ :data_source_id,
3727
+ :group_id,
3728
+ :group_ordering_id_summaries)
3729
+ SENSITIVE = []
3730
+ include Aws::Structure
3731
+ end
3732
+
3277
3733
  # @note When making an API call, you may pass DescribeQuerySuggestionsBlockListRequest
3278
3734
  # data as a hash:
3279
3735
  #
@@ -3624,6 +4080,19 @@ module Aws::Kendra
3624
4080
  # name: "PrincipalName", # required
3625
4081
  # type: "USER", # required, accepts USER, GROUP
3626
4082
  # access: "ALLOW", # required, accepts ALLOW, DENY
4083
+ # data_source_id: "DataSourceId",
4084
+ # },
4085
+ # ],
4086
+ # hierarchical_access_control_list: [
4087
+ # {
4088
+ # principal_list: [ # required
4089
+ # {
4090
+ # name: "PrincipalName", # required
4091
+ # type: "USER", # required, accepts USER, GROUP
4092
+ # access: "ALLOW", # required, accepts ALLOW, DENY
4093
+ # data_source_id: "DataSourceId",
4094
+ # },
4095
+ # ],
3627
4096
  # },
3628
4097
  # ],
3629
4098
  # content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
@@ -3642,9 +4111,9 @@ module Aws::Kendra
3642
4111
  #
3643
4112
  # Documents passed to the `Blob` parameter must be base64 encoded.
3644
4113
  # Your code might not need to encode the document file bytes if
3645
- # you're using an AWS SDK to call Amazon Kendra operations. If you
3646
- # are calling the Amazon Kendra endpoint directly using REST, you must
3647
- # base64 encode the contents before sending.
4114
+ # you're using an Amazon Web Services SDK to call Amazon Kendra
4115
+ # operations. If you are calling the Amazon Kendra endpoint directly
4116
+ # using REST, you must base64 encode the contents before sending.
3648
4117
  # @return [String]
3649
4118
  #
3650
4119
  # @!attribute [rw] s3_path
@@ -3659,9 +4128,19 @@ module Aws::Kendra
3659
4128
  # @return [Array<Types::DocumentAttribute>]
3660
4129
  #
3661
4130
  # @!attribute [rw] access_control_list
3662
- # Information to use for user context filtering.
4131
+ # Information on user and group access rights, which is used for user
4132
+ # context filtering.
3663
4133
  # @return [Array<Types::Principal>]
3664
4134
  #
4135
+ # @!attribute [rw] hierarchical_access_control_list
4136
+ # The list of [principal][1] lists that define the hierarchy for which
4137
+ # documents users should have access to.
4138
+ #
4139
+ #
4140
+ #
4141
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html
4142
+ # @return [Array<Types::HierarchicalPrincipal>]
4143
+ #
3665
4144
  # @!attribute [rw] content_type
3666
4145
  # The file type of the document in the `Blob` field.
3667
4146
  # @return [String]
@@ -3675,6 +4154,7 @@ module Aws::Kendra
3675
4154
  :s3_path,
3676
4155
  :attributes,
3677
4156
  :access_control_list,
4157
+ :hierarchical_access_control_list,
3678
4158
  :content_type)
3679
4159
  SENSITIVE = []
3680
4160
  include Aws::Structure
@@ -3739,6 +4219,11 @@ module Aws::Kendra
3739
4219
  #
3740
4220
  # @!attribute [rw] date_value
3741
4221
  # A date expressed as an ISO 8601 string.
4222
+ #
4223
+ # It is important for the time zone to be included in the ISO 8601
4224
+ # date-time format. For example, 20120325T123010+01:00 is the ISO 8601
4225
+ # date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in
4226
+ # Central European Time.
3742
4227
  # @return [Time]
3743
4228
  #
3744
4229
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DocumentAttributeValue AWS API Documentation
@@ -3773,32 +4258,87 @@ module Aws::Kendra
3773
4258
  include Aws::Structure
3774
4259
  end
3775
4260
 
3776
- # Specifies the properties of a custom index field.
4261
+ # Identifies a document for which to retrieve status information
3777
4262
  #
3778
- # @note When making an API call, you may pass DocumentMetadataConfiguration
4263
+ # @note When making an API call, you may pass DocumentInfo
3779
4264
  # data as a hash:
3780
4265
  #
3781
4266
  # {
3782
- # name: "DocumentMetadataConfigurationName", # required
3783
- # type: "STRING_VALUE", # required, accepts STRING_VALUE, STRING_LIST_VALUE, LONG_VALUE, DATE_VALUE
3784
- # relevance: {
3785
- # freshness: false,
3786
- # importance: 1,
3787
- # duration: "Duration",
3788
- # rank_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3789
- # value_importance_map: {
3790
- # "ValueImportanceMapKey" => 1,
4267
+ # document_id: "DocumentId", # required
4268
+ # attributes: [
4269
+ # {
4270
+ # key: "DocumentAttributeKey", # required
4271
+ # value: { # required
4272
+ # string_value: "DocumentAttributeStringValue",
4273
+ # string_list_value: ["String"],
4274
+ # long_value: 1,
4275
+ # date_value: Time.now,
4276
+ # },
3791
4277
  # },
3792
- # },
3793
- # search: {
3794
- # facetable: false,
3795
- # searchable: false,
3796
- # displayable: false,
3797
- # sortable: false,
3798
- # },
4278
+ # ],
3799
4279
  # }
3800
4280
  #
3801
- # @!attribute [rw] name
4281
+ # @!attribute [rw] document_id
4282
+ # The unique identifier of the document.
4283
+ # @return [String]
4284
+ #
4285
+ # @!attribute [rw] attributes
4286
+ # Attributes that identify a specific version of a document to check.
4287
+ #
4288
+ # The only valid attributes are:
4289
+ #
4290
+ # * version
4291
+ #
4292
+ # * datasourceId
4293
+ #
4294
+ # * jobExecutionId
4295
+ #
4296
+ # The attributes follow these rules:
4297
+ #
4298
+ # * `dataSourceId` and `jobExecutionId` must be used together.
4299
+ #
4300
+ # * `version` is ignored if `dataSourceId` and `jobExecutionId` are
4301
+ # not provided.
4302
+ #
4303
+ # * If `dataSourceId` and `jobExecutionId` are provided, but `version`
4304
+ # is not, the version defaults to "0".
4305
+ # @return [Array<Types::DocumentAttribute>]
4306
+ #
4307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DocumentInfo AWS API Documentation
4308
+ #
4309
+ class DocumentInfo < Struct.new(
4310
+ :document_id,
4311
+ :attributes)
4312
+ SENSITIVE = []
4313
+ include Aws::Structure
4314
+ end
4315
+
4316
+ # Specifies the properties of a custom index field.
4317
+ #
4318
+ # @note When making an API call, you may pass DocumentMetadataConfiguration
4319
+ # data as a hash:
4320
+ #
4321
+ # {
4322
+ # name: "DocumentMetadataConfigurationName", # required
4323
+ # type: "STRING_VALUE", # required, accepts STRING_VALUE, STRING_LIST_VALUE, LONG_VALUE, DATE_VALUE
4324
+ # relevance: {
4325
+ # freshness: false,
4326
+ # importance: 1,
4327
+ # duration: "Duration",
4328
+ # rank_order: "ASCENDING", # accepts ASCENDING, DESCENDING
4329
+ # value_importance_map: {
4330
+ # "ValueImportanceMapKey" => 1,
4331
+ # },
4332
+ # },
4333
+ # search: {
4334
+ # facetable: false,
4335
+ # searchable: false,
4336
+ # displayable: false,
4337
+ # sortable: false,
4338
+ # },
4339
+ # }
4340
+ #
4341
+ # @!attribute [rw] name
3802
4342
  # The name of the index field.
3803
4343
  # @return [String]
3804
4344
  #
@@ -3878,9 +4418,10 @@ module Aws::Kendra
3878
4418
  # }
3879
4419
  #
3880
4420
  # @!attribute [rw] s3_prefix
3881
- # A prefix used to filter metadata configuration files in the AWS S3
3882
- # bucket. The S3 bucket might contain multiple metadata files. Use
3883
- # `S3Prefix` to include only the desired metadata files.
4421
+ # A prefix used to filter metadata configuration files in the Amazon
4422
+ # Web Services S3 bucket. The S3 bucket might contain multiple
4423
+ # metadata files. Use `S3Prefix` to include only the desired metadata
4424
+ # files.
3884
4425
  # @return [String]
3885
4426
  #
3886
4427
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DocumentsMetadataConfiguration AWS API Documentation
@@ -4078,7 +4619,7 @@ module Aws::Kendra
4078
4619
  # }
4079
4620
  #
4080
4621
  # @!attribute [rw] secret_arn
4081
- # The Amazon Resource Name (ARN) of a AWS Secrets Manager secret that
4622
+ # The Amazon Resource Name (ARN) of a Secrets Managersecret that
4082
4623
  # contains the credentials required to connect to Google Drive. For
4083
4624
  # more information, see [Using a Google Workspace Drive data
4084
4625
  # source][1].
@@ -4152,6 +4693,157 @@ module Aws::Kendra
4152
4693
  include Aws::Structure
4153
4694
  end
4154
4695
 
4696
+ # A list of users or sub groups that belong to a group. Users and groups
4697
+ # are useful for filtering search results to different users based on
4698
+ # their group's access to documents.
4699
+ #
4700
+ # @note When making an API call, you may pass GroupMembers
4701
+ # data as a hash:
4702
+ #
4703
+ # {
4704
+ # member_groups: [
4705
+ # {
4706
+ # group_id: "GroupId", # required
4707
+ # data_source_id: "DataSourceId",
4708
+ # },
4709
+ # ],
4710
+ # member_users: [
4711
+ # {
4712
+ # user_id: "UserId", # required
4713
+ # },
4714
+ # ],
4715
+ # s3_pathfor_group_members: {
4716
+ # bucket: "S3BucketName", # required
4717
+ # key: "S3ObjectKey", # required
4718
+ # },
4719
+ # }
4720
+ #
4721
+ # @!attribute [rw] member_groups
4722
+ # A list of sub groups that belong to a group. For example, the sub
4723
+ # groups "Research", "Engineering", and "Sales and Marketing"
4724
+ # all belong to the group "Company".
4725
+ # @return [Array<Types::MemberGroup>]
4726
+ #
4727
+ # @!attribute [rw] member_users
4728
+ # A list of users that belong to a group. For example, a list of
4729
+ # interns all belong to the "Interns" group.
4730
+ # @return [Array<Types::MemberUser>]
4731
+ #
4732
+ # @!attribute [rw] s3_pathfor_group_members
4733
+ # If you have more than 1000 users and/or sub groups for a single
4734
+ # group, you need to provide the path to the S3 file that lists your
4735
+ # users and sub groups for a group. Your sub groups can contain more
4736
+ # than 1000 users, but the list of sub groups that belong to a group
4737
+ # (and/or users) must be no more than 1000.
4738
+ # @return [Types::S3Path]
4739
+ #
4740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupMembers AWS API Documentation
4741
+ #
4742
+ class GroupMembers < Struct.new(
4743
+ :member_groups,
4744
+ :member_users,
4745
+ :s3_pathfor_group_members)
4746
+ SENSITIVE = []
4747
+ include Aws::Structure
4748
+ end
4749
+
4750
+ # Information on the processing of `PUT` and `DELETE` actions for
4751
+ # mapping users to their groups.
4752
+ #
4753
+ # @!attribute [rw] status
4754
+ # The current processing status of actions for mapping users to their
4755
+ # groups. The status can be either `PROCESSING`, `SUCCEEDED`,
4756
+ # `DELETING`, `DELETED`, or `FAILED`.
4757
+ # @return [String]
4758
+ #
4759
+ # @!attribute [rw] last_updated_at
4760
+ # The last date-time an action was updated. An action can be a `PUT`
4761
+ # or `DELETE` action for mapping users to their groups.
4762
+ # @return [Time]
4763
+ #
4764
+ # @!attribute [rw] received_at
4765
+ # The date-time an action was received by Amazon Kendra. An action can
4766
+ # be a `PUT` or `DELETE` action for mapping users to their groups.
4767
+ # @return [Time]
4768
+ #
4769
+ # @!attribute [rw] ordering_id
4770
+ # The order in which actions should complete processing. An action can
4771
+ # be a `PUT` or `DELETE` action for mapping users to their groups.
4772
+ # @return [Integer]
4773
+ #
4774
+ # @!attribute [rw] failure_reason
4775
+ # The reason an action could not be processed. An action can be a
4776
+ # `PUT` or `DELETE` action for mapping users to their groups.
4777
+ # @return [String]
4778
+ #
4779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupOrderingIdSummary AWS API Documentation
4780
+ #
4781
+ class GroupOrderingIdSummary < Struct.new(
4782
+ :status,
4783
+ :last_updated_at,
4784
+ :received_at,
4785
+ :ordering_id,
4786
+ :failure_reason)
4787
+ SENSITIVE = []
4788
+ include Aws::Structure
4789
+ end
4790
+
4791
+ # Group summary information.
4792
+ #
4793
+ # @!attribute [rw] group_id
4794
+ # The identifier of the group you want group summary information on.
4795
+ # @return [String]
4796
+ #
4797
+ # @!attribute [rw] ordering_id
4798
+ # The timestamp identifier used for the latest `PUT` or `DELETE`
4799
+ # action.
4800
+ # @return [Integer]
4801
+ #
4802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GroupSummary AWS API Documentation
4803
+ #
4804
+ class GroupSummary < Struct.new(
4805
+ :group_id,
4806
+ :ordering_id)
4807
+ SENSITIVE = []
4808
+ include Aws::Structure
4809
+ end
4810
+
4811
+ # Information to define the hierarchy for which documents users should
4812
+ # have access to.
4813
+ #
4814
+ # @note When making an API call, you may pass HierarchicalPrincipal
4815
+ # data as a hash:
4816
+ #
4817
+ # {
4818
+ # principal_list: [ # required
4819
+ # {
4820
+ # name: "PrincipalName", # required
4821
+ # type: "USER", # required, accepts USER, GROUP
4822
+ # access: "ALLOW", # required, accepts ALLOW, DENY
4823
+ # data_source_id: "DataSourceId",
4824
+ # },
4825
+ # ],
4826
+ # }
4827
+ #
4828
+ # @!attribute [rw] principal_list
4829
+ # A list of [principal][1] lists that define the hierarchy for which
4830
+ # documents users should have access to. Each hierarchical list
4831
+ # specifies which user or group has allow or deny access for each
4832
+ # document.
4833
+ #
4834
+ #
4835
+ #
4836
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html
4837
+ # @return [Array<Types::Principal>]
4838
+ #
4839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/HierarchicalPrincipal AWS API Documentation
4840
+ #
4841
+ class HierarchicalPrincipal < Struct.new(
4842
+ :principal_list)
4843
+ SENSITIVE = []
4844
+ include Aws::Structure
4845
+ end
4846
+
4155
4847
  # Provides information that you can use to highlight a search result so
4156
4848
  # that your users can quickly identify terms in the response.
4157
4849
  #
@@ -4532,6 +5224,71 @@ module Aws::Kendra
4532
5224
  include Aws::Structure
4533
5225
  end
4534
5226
 
5227
+ # @note When making an API call, you may pass ListGroupsOlderThanOrderingIdRequest
5228
+ # data as a hash:
5229
+ #
5230
+ # {
5231
+ # index_id: "IndexId", # required
5232
+ # data_source_id: "DataSourceId",
5233
+ # ordering_id: 1, # required
5234
+ # next_token: "NextToken",
5235
+ # max_results: 1,
5236
+ # }
5237
+ #
5238
+ # @!attribute [rw] index_id
5239
+ # The identifier of the index for getting a list of groups mapped to
5240
+ # users before a given ordering or timestamp identifier.
5241
+ # @return [String]
5242
+ #
5243
+ # @!attribute [rw] data_source_id
5244
+ # The identifier of the data source for getting a list of groups
5245
+ # mapped to users before a given ordering timestamp identifier.
5246
+ # @return [String]
5247
+ #
5248
+ # @!attribute [rw] ordering_id
5249
+ # The timestamp identifier used for the latest `PUT` or `DELETE`
5250
+ # action for mapping users to their groups.
5251
+ # @return [Integer]
5252
+ #
5253
+ # @!attribute [rw] next_token
5254
+ # The next items in the list of groups that go beyond the maximum.
5255
+ # @return [String]
5256
+ #
5257
+ # @!attribute [rw] max_results
5258
+ # The maximum results shown for a list of groups that are mapped to
5259
+ # users before a given ordering or timestamp identifier.
5260
+ # @return [Integer]
5261
+ #
5262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListGroupsOlderThanOrderingIdRequest AWS API Documentation
5263
+ #
5264
+ class ListGroupsOlderThanOrderingIdRequest < Struct.new(
5265
+ :index_id,
5266
+ :data_source_id,
5267
+ :ordering_id,
5268
+ :next_token,
5269
+ :max_results)
5270
+ SENSITIVE = []
5271
+ include Aws::Structure
5272
+ end
5273
+
5274
+ # @!attribute [rw] groups_summaries
5275
+ # Summary information for list of groups that are mapped to users
5276
+ # before a given ordering or timestamp identifier.
5277
+ # @return [Array<Types::GroupSummary>]
5278
+ #
5279
+ # @!attribute [rw] next_token
5280
+ # The next items in the list of groups that go beyond the maximum.
5281
+ # @return [String]
5282
+ #
5283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListGroupsOlderThanOrderingIdResponse AWS API Documentation
5284
+ #
5285
+ class ListGroupsOlderThanOrderingIdResponse < Struct.new(
5286
+ :groups_summaries,
5287
+ :next_token)
5288
+ SENSITIVE = []
5289
+ include Aws::Structure
5290
+ end
5291
+
4535
5292
  # @note When making an API call, you may pass ListIndicesRequest
4536
5293
  # data as a hash:
4537
5294
  #
@@ -4736,6 +5493,55 @@ module Aws::Kendra
4736
5493
  include Aws::Structure
4737
5494
  end
4738
5495
 
5496
+ # The sub groups that belong to a group.
5497
+ #
5498
+ # @note When making an API call, you may pass MemberGroup
5499
+ # data as a hash:
5500
+ #
5501
+ # {
5502
+ # group_id: "GroupId", # required
5503
+ # data_source_id: "DataSourceId",
5504
+ # }
5505
+ #
5506
+ # @!attribute [rw] group_id
5507
+ # The identifier of the sub group you want to map to a group.
5508
+ # @return [String]
5509
+ #
5510
+ # @!attribute [rw] data_source_id
5511
+ # The identifier of the data source for the sub group you want to map
5512
+ # to a group.
5513
+ # @return [String]
5514
+ #
5515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/MemberGroup AWS API Documentation
5516
+ #
5517
+ class MemberGroup < Struct.new(
5518
+ :group_id,
5519
+ :data_source_id)
5520
+ SENSITIVE = []
5521
+ include Aws::Structure
5522
+ end
5523
+
5524
+ # The users that belong to a group.
5525
+ #
5526
+ # @note When making an API call, you may pass MemberUser
5527
+ # data as a hash:
5528
+ #
5529
+ # {
5530
+ # user_id: "UserId", # required
5531
+ # }
5532
+ #
5533
+ # @!attribute [rw] user_id
5534
+ # The identifier of the user you want to map to a group.
5535
+ # @return [String]
5536
+ #
5537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/MemberUser AWS API Documentation
5538
+ #
5539
+ class MemberUser < Struct.new(
5540
+ :user_id)
5541
+ SENSITIVE = []
5542
+ include Aws::Structure
5543
+ end
5544
+
4739
5545
  # Provides configuration information for data sources that connect to
4740
5546
  # OneDrive.
4741
5547
  #
@@ -4769,7 +5575,7 @@ module Aws::Kendra
4769
5575
  # @return [String]
4770
5576
  #
4771
5577
  # @!attribute [rw] secret_arn
4772
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
5578
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
4773
5579
  # contains the user name and password to connect to OneDrive. The user
4774
5580
  # namd should be the application ID for the OneDrive application, and
4775
5581
  # the password is the application key for the OneDrive application.
@@ -4867,6 +5673,7 @@ module Aws::Kendra
4867
5673
  # name: "PrincipalName", # required
4868
5674
  # type: "USER", # required, accepts USER, GROUP
4869
5675
  # access: "ALLOW", # required, accepts ALLOW, DENY
5676
+ # data_source_id: "DataSourceId",
4870
5677
  # }
4871
5678
  #
4872
5679
  # @!attribute [rw] name
@@ -4881,12 +5688,177 @@ module Aws::Kendra
4881
5688
  # Whether to allow or deny access to the principal.
4882
5689
  # @return [String]
4883
5690
  #
5691
+ # @!attribute [rw] data_source_id
5692
+ # The identifier of the data source the principal should access
5693
+ # documents from.
5694
+ # @return [String]
5695
+ #
4884
5696
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Principal AWS API Documentation
4885
5697
  #
4886
5698
  class Principal < Struct.new(
4887
5699
  :name,
4888
5700
  :type,
4889
- :access)
5701
+ :access,
5702
+ :data_source_id)
5703
+ SENSITIVE = []
5704
+ include Aws::Structure
5705
+ end
5706
+
5707
+ # Provides the configuration information for a web proxy to connect to
5708
+ # website hosts.
5709
+ #
5710
+ # @note When making an API call, you may pass ProxyConfiguration
5711
+ # data as a hash:
5712
+ #
5713
+ # {
5714
+ # host: "Host", # required
5715
+ # port: 1, # required
5716
+ # credentials: "SecretArn",
5717
+ # }
5718
+ #
5719
+ # @!attribute [rw] host
5720
+ # The name of the website host you want to connect to via a web proxy
5721
+ # server.
5722
+ #
5723
+ # For example, the host name of https://a.example.com/page1.html is
5724
+ # "a.example.com".
5725
+ # @return [String]
5726
+ #
5727
+ # @!attribute [rw] port
5728
+ # The port number of the website host you want to connect to via a web
5729
+ # proxy server.
5730
+ #
5731
+ # For example, the port for https://a.example.com/page1.html is 443,
5732
+ # the standard port for HTTPS.
5733
+ # @return [Integer]
5734
+ #
5735
+ # @!attribute [rw] credentials
5736
+ # Your secret ARN, which you can create in [AWS Secrets Manager][1]
5737
+ #
5738
+ # The credentials are optional. You use a secret if web proxy
5739
+ # credentials are required to connect to a website host. Amazon Kendra
5740
+ # currently support basic authentication to connect to a web proxy
5741
+ # server. The secret stores your credentials.
5742
+ #
5743
+ #
5744
+ #
5745
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html
5746
+ # @return [String]
5747
+ #
5748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ProxyConfiguration AWS API Documentation
5749
+ #
5750
+ class ProxyConfiguration < Struct.new(
5751
+ :host,
5752
+ :port,
5753
+ :credentials)
5754
+ SENSITIVE = []
5755
+ include Aws::Structure
5756
+ end
5757
+
5758
+ # @note When making an API call, you may pass PutPrincipalMappingRequest
5759
+ # data as a hash:
5760
+ #
5761
+ # {
5762
+ # index_id: "IndexId", # required
5763
+ # data_source_id: "DataSourceId",
5764
+ # group_id: "GroupId", # required
5765
+ # group_members: { # required
5766
+ # member_groups: [
5767
+ # {
5768
+ # group_id: "GroupId", # required
5769
+ # data_source_id: "DataSourceId",
5770
+ # },
5771
+ # ],
5772
+ # member_users: [
5773
+ # {
5774
+ # user_id: "UserId", # required
5775
+ # },
5776
+ # ],
5777
+ # s3_pathfor_group_members: {
5778
+ # bucket: "S3BucketName", # required
5779
+ # key: "S3ObjectKey", # required
5780
+ # },
5781
+ # },
5782
+ # ordering_id: 1,
5783
+ # role_arn: "RoleArn",
5784
+ # }
5785
+ #
5786
+ # @!attribute [rw] index_id
5787
+ # The identifier of the index you want to map users to their groups.
5788
+ # @return [String]
5789
+ #
5790
+ # @!attribute [rw] data_source_id
5791
+ # The identifier of the data source you want to map users to their
5792
+ # groups.
5793
+ #
5794
+ # This is useful if a group is tied to multiple data sources, but you
5795
+ # only want the group to access documents of a certain data source.
5796
+ # For example, the groups "Research", "Engineering", and "Sales
5797
+ # and Marketing" are all tied to the company's documents stored in
5798
+ # the data sources Confluence and Salesforce. However, "Sales and
5799
+ # Marketing" team only needs access to customer-related documents
5800
+ # stored in Salesforce.
5801
+ # @return [String]
5802
+ #
5803
+ # @!attribute [rw] group_id
5804
+ # The identifier of the group you want to map its users to.
5805
+ # @return [String]
5806
+ #
5807
+ # @!attribute [rw] group_members
5808
+ # The list that contains your users or sub groups that belong the same
5809
+ # group.
5810
+ #
5811
+ # For example, the group "Company" includes the user "CEO" and the
5812
+ # sub groups "Research", "Engineering", and "Sales and
5813
+ # Marketing".
5814
+ #
5815
+ # If you have more than 1000 users and/or sub groups for a single
5816
+ # group, you need to provide the path to the S3 file that lists your
5817
+ # users and sub groups for a group. Your sub groups can contain more
5818
+ # than 1000 users, but the list of sub groups that belong to a group
5819
+ # (and/or users) must be no more than 1000.
5820
+ # @return [Types::GroupMembers]
5821
+ #
5822
+ # @!attribute [rw] ordering_id
5823
+ # The timestamp identifier you specify to ensure Amazon Kendra does
5824
+ # not override the latest `PUT` action with previous actions. The
5825
+ # highest number ID, which is the ordering ID, is the latest action
5826
+ # you want to process and apply on top of other actions with lower
5827
+ # number IDs. This prevents previous actions with lower number IDs
5828
+ # from possibly overriding the latest action.
5829
+ #
5830
+ # The ordering ID can be the UNIX time of the last update you made to
5831
+ # a group members list. You would then provide this list when calling
5832
+ # `PutPrincipalMapping`. This ensures your `PUT` action for that
5833
+ # updated group with the latest members list doesn't get overwritten
5834
+ # by earlier `PUT` actions for the same group which are yet to be
5835
+ # processed.
5836
+ #
5837
+ # The default ordering ID is the current UNIX time in milliseconds
5838
+ # that the action was received by Amazon Kendra.
5839
+ # @return [Integer]
5840
+ #
5841
+ # @!attribute [rw] role_arn
5842
+ # The Amazon Resource Name (ARN) of a role that has access to the S3
5843
+ # file that contains your list of users or sub groups that belong to a
5844
+ # group.
5845
+ #
5846
+ # For more information, see [IAM roles for Amazon Kendra][1].
5847
+ #
5848
+ #
5849
+ #
5850
+ # [1]: https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds
5851
+ # @return [String]
5852
+ #
5853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/PutPrincipalMappingRequest AWS API Documentation
5854
+ #
5855
+ class PutPrincipalMappingRequest < Struct.new(
5856
+ :index_id,
5857
+ :data_source_id,
5858
+ :group_id,
5859
+ :group_members,
5860
+ :ordering_id,
5861
+ :role_arn)
4890
5862
  SENSITIVE = []
4891
5863
  include Aws::Structure
4892
5864
  end
@@ -5004,6 +5976,14 @@ module Aws::Kendra
5004
5976
  # },
5005
5977
  # user_context: {
5006
5978
  # token: "Token",
5979
+ # user_id: "PrincipalName",
5980
+ # groups: ["PrincipalName"],
5981
+ # data_source_groups: [
5982
+ # {
5983
+ # group_id: "PrincipalName", # required
5984
+ # data_source_id: "DataSourceId", # required
5985
+ # },
5986
+ # ],
5007
5987
  # },
5008
5988
  # visitor_id: "VisitorId",
5009
5989
  # }
@@ -5706,7 +6686,7 @@ module Aws::Kendra
5706
6686
  # @return [String]
5707
6687
  #
5708
6688
  # @!attribute [rw] secret_arn
5709
- # The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that
6689
+ # The Amazon Resource Name (ARN) of an Secrets Managersecret that
5710
6690
  # contains the key/value pairs required to connect to your Salesforce
5711
6691
  # instance. The secret must contain a JSON structure with the
5712
6692
  # following keys:
@@ -6096,9 +7076,62 @@ module Aws::Kendra
6096
7076
  include Aws::Structure
6097
7077
  end
6098
7078
 
6099
- # Provides the identifier of the AWS KMS customer master key (CMK) used
6100
- # to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't
6101
- # support asymmetric CMKs.
7079
+ # Provides the configuration information of the seed or starting point
7080
+ # URLs to crawl.
7081
+ #
7082
+ # *When selecting websites to index, you must adhere to the [Amazon
7083
+ # Acceptable Use Policy][1] and all other Amazon terms. Remember that
7084
+ # you must only use the Amazon Kendra web crawler to index your own
7085
+ # webpages, or webpages that you have authorization to index.*
7086
+ #
7087
+ #
7088
+ #
7089
+ # [1]: https://aws.amazon.com/aup/
7090
+ #
7091
+ # @note When making an API call, you may pass SeedUrlConfiguration
7092
+ # data as a hash:
7093
+ #
7094
+ # {
7095
+ # seed_urls: ["SeedUrl"], # required
7096
+ # web_crawler_mode: "HOST_ONLY", # accepts HOST_ONLY, SUBDOMAINS, EVERYTHING
7097
+ # }
7098
+ #
7099
+ # @!attribute [rw] seed_urls
7100
+ # The list of seed or starting point URLs of the websites you want to
7101
+ # crawl.
7102
+ #
7103
+ # The list can include a maximum of 100 seed URLs.
7104
+ # @return [Array<String>]
7105
+ #
7106
+ # @!attribute [rw] web_crawler_mode
7107
+ # You can choose one of the following modes:
7108
+ #
7109
+ # * `HOST_ONLY` – crawl only the website host names. For example, if
7110
+ # the seed URL is "abc.example.com", then only URLs with host name
7111
+ # "abc.example.com" are crawled.
7112
+ #
7113
+ # * `SUBDOMAINS` – crawl the website host names with subdomains. For
7114
+ # example, if the seed URL is "abc.example.com", then
7115
+ # "a.abc.example.com" and "b.abc.example.com" are also crawled.
7116
+ #
7117
+ # * `EVERYTHING` – crawl the website host names with subdomains and
7118
+ # other domains that the webpages link to.
7119
+ #
7120
+ # The default mode is set to `HOST_ONLY`.
7121
+ # @return [String]
7122
+ #
7123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/SeedUrlConfiguration AWS API Documentation
7124
+ #
7125
+ class SeedUrlConfiguration < Struct.new(
7126
+ :seed_urls,
7127
+ :web_crawler_mode)
7128
+ SENSITIVE = []
7129
+ include Aws::Structure
7130
+ end
7131
+
7132
+ # Provides the identifier of the KMScustomer master key (CMK) used to
7133
+ # encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support
7134
+ # asymmetric CMKs.
6102
7135
  #
6103
7136
  # @note When making an API call, you may pass ServerSideEncryptionConfiguration
6104
7137
  # data as a hash:
@@ -6108,8 +7141,8 @@ module Aws::Kendra
6108
7141
  # }
6109
7142
  #
6110
7143
  # @!attribute [rw] kms_key_id
6111
- # The identifier of the AWS KMS customer master key (CMK). Amazon
6112
- # Kendra doesn't support asymmetric CMKs.
7144
+ # The identifier of the KMScustomer master key (CMK). Amazon Kendra
7145
+ # doesn't support asymmetric CMKs.
6113
7146
  # @return [String]
6114
7147
  #
6115
7148
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ServerSideEncryptionConfiguration AWS API Documentation
@@ -6169,7 +7202,7 @@ module Aws::Kendra
6169
7202
  # @return [String]
6170
7203
  #
6171
7204
  # @!attribute [rw] secret_arn
6172
- # The Amazon Resource Name (ARN) of the AWS Secret Manager secret that
7205
+ # The Amazon Resource Name (ARN) of the Secrets Manager secret that
6173
7206
  # contains the user name and password required to connect to the
6174
7207
  # ServiceNow instance.
6175
7208
  # @return [String]
@@ -6395,7 +7428,7 @@ module Aws::Kendra
6395
7428
  # data as a hash:
6396
7429
  #
6397
7430
  # {
6398
- # share_point_version: "SHAREPOINT_ONLINE", # required, accepts SHAREPOINT_ONLINE
7431
+ # share_point_version: "SHAREPOINT_2013", # required, accepts SHAREPOINT_2013, SHAREPOINT_2016, SHAREPOINT_ONLINE
6399
7432
  # urls: ["Url"], # required
6400
7433
  # secret_arn: "SecretArn", # required
6401
7434
  # crawl_attachments: false,
@@ -6415,6 +7448,10 @@ module Aws::Kendra
6415
7448
  # ],
6416
7449
  # document_title_field_name: "DataSourceFieldName",
6417
7450
  # disable_local_groups: false,
7451
+ # ssl_certificate_s3_path: {
7452
+ # bucket: "S3BucketName", # required
7453
+ # key: "S3ObjectKey", # required
7454
+ # },
6418
7455
  # }
6419
7456
  #
6420
7457
  # @!attribute [rw] share_point_version
@@ -6429,10 +7466,12 @@ module Aws::Kendra
6429
7466
  #
6430
7467
  # @!attribute [rw] secret_arn
6431
7468
  # The Amazon Resource Name (ARN) of credentials stored in AWS Secrets
6432
- # Manager. The credentials should be a user/password pair. For more
6433
- # information, see [Using a Microsoft SharePoint Data Source][1]. For
6434
- # more information about AWS Secrets Manager, see [ What Is AWS
6435
- # Secrets Manager ][2] in the *AWS Secrets Manager* user guide.
7469
+ # Manager. The credentials should be a user/password pair. If you use
7470
+ # SharePoint Sever, you also need to provide the sever domain name as
7471
+ # part of the credentials. For more information, see [Using a
7472
+ # Microsoft SharePoint Data Source][1]. For more information about AWS
7473
+ # Secrets Manager, see [ What Is AWS Secrets Manager ][2] in the
7474
+ # <i>Secrets Manager </i> user guide.
6436
7475
  #
6437
7476
  #
6438
7477
  #
@@ -6500,6 +7539,10 @@ module Aws::Kendra
6500
7539
  # (`True`) or enabled (`False`).
6501
7540
  # @return [Boolean]
6502
7541
  #
7542
+ # @!attribute [rw] ssl_certificate_s3_path
7543
+ # Information required to find a specific file in an Amazon S3 bucket.
7544
+ # @return [Types::S3Path]
7545
+ #
6503
7546
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/SharePointConfiguration AWS API Documentation
6504
7547
  #
6505
7548
  class SharePointConfiguration < Struct.new(
@@ -6513,7 +7556,40 @@ module Aws::Kendra
6513
7556
  :vpc_configuration,
6514
7557
  :field_mappings,
6515
7558
  :document_title_field_name,
6516
- :disable_local_groups)
7559
+ :disable_local_groups,
7560
+ :ssl_certificate_s3_path)
7561
+ SENSITIVE = []
7562
+ include Aws::Structure
7563
+ end
7564
+
7565
+ # Provides the configuration information of the sitemap URLs to crawl.
7566
+ #
7567
+ # *When selecting websites to index, you must adhere to the [Amazon
7568
+ # Acceptable Use Policy][1] and all other Amazon terms. Remember that
7569
+ # you must only use the Amazon Kendra web crawler to index your own
7570
+ # webpages, or webpages that you have authorization to index.*
7571
+ #
7572
+ #
7573
+ #
7574
+ # [1]: https://aws.amazon.com/aup/
7575
+ #
7576
+ # @note When making an API call, you may pass SiteMapsConfiguration
7577
+ # data as a hash:
7578
+ #
7579
+ # {
7580
+ # site_maps: ["SiteMap"], # required
7581
+ # }
7582
+ #
7583
+ # @!attribute [rw] site_maps
7584
+ # The list of sitemap URLs of the websites you want to crawl.
7585
+ #
7586
+ # The list can include a maximum of three sitemap URLs.
7587
+ # @return [Array<String>]
7588
+ #
7589
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/SiteMapsConfiguration AWS API Documentation
7590
+ #
7591
+ class SiteMapsConfiguration < Struct.new(
7592
+ :site_maps)
6517
7593
  SENSITIVE = []
6518
7594
  include Aws::Structure
6519
7595
  end
@@ -6649,6 +7725,41 @@ module Aws::Kendra
6649
7725
  include Aws::Structure
6650
7726
  end
6651
7727
 
7728
+ # Provides information about the status of documents submitted for
7729
+ # indexing.
7730
+ #
7731
+ # @!attribute [rw] document_id
7732
+ # The unique identifier of the document.
7733
+ # @return [String]
7734
+ #
7735
+ # @!attribute [rw] document_status
7736
+ # The current status of a document.
7737
+ #
7738
+ # If the document was submitted for deletion, the status is
7739
+ # `NOT_FOUND` after the document is deleted.
7740
+ # @return [String]
7741
+ #
7742
+ # @!attribute [rw] failure_code
7743
+ # Indicates the source of the error.
7744
+ # @return [String]
7745
+ #
7746
+ # @!attribute [rw] failure_reason
7747
+ # Provides detailed information about why the document couldn't be
7748
+ # indexed. Use this information to correct the error before you
7749
+ # resubmit the document for indexing.
7750
+ # @return [String]
7751
+ #
7752
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Status AWS API Documentation
7753
+ #
7754
+ class Status < Struct.new(
7755
+ :document_id,
7756
+ :document_status,
7757
+ :failure_code,
7758
+ :failure_reason)
7759
+ SENSITIVE = []
7760
+ include Aws::Structure
7761
+ end
7762
+
6652
7763
  # @note When making an API call, you may pass StopDataSourceSyncJobRequest
6653
7764
  # data as a hash:
6654
7765
  #
@@ -7036,7 +8147,7 @@ module Aws::Kendra
7036
8147
  # },
7037
8148
  # },
7038
8149
  # share_point_configuration: {
7039
- # share_point_version: "SHAREPOINT_ONLINE", # required, accepts SHAREPOINT_ONLINE
8150
+ # share_point_version: "SHAREPOINT_2013", # required, accepts SHAREPOINT_2013, SHAREPOINT_2016, SHAREPOINT_ONLINE
7040
8151
  # urls: ["Url"], # required
7041
8152
  # secret_arn: "SecretArn", # required
7042
8153
  # crawl_attachments: false,
@@ -7056,6 +8167,10 @@ module Aws::Kendra
7056
8167
  # ],
7057
8168
  # document_title_field_name: "DataSourceFieldName",
7058
8169
  # disable_local_groups: false,
8170
+ # ssl_certificate_s3_path: {
8171
+ # bucket: "S3BucketName", # required
8172
+ # key: "S3ObjectKey", # required
8173
+ # },
7059
8174
  # },
7060
8175
  # database_configuration: {
7061
8176
  # database_engine_type: "RDS_AURORA_MYSQL", # required, accepts RDS_AURORA_MYSQL, RDS_AURORA_POSTGRESQL, RDS_MYSQL, RDS_POSTGRESQL
@@ -7284,6 +8399,37 @@ module Aws::Kendra
7284
8399
  # exclude_user_accounts: ["UserAccount"],
7285
8400
  # exclude_shared_drives: ["SharedDriveId"],
7286
8401
  # },
8402
+ # web_crawler_configuration: {
8403
+ # urls: { # required
8404
+ # seed_url_configuration: {
8405
+ # seed_urls: ["SeedUrl"], # required
8406
+ # web_crawler_mode: "HOST_ONLY", # accepts HOST_ONLY, SUBDOMAINS, EVERYTHING
8407
+ # },
8408
+ # site_maps_configuration: {
8409
+ # site_maps: ["SiteMap"], # required
8410
+ # },
8411
+ # },
8412
+ # crawl_depth: 1,
8413
+ # max_links_per_page: 1,
8414
+ # max_content_size_per_page_in_mega_bytes: 1.0,
8415
+ # max_urls_per_minute_crawl_rate: 1,
8416
+ # url_inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
8417
+ # url_exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
8418
+ # proxy_configuration: {
8419
+ # host: "Host", # required
8420
+ # port: 1, # required
8421
+ # credentials: "SecretArn",
8422
+ # },
8423
+ # authentication_configuration: {
8424
+ # basic_authentication: [
8425
+ # {
8426
+ # host: "Host", # required
8427
+ # port: 1, # required
8428
+ # credentials: "SecretArn", # required
8429
+ # },
8430
+ # ],
8431
+ # },
8432
+ # },
7287
8433
  # },
7288
8434
  # description: "Description",
7289
8435
  # schedule: "ScanSchedule",
@@ -7646,23 +8792,114 @@ module Aws::Kendra
7646
8792
  include Aws::Structure
7647
8793
  end
7648
8794
 
8795
+ # Provides the configuration information of the URLs to crawl.
8796
+ #
8797
+ # *When selecting websites to index, you must adhere to the [Amazon
8798
+ # Acceptable Use Policy][1] and all other Amazon terms. Remember that
8799
+ # you must only use the Amazon Kendra web crawler to index your own
8800
+ # webpages, or webpages that you have authorization to index.*
8801
+ #
8802
+ #
8803
+ #
8804
+ # [1]: https://aws.amazon.com/aup/
8805
+ #
8806
+ # @note When making an API call, you may pass Urls
8807
+ # data as a hash:
8808
+ #
8809
+ # {
8810
+ # seed_url_configuration: {
8811
+ # seed_urls: ["SeedUrl"], # required
8812
+ # web_crawler_mode: "HOST_ONLY", # accepts HOST_ONLY, SUBDOMAINS, EVERYTHING
8813
+ # },
8814
+ # site_maps_configuration: {
8815
+ # site_maps: ["SiteMap"], # required
8816
+ # },
8817
+ # }
8818
+ #
8819
+ # @!attribute [rw] seed_url_configuration
8820
+ # Provides the configuration of the seed or starting point URLs of the
8821
+ # websites you want to crawl.
8822
+ #
8823
+ # You can choose to crawl only the website host names, or the website
8824
+ # host names with subdomains, or the website host names with
8825
+ # subdomains and other domains that the webpages link to.
8826
+ #
8827
+ # You can list up to 100 seed URLs.
8828
+ # @return [Types::SeedUrlConfiguration]
8829
+ #
8830
+ # @!attribute [rw] site_maps_configuration
8831
+ # Provides the configuration of the sitemap URLs of the websites you
8832
+ # want to crawl.
8833
+ #
8834
+ # Only URLs belonging to the same website host names are crawled. You
8835
+ # can list up to three sitemap URLs.
8836
+ # @return [Types::SiteMapsConfiguration]
8837
+ #
8838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Urls AWS API Documentation
8839
+ #
8840
+ class Urls < Struct.new(
8841
+ :seed_url_configuration,
8842
+ :site_maps_configuration)
8843
+ SENSITIVE = []
8844
+ include Aws::Structure
8845
+ end
8846
+
7649
8847
  # Provides information about the user context for a Amazon Kendra index.
7650
8848
  #
8849
+ # This is used for filtering search results for different users based on
8850
+ # their access to documents.
8851
+ #
8852
+ # You provide one of the following:
8853
+ #
8854
+ # * User token
8855
+ #
8856
+ # * User ID, the groups the user belongs to, and the data sources the
8857
+ # groups can access
8858
+ #
8859
+ # If you provide both, an exception is thrown.
8860
+ #
7651
8861
  # @note When making an API call, you may pass UserContext
7652
8862
  # data as a hash:
7653
8863
  #
7654
8864
  # {
7655
8865
  # token: "Token",
8866
+ # user_id: "PrincipalName",
8867
+ # groups: ["PrincipalName"],
8868
+ # data_source_groups: [
8869
+ # {
8870
+ # group_id: "PrincipalName", # required
8871
+ # data_source_id: "DataSourceId", # required
8872
+ # },
8873
+ # ],
7656
8874
  # }
7657
8875
  #
7658
8876
  # @!attribute [rw] token
7659
- # The user context token. It must be a JWT or a JSON token.
8877
+ # The user context token for filtering search results for a user. It
8878
+ # must be a JWT or a JSON token.
8879
+ # @return [String]
8880
+ #
8881
+ # @!attribute [rw] user_id
8882
+ # The identifier of the user you want to filter search results based
8883
+ # on their access to documents.
7660
8884
  # @return [String]
7661
8885
  #
8886
+ # @!attribute [rw] groups
8887
+ # The list of groups you want to filter search results based on the
8888
+ # groups' access to documents.
8889
+ # @return [Array<String>]
8890
+ #
8891
+ # @!attribute [rw] data_source_groups
8892
+ # The list of data source groups you want to filter search results
8893
+ # based on groups' access to documents in that data source.
8894
+ # @return [Array<Types::DataSourceGroup>]
8895
+ #
7662
8896
  # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UserContext AWS API Documentation
7663
8897
  #
7664
8898
  class UserContext < Struct.new(
7665
- :token)
8899
+ :token,
8900
+ :user_id,
8901
+ :groups,
8902
+ :data_source_groups)
7666
8903
  SENSITIVE = []
7667
8904
  include Aws::Structure
7668
8905
  end
@@ -7716,5 +8953,167 @@ module Aws::Kendra
7716
8953
  include Aws::Structure
7717
8954
  end
7718
8955
 
8956
+ # Provides the configuration information required for Amazon Kendra web
8957
+ # crawler.
8958
+ #
8959
+ # @note When making an API call, you may pass WebCrawlerConfiguration
8960
+ # data as a hash:
8961
+ #
8962
+ # {
8963
+ # urls: { # required
8964
+ # seed_url_configuration: {
8965
+ # seed_urls: ["SeedUrl"], # required
8966
+ # web_crawler_mode: "HOST_ONLY", # accepts HOST_ONLY, SUBDOMAINS, EVERYTHING
8967
+ # },
8968
+ # site_maps_configuration: {
8969
+ # site_maps: ["SiteMap"], # required
8970
+ # },
8971
+ # },
8972
+ # crawl_depth: 1,
8973
+ # max_links_per_page: 1,
8974
+ # max_content_size_per_page_in_mega_bytes: 1.0,
8975
+ # max_urls_per_minute_crawl_rate: 1,
8976
+ # url_inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
8977
+ # url_exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
8978
+ # proxy_configuration: {
8979
+ # host: "Host", # required
8980
+ # port: 1, # required
8981
+ # credentials: "SecretArn",
8982
+ # },
8983
+ # authentication_configuration: {
8984
+ # basic_authentication: [
8985
+ # {
8986
+ # host: "Host", # required
8987
+ # port: 1, # required
8988
+ # credentials: "SecretArn", # required
8989
+ # },
8990
+ # ],
8991
+ # },
8992
+ # }
8993
+ #
8994
+ # @!attribute [rw] urls
8995
+ # Specifies the seed or starting point URLs of the websites or the
8996
+ # sitemap URLs of the websites you want to crawl.
8997
+ #
8998
+ # You can include website subdomains. You can list up to 100 seed URLs
8999
+ # and up to three sitemap URLs.
9000
+ #
9001
+ # *When selecting websites to index, you must adhere to the [Amazon
9002
+ # Acceptable Use Policy][1] and all other Amazon terms. Remember that
9003
+ # you must only use the Amazon Kendra web crawler to index your own
9004
+ # webpages, or webpages that you have authorization to index.*
9005
+ #
9006
+ #
9007
+ #
9008
+ # [1]: https://aws.amazon.com/aup/
9009
+ # @return [Types::Urls]
9010
+ #
9011
+ # @!attribute [rw] crawl_depth
9012
+ # Specifies the number of levels in a website that you want to crawl.
9013
+ #
9014
+ # The first level begins from the website seed or starting point URL.
9015
+ # For example, if a website has 3 levels – index level (i.e. seed in
9016
+ # this example), sections level, and subsections level – and you are
9017
+ # only interested in crawling information up to the sections level
9018
+ # (i.e. levels 0-1), you can set your depth to 1.
9019
+ #
9020
+ # The default crawl depth is set to 2.
9021
+ # @return [Integer]
9022
+ #
9023
+ # @!attribute [rw] max_links_per_page
9024
+ # The maximum number of URLs on a webpage to include when crawling a
9025
+ # website. This number is per webpage.
9026
+ #
9027
+ # As a website’s webpages are crawled, any URLs the webpages link to
9028
+ # are also crawled. URLs on a webpage are crawled in order of
9029
+ # appearance.
9030
+ #
9031
+ # The default maximum links per page is 100.
9032
+ # @return [Integer]
9033
+ #
9034
+ # @!attribute [rw] max_content_size_per_page_in_mega_bytes
9035
+ # The maximum size (in MB) of a webpage or attachment to crawl.
9036
+ #
9037
+ # Files larger than this size (in MB) are skipped/not crawled.
9038
+ #
9039
+ # The default maximum size of a webpage or attachment is set to 50 MB.
9040
+ # @return [Float]
9041
+ #
9042
+ # @!attribute [rw] max_urls_per_minute_crawl_rate
9043
+ # The maximum number of URLs crawled per website host per minute.
9044
+ #
9045
+ # A minimum of one URL is required.
9046
+ #
9047
+ # The default maximum number of URLs crawled per website host per
9048
+ # minute is 300.
9049
+ # @return [Integer]
9050
+ #
9051
+ # @!attribute [rw] url_inclusion_patterns
9052
+ # The regular expression pattern to include certain URLs to crawl.
9053
+ #
9054
+ # If there is a regular expression pattern to exclude certain URLs
9055
+ # that conflicts with the include pattern, the exclude pattern takes
9056
+ # precedence.
9057
+ # @return [Array<String>]
9058
+ #
9059
+ # @!attribute [rw] url_exclusion_patterns
9060
+ # The regular expression pattern to exclude certain URLs to crawl.
9061
+ #
9062
+ # If there is a regular expression pattern to include certain URLs
9063
+ # that conflicts with the exclude pattern, the exclude pattern takes
9064
+ # precedence.
9065
+ # @return [Array<String>]
9066
+ #
9067
+ # @!attribute [rw] proxy_configuration
9068
+ # Provides configuration information required to connect to your
9069
+ # internal websites via a web proxy.
9070
+ #
9071
+ # You must provide the website host name and port number. For example,
9072
+ # the host name of https://a.example.com/page1.html is
9073
+ # "a.example.com" and the port is 443, the standard port for HTTPS.
9074
+ #
9075
+ # Web proxy credentials are optional and you can use them to connect
9076
+ # to a web proxy server that requires basic authentication. To store
9077
+ # web proxy credentials, you use a secret in [AWS Secrets Manager][1].
9078
+ #
9079
+ #
9080
+ #
9081
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html
9082
+ # @return [Types::ProxyConfiguration]
9083
+ #
9084
+ # @!attribute [rw] authentication_configuration
9085
+ # Provides configuration information required to connect to websites
9086
+ # using authentication.
9087
+ #
9088
+ # You can connect to websites using basic authentication of user name
9089
+ # and password.
9090
+ #
9091
+ # You must provide the website host name and port number. For example,
9092
+ # the host name of https://a.example.com/page1.html is
9093
+ # "a.example.com" and the port is 443, the standard port for HTTPS.
9094
+ # You use a secret in [AWS Secrets Manager][1] to store your
9095
+ # authentication credentials.
9096
+ #
9097
+ #
9098
+ #
9099
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html
9100
+ # @return [Types::AuthenticationConfiguration]
9101
+ #
9102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/WebCrawlerConfiguration AWS API Documentation
9103
+ #
9104
+ class WebCrawlerConfiguration < Struct.new(
9105
+ :urls,
9106
+ :crawl_depth,
9107
+ :max_links_per_page,
9108
+ :max_content_size_per_page_in_mega_bytes,
9109
+ :max_urls_per_minute_crawl_rate,
9110
+ :url_inclusion_patterns,
9111
+ :url_exclusion_patterns,
9112
+ :proxy_configuration,
9113
+ :authentication_configuration)
9114
+ SENSITIVE = []
9115
+ include Aws::Structure
9116
+ end
9117
+
7719
9118
  end
7720
9119
  end