Class: Aws::Kendra::Client

Inherits:
Seahorse::Client::Base
  • Object
show all
Includes:
ClientStubs
Defined in:
lib/aws-sdk-kendra/client.rb

Overview

An API client for Kendra. To construct a client, you need to configure a ‘:region` and `:credentials`.

client = Aws::Kendra::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).

See #initialize for a full list of supported configuration options.

Class Attribute Summary collapse

API Operations collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • ‘Aws::Credentials` - Used for configuring static, non-refreshing credentials.

    • ‘Aws::SharedCredentials` - Used for loading static credentials from a shared file, such as `~/.aws/config`.

    • ‘Aws::AssumeRoleCredentials` - Used when you need to assume a role.

    • ‘Aws::AssumeRoleWebIdentityCredentials` - Used when you need to assume a role after providing credentials via the web.

    • ‘Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an access token generated from `aws login`.

    • ‘Aws::ProcessCredentials` - Used for loading credentials from a process that outputs to stdout.

    • ‘Aws::InstanceProfileCredentials` - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • ‘Aws::ECSCredentials` - Used for loading credentials from instances running in ECS.

    • ‘Aws::CognitoIdentityCredentials` - Used for loading credentials from the Cognito Identity service.

    When ‘:credentials` are not configured directly, the following locations will be searched for credentials:

    • Aws.config`

    • The ‘:access_key_id`, `:secret_access_key`, `:session_token`, and `:account_id` options.

    • ENV, ENV, ENV, and ENV

    • ‘~/.aws/credentials`

    • ‘~/.aws/config`

    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of ‘Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV to true.

  • :region (required, String)

    The AWS region to connect to. The configured ‘:region` is used to determine the service `:endpoint`. When not passed, a default `:region` is searched for in the following locations:

  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to ‘true`, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to `false`.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in ‘adaptive` retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a `RetryCapacityNotAvailableError` and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When ‘true`, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When ‘true`, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in ‘standard` and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :disable_request_compression (Boolean) — default: false

    When set to ‘true’ the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the ‘:endpoint` option directly. This is normally constructed from the `:region` option. Configuring `:endpoint` is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to ‘true`, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the ‘:logger` at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in ‘standard` and `adaptive` retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, ‘default’ is used.

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the ‘legacy` retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the ‘legacy` retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the ‘legacy` retry mode.

    @see www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the ‘legacy` retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the ‘legacy` retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • ‘legacy` - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • ‘standard` - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • ‘adaptive` - An experimental retry mode that includes all the functionality of `standard` mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default ‘:sigv4a_signing_region_set` is searched for in the following locations:

  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disables response data type conversions. The request parameters hash must be formatted exactly as the API expects.This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    ** Please note ** When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses ‘NoOpTelemetryProvider` which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the

    ‘opentelemetry-sdk` gem and then, pass in an instance of a `Aws::Telemetry::OTelProvider` for telemetry provider.

  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • ‘Aws::StaticTokenProvider` - Used for configuring static, non-refreshing tokens.

    • ‘Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an access token generated from `aws login`.

    When ‘:token_provider` is not configured directly, the `Aws::TokenProviderChain` will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to ‘true`, dualstack enabled endpoints (with `.aws` TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to ‘true`, fips compatible endpoints will be used if available. When a `fips` region is used, the region is normalized and this config is set to `true`.

  • :validate_params (Boolean) — default: true

    When ‘true`, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::Kendra::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to ‘#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Kendra::EndpointParameters`.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has “Expect” header set to “100-continue”. Defaults to ‘nil` which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like ‘proxy.com:123’.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false

    When ‘true`, HTTP debug output will be sent to the `:logger`.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a ‘content-length`).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When ‘true`, response errors are raised.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass ‘:ssl_ca_bundle` or `:ssl_ca_directory` the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass ‘:ssl_ca_bundle` or `:ssl_ca_directory` the the system default will be used if available.

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

    When ‘true`, SSL peer certificates are verified when establishing a connection.



451
452
453
# File 'lib/aws-sdk-kendra/client.rb', line 451

def initialize(*args)
  super
end

Class Attribute Details

.identifierObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7474
7475
7476
# File 'lib/aws-sdk-kendra/client.rb', line 7474

def identifier
  @identifier
end

Class Method Details

.errors_moduleObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



7477
7478
7479
# File 'lib/aws-sdk-kendra/client.rb', line 7477

def errors_module
  Errors
end

Instance Method Details

#associate_entities_to_experience(params = {}) ⇒ Types::AssociateEntitiesToExperienceResponse

Grants users or groups in your IAM Identity Center identity source access to your Amazon Kendra experience. You can create an Amazon Kendra experience such as a search application. For more information on creating a search application experience, see [Building a search experience with no code].

[1]: docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html

Examples:

Request syntax with placeholder values


resp = client.associate_entities_to_experience({
  id: "ExperienceId", # required
  index_id: "IndexId", # required
  entity_list: [ # required
    {
      entity_id: "EntityId", # required
      entity_type: "USER", # required, accepts USER, GROUP
    },
  ],
})

Response structure


resp.failed_entity_list #=> Array
resp.failed_entity_list[0].entity_id #=> String
resp.failed_entity_list[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of your Amazon Kendra experience.

  • :index_id (required, String)

    The identifier of the index for your Amazon Kendra experience.

  • :entity_list (required, Array<Types::EntityConfiguration>)

    Lists users or groups in your IAM Identity Center identity source.

Returns:

See Also:



503
504
505
506
# File 'lib/aws-sdk-kendra/client.rb', line 503

def associate_entities_to_experience(params = {}, options = {})
  req = build_request(:associate_entities_to_experience, params)
  req.send_request(options)
end

#associate_personas_to_entities(params = {}) ⇒ Types::AssociatePersonasToEntitiesResponse

Defines the specific permissions of users or groups in your IAM Identity Center identity source with access to your Amazon Kendra experience. You can create an Amazon Kendra experience such as a search application. For more information on creating a search application experience, see [Building a search experience with no code].

[1]: docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html

Examples:

Request syntax with placeholder values


resp = client.associate_personas_to_entities({
  id: "ExperienceId", # required
  index_id: "IndexId", # required
  personas: [ # required
    {
      entity_id: "EntityId", # required
      persona: "OWNER", # required, accepts OWNER, VIEWER
    },
  ],
})

Response structure


resp.failed_entity_list #=> Array
resp.failed_entity_list[0].entity_id #=> String
resp.failed_entity_list[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



562
563
564
565
# File 'lib/aws-sdk-kendra/client.rb', line 562

def associate_personas_to_entities(params = {}, options = {})
  req = build_request(:associate_personas_to_entities, params)
  req.send_request(options)
end

#batch_delete_document(params = {}) ⇒ Types::BatchDeleteDocumentResponse

Removes one or more documents from an index. The documents must have been added with the ‘BatchPutDocument` API.

The documents are deleted asynchronously. You can see the progress of the deletion by using Amazon Web Services CloudWatch. Any error messages related to the processing of the batch are sent to your Amazon Web Services CloudWatch log. You can also use the ‘BatchGetDocumentStatus` API to monitor the progress of deleting your documents.

Deleting documents from an index using ‘BatchDeleteDocument` could take up to an hour or more, depending on the number of documents you want to delete.

Examples:

Request syntax with placeholder values


resp = client.batch_delete_document({
  index_id: "IndexId", # required
  document_id_list: ["DocumentId"], # required
  data_source_sync_job_metric_target: {
    data_source_id: "DataSourceId", # required
    data_source_sync_job_id: "DataSourceSyncJobId",
  },
})

Response structure


resp.failed_documents #=> Array
resp.failed_documents[0].id #=> String
resp.failed_documents[0].data_source_id #=> String
resp.failed_documents[0].error_code #=> String, one of "InternalError", "InvalidRequest"
resp.failed_documents[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index that contains the documents to delete.

  • :document_id_list (required, Array<String>)

    One or more identifiers for documents to delete from the index.

  • :data_source_sync_job_metric_target (Types::DataSourceSyncJobMetricTarget)

    Maps a particular data source sync job to a particular data source.

Returns:

See Also:



617
618
619
620
# File 'lib/aws-sdk-kendra/client.rb', line 617

def batch_delete_document(params = {}, options = {})
  req = build_request(:batch_delete_document, params)
  req.send_request(options)
end

Removes one or more sets of featured results. Features results are placed above all other results for certain queries. If there’s an exact match of a query, then one or more specific documents are featured in the search results.

Examples:

Request syntax with placeholder values


resp = client.batch_delete_featured_results_set({
  index_id: "IndexId", # required
  featured_results_set_ids: ["FeaturedResultsSetId"], # required
})

Response structure


resp.errors #=> Array
resp.errors[0].id #=> String
resp.errors[0].error_code #=> String, one of "InternalError", "InvalidRequest"
resp.errors[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index used for featuring results.

  • :featured_results_set_ids (required, Array<String>)

    The identifiers of the featured results sets that you want to delete.

Returns:

See Also:



655
656
657
658
# File 'lib/aws-sdk-kendra/client.rb', line 655

def batch_delete_featured_results_set(params = {}, options = {})
  req = build_request(:batch_delete_featured_results_set, params)
  req.send_request(options)
end

#batch_get_document_status(params = {}) ⇒ Types::BatchGetDocumentStatusResponse

Returns the indexing status for one or more documents submitted with the [ BatchPutDocument] API.

When you use the ‘BatchPutDocument` API, documents are indexed asynchronously. You can use the `BatchGetDocumentStatus` API to get the current status of a list of documents so that you can determine if they have been successfully indexed.

You can also use the ‘BatchGetDocumentStatus` API to check the status of the [ BatchDeleteDocument] API. When a document is deleted from the index, Amazon Kendra returns `NOT_FOUND` as the status.

[1]: docs.aws.amazon.com/kendra/latest/dg/API_BatchPutDocument.html [2]: docs.aws.amazon.com/kendra/latest/dg/API_BatchDeleteDocument.html

Examples:

Request syntax with placeholder values


resp = client.batch_get_document_status({
  index_id: "IndexId", # required
  document_info_list: [ # required
    {
      document_id: "DocumentId", # required
      attributes: [
        {
          key: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
      ],
    },
  ],
})

Response structure


resp.errors #=> Array
resp.errors[0].document_id #=> String
resp.errors[0].data_source_id #=> String
resp.errors[0].error_code #=> String, one of "InternalError", "InvalidRequest"
resp.errors[0].error_message #=> String
resp.document_status_list #=> Array
resp.document_status_list[0].document_id #=> String
resp.document_status_list[0].document_status #=> String, one of "NOT_FOUND", "PROCESSING", "INDEXED", "UPDATED", "FAILED", "UPDATE_FAILED"
resp.document_status_list[0].failure_code #=> String
resp.document_status_list[0].failure_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index to add documents to. The index ID is returned by the [CreateIndex ][1] API.

    [1]: docs.aws.amazon.com/kendra/latest/dg/API_CreateIndex.html

  • :document_info_list (required, Array<Types::DocumentInfo>)

    A list of ‘DocumentInfo` objects that identify the documents for which to get the status. You identify the documents by their document ID and optional attributes.

Returns:

See Also:



734
735
736
737
# File 'lib/aws-sdk-kendra/client.rb', line 734

def batch_get_document_status(params = {}, options = {})
  req = build_request(:batch_get_document_status, params)
  req.send_request(options)
end

#batch_put_document(params = {}) ⇒ Types::BatchPutDocumentResponse

Adds one or more documents to an index.

The ‘BatchPutDocument` API enables you to ingest inline documents or a set of documents stored in an Amazon S3 bucket. Use this API to ingest your text and unstructured text into an index, add custom attributes to the documents, and to attach an access control list to the documents added to the index.

The documents are indexed asynchronously. You can see the progress of the batch using Amazon Web Services CloudWatch. Any error messages related to processing the batch are sent to your Amazon Web Services CloudWatch log. You can also use the ‘BatchGetDocumentStatus` API to monitor the progress of indexing your documents.

For an example of ingesting inline documents using Python and Java SDKs, see [Adding files directly to an index].

[1]: docs.aws.amazon.com/kendra/latest/dg/in-adding-binary-doc.html

Examples:

Request syntax with placeholder values


resp = client.batch_put_document({
  index_id: "IndexId", # required
  role_arn: "RoleArn",
  documents: [ # required
    {
      id: "DocumentId", # required
      title: "Title",
      blob: "data",
      s3_path: {
        bucket: "S3BucketName", # required
        key: "S3ObjectKey", # required
      },
      attributes: [
        {
          key: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
      ],
      access_control_list: [
        {
          name: "PrincipalName", # required
          type: "USER", # required, accepts USER, GROUP
          access: "ALLOW", # required, accepts ALLOW, DENY
          data_source_id: "DataSourceId",
        },
      ],
      hierarchical_access_control_list: [
        {
          principal_list: [ # required
            {
              name: "PrincipalName", # required
              type: "USER", # required, accepts USER, GROUP
              access: "ALLOW", # required, accepts ALLOW, DENY
              data_source_id: "DataSourceId",
            },
          ],
        },
      ],
      content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT, RTF, XML, XSLT, MS_EXCEL, CSV, JSON, MD
      access_control_configuration_id: "AccessControlConfigurationId",
    },
  ],
  custom_document_enrichment_configuration: {
    inline_configurations: [
      {
        condition: {
          condition_document_attribute_key: "DocumentAttributeKey", # required
          operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
          condition_on_value: {
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        target: {
          target_document_attribute_key: "DocumentAttributeKey",
          target_document_attribute_value_deletion: false,
          target_document_attribute_value: {
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        document_content_deletion: false,
      },
    ],
    pre_extraction_hook_configuration: {
      invocation_condition: {
        condition_document_attribute_key: "DocumentAttributeKey", # required
        operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
        condition_on_value: {
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      lambda_arn: "LambdaArn", # required
      s3_bucket: "S3BucketName", # required
    },
    post_extraction_hook_configuration: {
      invocation_condition: {
        condition_document_attribute_key: "DocumentAttributeKey", # required
        operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
        condition_on_value: {
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      lambda_arn: "LambdaArn", # required
      s3_bucket: "S3BucketName", # required
    },
    role_arn: "RoleArn",
  },
})

Response structure


resp.failed_documents #=> Array
resp.failed_documents[0].id #=> String
resp.failed_documents[0].data_source_id #=> String
resp.failed_documents[0].error_code #=> String, one of "InternalError", "InvalidRequest"
resp.failed_documents[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



925
926
927
928
# File 'lib/aws-sdk-kendra/client.rb', line 925

def batch_put_document(params = {}, options = {})
  req = build_request(:batch_put_document, params)
  req.send_request(options)
end

#build_request(operation_name, params = {}) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • params ({}) (defaults to: {})


7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
# File 'lib/aws-sdk-kendra/client.rb', line 7447

def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  tracer = config.telemetry_provider.tracer_provider.tracer(
    Aws::Telemetry.module_to_tracer_name('Aws::Kendra')
  )
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config,
    tracer: tracer
  )
  context[:gem_name] = 'aws-sdk-kendra'
  context[:gem_version] = '1.94.0'
  Seahorse::Client::Request.new(handlers, context)
end

#clear_query_suggestions(params = {}) ⇒ Struct

Clears existing query suggestions from an index.

This deletes existing suggestions only, not the queries in the query log. After you clear suggestions, Amazon Kendra learns new suggestions based on new queries added to the query log from the time you cleared suggestions. If you do not see any new suggestions, then please allow Amazon Kendra to collect enough queries to learn new suggestions.

‘ClearQuerySuggestions` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Examples:

Request syntax with placeholder values


resp = client.clear_query_suggestions({
  index_id: "IndexId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index you want to clear query suggestions from.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



956
957
958
959
# File 'lib/aws-sdk-kendra/client.rb', line 956

def clear_query_suggestions(params = {}, options = {})
  req = build_request(:clear_query_suggestions, params)
  req.send_request(options)
end

#create_access_control_configuration(params = {}) ⇒ Types::CreateAccessControlConfigurationResponse

Creates an access configuration for your documents. This includes user and group access information for your documents. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

You can use this to re-configure your existing document level access control without indexing all of your documents again. For example, your index contains top-secret company documents that only certain employees or users should access. One of these users leaves the company or switches to a team that should be blocked from accessing top-secret documents. The user still has access to top-secret documents because the user had access when your documents were previously indexed. You can create a specific access control configuration for the user with deny access. You can later update the access control configuration to allow access if the user returns to the company and re-joins the ‘top-secret’ team. You can re-configure access control for your documents as circumstances change.

To apply your access control configuration to certain documents, you call the [BatchPutDocument] API with the ‘AccessControlConfigurationId` included in the [Document] object. If you use an S3 bucket as a data source, you update the `.metadata.json` with the `AccessControlConfigurationId` and synchronize your data source. Amazon Kendra currently only supports access control configuration for S3 data sources and documents indexed using the `BatchPutDocument` API.

You can’t configure access control using ‘CreateAccessControlConfiguration` for an Amazon Kendra Gen AI Enterprise Edition index. Amazon Kendra will return a `ValidationException` error for a `Gen_AI_ENTERPRISE_EDITION` index.

[1]: docs.aws.amazon.com/kendra/latest/dg/API_BatchPutDocument.html [2]: docs.aws.amazon.com/kendra/latest/dg/API_Document.html

Examples:

Request syntax with placeholder values


resp = client.create_access_control_configuration({
  index_id: "IndexId", # required
  name: "AccessControlConfigurationName", # required
  description: "Description",
  access_control_list: [
    {
      name: "PrincipalName", # required
      type: "USER", # required, accepts USER, GROUP
      access: "ALLOW", # required, accepts ALLOW, DENY
      data_source_id: "DataSourceId",
    },
  ],
  hierarchical_access_control_list: [
    {
      principal_list: [ # required
        {
          name: "PrincipalName", # required
          type: "USER", # required, accepts USER, GROUP
          access: "ALLOW", # required, accepts ALLOW, DENY
          data_source_id: "DataSourceId",
        },
      ],
    },
  ],
  client_token: "ClientTokenName",
})

Response structure


resp.id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index to create an access control configuration for your documents.

  • :name (required, String)

    A name for the access control configuration.

  • :description (String)

    A description for the access control configuration.

  • :access_control_list (Array<Types::Principal>)

    Information on principals (users and/or groups) and which documents they should have access to. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

  • :hierarchical_access_control_list (Array<Types::HierarchicalPrincipal>)

    The list of [principal] lists that define the hierarchy for which documents users should have access to.

    [1]: docs.aws.amazon.com/kendra/latest/dg/API_Principal.html

  • :client_token (String)

    A token that you provide to identify the request to create an access control configuration. Multiple calls to the ‘CreateAccessControlConfiguration` API with the same client token will create only one access control configuration.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

Returns:

See Also:



1072
1073
1074
1075
# File 'lib/aws-sdk-kendra/client.rb', line 1072

def create_access_control_configuration(params = {}, options = {})
  req = build_request(:create_access_control_configuration, params)
  req.send_request(options)
end

#create_data_source(params = {}) ⇒ Types::CreateDataSourceResponse

Creates a data source connector that you want to use with an Amazon Kendra index.

You specify a name, data source connector type and description for your data source. You also specify configuration information for the data source connector.

‘CreateDataSource` is a synchronous operation. The operation returns 200 if the data source was successfully created. Otherwise, an exception is raised.

For an example of creating an index and data source using the Python SDK, see [Getting started with Python SDK]. For an example of creating an index and data source using the Java SDK, see [Getting started with Java SDK].

[1]: docs.aws.amazon.com/kendra/latest/dg/gs-python.html [2]: docs.aws.amazon.com/kendra/latest/dg/gs-java.html

Examples:

Request syntax with placeholder values


resp = client.create_data_source({
  name: "DataSourceName", # required
  index_id: "IndexId", # required
  type: "S3", # required, accepts S3, SHAREPOINT, DATABASE, SALESFORCE, ONEDRIVE, SERVICENOW, CUSTOM, CONFLUENCE, GOOGLEDRIVE, WEBCRAWLER, WORKDOCS, FSX, SLACK, BOX, QUIP, JIRA, GITHUB, ALFRESCO, TEMPLATE
  configuration: {
    s3_configuration: {
      bucket_name: "S3BucketName", # required
      inclusion_prefixes: ["DataSourceInclusionsExclusionsStringsMember"],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      documents_metadata_configuration: {
        s3_prefix: "S3ObjectKey",
      },
      access_control_list_configuration: {
        key_path: "S3ObjectKey",
      },
    },
    share_point_configuration: {
      share_point_version: "SHAREPOINT_2013", # required, accepts SHAREPOINT_2013, SHAREPOINT_2016, SHAREPOINT_ONLINE, SHAREPOINT_2019
      urls: ["Url"], # required
      secret_arn: "SecretArn", # required
      crawl_attachments: false,
      use_change_log: false,
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      document_title_field_name: "DataSourceFieldName",
      disable_local_groups: false,
      ssl_certificate_s3_path: {
        bucket: "S3BucketName", # required
        key: "S3ObjectKey", # required
      },
      authentication_type: "HTTP_BASIC", # accepts HTTP_BASIC, OAUTH2
      proxy_configuration: {
        host: "Host", # required
        port: 1, # required
        credentials: "SecretArn",
      },
    },
    database_configuration: {
      database_engine_type: "RDS_AURORA_MYSQL", # required, accepts RDS_AURORA_MYSQL, RDS_AURORA_POSTGRESQL, RDS_MYSQL, RDS_POSTGRESQL
      connection_configuration: { # required
        database_host: "DatabaseHost", # required
        database_port: 1, # required
        database_name: "DatabaseName", # required
        table_name: "TableName", # required
        secret_arn: "SecretArn", # required
      },
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      column_configuration: { # required
        document_id_column_name: "ColumnName", # required
        document_data_column_name: "ColumnName", # required
        document_title_column_name: "ColumnName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        change_detecting_columns: ["ColumnName"], # required
      },
      acl_configuration: {
        allowed_groups_column_name: "ColumnName", # required
      },
      sql_configuration: {
        query_identifiers_enclosing_option: "DOUBLE_QUOTES", # accepts DOUBLE_QUOTES, NONE
      },
    },
    salesforce_configuration: {
      server_url: "Url", # required
      secret_arn: "SecretArn", # required
      standard_object_configurations: [
        {
          name: "ACCOUNT", # required, accepts ACCOUNT, CAMPAIGN, CASE, CONTACT, CONTRACT, DOCUMENT, GROUP, IDEA, LEAD, OPPORTUNITY, PARTNER, PRICEBOOK, PRODUCT, PROFILE, SOLUTION, TASK, USER
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
        },
      ],
      knowledge_article_configuration: {
        included_states: ["DRAFT"], # required, accepts DRAFT, PUBLISHED, ARCHIVED
        standard_knowledge_article_type_configuration: {
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
        },
        custom_knowledge_article_type_configurations: [
          {
            name: "SalesforceCustomKnowledgeArticleTypeName", # required
            document_data_field_name: "DataSourceFieldName", # required
            document_title_field_name: "DataSourceFieldName",
            field_mappings: [
              {
                data_source_field_name: "DataSourceFieldName", # required
                date_field_format: "DataSourceDateFieldFormat",
                index_field_name: "IndexFieldName", # required
              },
            ],
          },
        ],
      },
      chatter_feed_configuration: {
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        include_filter_types: ["ACTIVE_USER"], # accepts ACTIVE_USER, STANDARD_USER
      },
      crawl_attachments: false,
      standard_object_attachment_configuration: {
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
      include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
    },
    one_drive_configuration: {
      tenant_domain: "TenantDomain", # required
      secret_arn: "SecretArn", # required
      one_drive_users: { # required
        one_drive_user_list: ["OneDriveUser"],
        one_drive_user_s3_path: {
          bucket: "S3BucketName", # required
          key: "S3ObjectKey", # required
        },
      },
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      disable_local_groups: false,
    },
    service_now_configuration: {
      host_url: "ServiceNowHostUrl", # required
      secret_arn: "SecretArn", # required
      service_now_build_version: "LONDON", # required, accepts LONDON, OTHERS
      knowledge_article_configuration: {
        crawl_attachments: false,
        include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        filter_query: "ServiceNowKnowledgeArticleFilterQuery",
      },
      service_catalog_configuration: {
        crawl_attachments: false,
        include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
      authentication_type: "HTTP_BASIC", # accepts HTTP_BASIC, OAUTH2
    },
    confluence_configuration: {
      server_url: "Url", # required
      secret_arn: "SecretArn", # required
      version: "CLOUD", # required, accepts CLOUD, SERVER
      space_configuration: {
        crawl_personal_spaces: false,
        crawl_archived_spaces: false,
        include_spaces: ["ConfluenceSpaceIdentifier"],
        exclude_spaces: ["ConfluenceSpaceIdentifier"],
        space_field_mappings: [
          {
            data_source_field_name: "DISPLAY_URL", # accepts DISPLAY_URL, ITEM_TYPE, SPACE_KEY, URL
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName",
          },
        ],
      },
      page_configuration: {
        page_field_mappings: [
          {
            data_source_field_name: "AUTHOR", # accepts AUTHOR, CONTENT_STATUS, CREATED_DATE, DISPLAY_URL, ITEM_TYPE, LABELS, MODIFIED_DATE, PARENT_ID, SPACE_KEY, SPACE_NAME, URL, VERSION
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName",
          },
        ],
      },
      blog_configuration: {
        blog_field_mappings: [
          {
            data_source_field_name: "AUTHOR", # accepts AUTHOR, DISPLAY_URL, ITEM_TYPE, LABELS, PUBLISH_DATE, SPACE_KEY, SPACE_NAME, URL, VERSION
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName",
          },
        ],
      },
      attachment_configuration: {
        crawl_attachments: false,
        attachment_field_mappings: [
          {
            data_source_field_name: "AUTHOR", # accepts AUTHOR, CONTENT_TYPE, CREATED_DATE, DISPLAY_URL, FILE_SIZE, ITEM_TYPE, PARENT_ID, SPACE_KEY, SPACE_NAME, URL, VERSION
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName",
          },
        ],
      },
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      proxy_configuration: {
        host: "Host", # required
        port: 1, # required
        credentials: "SecretArn",
      },
      authentication_type: "HTTP_BASIC", # accepts HTTP_BASIC, PAT
    },
    google_drive_configuration: {
      secret_arn: "SecretArn", # required
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      exclude_mime_types: ["MimeType"],
      exclude_user_accounts: ["UserAccount"],
      exclude_shared_drives: ["SharedDriveId"],
    },
    web_crawler_configuration: {
      urls: { # required
        seed_url_configuration: {
          seed_urls: ["SeedUrl"], # required
          web_crawler_mode: "HOST_ONLY", # accepts HOST_ONLY, SUBDOMAINS, EVERYTHING
        },
        site_maps_configuration: {
          site_maps: ["SiteMap"], # required
        },
      },
      crawl_depth: 1,
      max_links_per_page: 1,
      max_content_size_per_page_in_mega_bytes: 1.0,
      max_urls_per_minute_crawl_rate: 1,
      url_inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      url_exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      proxy_configuration: {
        host: "Host", # required
        port: 1, # required
        credentials: "SecretArn",
      },
      authentication_configuration: {
        basic_authentication: [
          {
            host: "Host", # required
            port: 1, # required
            credentials: "SecretArn", # required
          },
        ],
      },
    },
    work_docs_configuration: {
      organization_id: "OrganizationId", # required
      crawl_comments: false,
      use_change_log: false,
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
    },
    fsx_configuration: {
      file_system_id: "FileSystemId", # required
      file_system_type: "WINDOWS", # required, accepts WINDOWS
      vpc_configuration: { # required
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      secret_arn: "SecretArn",
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
    },
    slack_configuration: {
      team_id: "TeamId", # required
      secret_arn: "SecretArn", # required
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      slack_entity_list: ["PUBLIC_CHANNEL"], # required, accepts PUBLIC_CHANNEL, PRIVATE_CHANNEL, GROUP_MESSAGE, DIRECT_MESSAGE
      use_change_log: false,
      crawl_bot_message: false,
      exclude_archived: false,
      since_crawl_date: "SinceCrawlDate", # required
      look_back_period: 1,
      private_channel_filter: ["String"],
      public_channel_filter: ["String"],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
    },
    box_configuration: {
      enterprise_id: "EnterpriseId", # required
      secret_arn: "SecretArn", # required
      use_change_log: false,
      crawl_comments: false,
      crawl_tasks: false,
      crawl_web_links: false,
      file_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      task_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      comment_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      web_link_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
    },
    quip_configuration: {
      domain: "Domain", # required
      secret_arn: "SecretArn", # required
      crawl_file_comments: false,
      crawl_chat_rooms: false,
      crawl_attachments: false,
      folder_ids: ["FolderId"],
      thread_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      message_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      attachment_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
    },
    jira_configuration: {
      jira_account_url: "JiraAccountUrl", # required
      secret_arn: "SecretArn", # required
      use_change_log: false,
      project: ["String"],
      issue_type: ["String"],
      status: ["String"],
      issue_sub_entity_filter: ["COMMENTS"], # accepts COMMENTS, ATTACHMENTS, WORKLOGS
      attachment_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      comment_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      issue_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      project_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      work_log_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
    },
    git_hub_configuration: {
      saa_s_configuration: {
        organization_name: "OrganizationName", # required
        host_url: "Url", # required
      },
      on_premise_configuration: {
        host_url: "Url", # required
        organization_name: "OrganizationName", # required
        ssl_certificate_s3_path: { # required
          bucket: "S3BucketName", # required
          key: "S3ObjectKey", # required
        },
      },
      type: "SAAS", # accepts SAAS, ON_PREMISE
      secret_arn: "SecretArn", # required
      use_change_log: false,
      git_hub_document_crawl_properties: {
        crawl_repository_documents: false,
        crawl_issue: false,
        crawl_issue_comment: false,
        crawl_issue_comment_attachment: false,
        crawl_pull_request: false,
        crawl_pull_request_comment: false,
        crawl_pull_request_comment_attachment: false,
      },
      repository_filter: ["RepositoryName"],
      inclusion_folder_name_patterns: ["String"],
      inclusion_file_type_patterns: ["String"],
      inclusion_file_name_patterns: ["String"],
      exclusion_folder_name_patterns: ["String"],
      exclusion_file_type_patterns: ["String"],
      exclusion_file_name_patterns: ["String"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      git_hub_repository_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_commit_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_issue_document_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_issue_comment_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_issue_attachment_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_pull_request_comment_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_pull_request_document_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_pull_request_document_attachment_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
    },
    alfresco_configuration: {
      site_url: "SiteUrl", # required
      site_id: "SiteId", # required
      secret_arn: "SecretArn", # required
      ssl_certificate_s3_path: { # required
        bucket: "S3BucketName", # required
        key: "S3ObjectKey", # required
      },
      crawl_system_folders: false,
      crawl_comments: false,
      entity_filter: ["wiki"], # accepts wiki, blog, documentLibrary
      document_library_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      blog_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      wiki_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
    },
    template_configuration: {
      template: {
      },
    },
  },
  vpc_configuration: {
    subnet_ids: ["SubnetId"], # required
    security_group_ids: ["VpcSecurityGroupId"], # required
  },
  description: "Description",
  schedule: "ScanSchedule",
  role_arn: "RoleArn",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  client_token: "ClientTokenName",
  language_code: "LanguageCode",
  custom_document_enrichment_configuration: {
    inline_configurations: [
      {
        condition: {
          condition_document_attribute_key: "DocumentAttributeKey", # required
          operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
          condition_on_value: {
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        target: {
          target_document_attribute_key: "DocumentAttributeKey",
          target_document_attribute_value_deletion: false,
          target_document_attribute_value: {
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        document_content_deletion: false,
      },
    ],
    pre_extraction_hook_configuration: {
      invocation_condition: {
        condition_document_attribute_key: "DocumentAttributeKey", # required
        operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
        condition_on_value: {
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      lambda_arn: "LambdaArn", # required
      s3_bucket: "S3BucketName", # required
    },
    post_extraction_hook_configuration: {
      invocation_condition: {
        condition_document_attribute_key: "DocumentAttributeKey", # required
        operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
        condition_on_value: {
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      lambda_arn: "LambdaArn", # required
      s3_bucket: "S3BucketName", # required
    },
    role_arn: "RoleArn",
  },
})

Response structure


resp.id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    A name for the data source connector.

  • :index_id (required, String)

    The identifier of the index you want to use with the data source connector.

  • :type (required, String)

    The type of data source repository. For example, ‘SHAREPOINT`.

  • :configuration (Types::DataSourceConfiguration)

    Configuration information to connect to your data source repository.

    You can’t specify the ‘Configuration` parameter when the `Type` parameter is set to `CUSTOM`. If you do, you receive a `ValidationException` exception.

    The ‘Configuration` parameter is required for all other data sources.

  • :vpc_configuration (Types::DataSourceVpcConfiguration)

    Configuration information for an Amazon Virtual Private Cloud to connect to your data source. For more information, see [Configuring a VPC].

    [1]: docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html

  • :description (String)

    A description for the data source connector.

  • :schedule (String)

    Sets the frequency for Amazon Kendra to check the documents in your data source repository and update the index. If you don’t set a schedule Amazon Kendra will not periodically update the index. You can call the ‘StartDataSourceSyncJob` API to update the index.

    Specify a ‘cron-` format schedule string or an empty string to indicate that the index is updated on demand.

    You can’t specify the ‘Schedule` parameter when the `Type` parameter is set to `CUSTOM`. If you do, you receive a `ValidationException` exception.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources. For more information, see [IAM access roles for Amazon Kendra.].

    You can’t specify the ‘RoleArn` parameter when the `Type` parameter is set to `CUSTOM`. If you do, you receive a `ValidationException` exception.

    The ‘RoleArn` parameter is required for all other data sources.

    [1]: docs.aws.amazon.com/kendra/latest/dg/iam-roles.html

  • :tags (Array<Types::Tag>)

    A list of key-value pairs that identify or categorize the data source connector. You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

  • :client_token (String)

    A token that you provide to identify the request to create a data source connector. Multiple calls to the ‘CreateDataSource` API with the same client token will create only one data source connector.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

  • :language_code (String)

    The code for a language. This allows you to support a language for all documents when creating the data source connector. English is supported by default. For more information on supported languages, including their codes, see [Adding documents in languages other than English].

    [1]: docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html

  • :custom_document_enrichment_configuration (Types::CustomDocumentEnrichmentConfiguration)

    Configuration information for altering document metadata and content during the document ingestion process.

    For more information on how to create, modify and delete document metadata, or make other content alterations when you ingest documents into Amazon Kendra, see [Customizing document metadata during the ingestion process].

    [1]: docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html

Returns:

See Also:



1917
1918
1919
1920
# File 'lib/aws-sdk-kendra/client.rb', line 1917

def create_data_source(params = {}, options = {})
  req = build_request(:create_data_source, params)
  req.send_request(options)
end

#create_experience(params = {}) ⇒ Types::CreateExperienceResponse

Creates an Amazon Kendra experience such as a search application. For more information on creating a search application experience, including using the Python and Java SDKs, see [Building a search experience with no code].

[1]: docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html

Examples:

Request syntax with placeholder values


resp = client.create_experience({
  name: "ExperienceName", # required
  index_id: "IndexId", # required
  role_arn: "RoleArn",
  configuration: {
    content_source_configuration: {
      data_source_ids: ["DataSourceId"],
      faq_ids: ["FaqId"],
      direct_put_content: false,
    },
    user_identity_configuration: {
      identity_attribute_name: "IdentityAttributeName",
    },
  },
  description: "Description",
  client_token: "ClientTokenName",
})

Response structure


resp.id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    A name for your Amazon Kendra experience.

  • :index_id (required, String)

    The identifier of the index for your Amazon Kendra experience.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access ‘Query` API, `GetQuerySuggestions` API, and other required APIs. The role also must include permission to access IAM Identity Center that stores your user and group information. For more information, see [IAM access roles for Amazon Kendra].

    [1]: docs.aws.amazon.com/kendra/latest/dg/iam-roles.html

  • :configuration (Types::ExperienceConfiguration)

    Configuration information for your Amazon Kendra experience. This includes ‘ContentSourceConfiguration`, which specifies the data source IDs and/or FAQ IDs, and `UserIdentityConfiguration`, which specifies the user or group information to grant access to your Amazon Kendra experience.

  • :description (String)

    A description for your Amazon Kendra experience.

  • :client_token (String)

    A token that you provide to identify the request to create your Amazon Kendra experience. Multiple calls to the ‘CreateExperience` API with the same client token creates only one Amazon Kendra experience.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

Returns:

See Also:



1998
1999
2000
2001
# File 'lib/aws-sdk-kendra/client.rb', line 1998

def create_experience(params = {}, options = {})
  req = build_request(:create_experience, params)
  req.send_request(options)
end

#create_faq(params = {}) ⇒ Types::CreateFaqResponse

Creates a set of frequently ask questions (FAQs) using a specified FAQ file stored in an Amazon S3 bucket.

Adding FAQs to an index is an asynchronous operation.

For an example of adding an FAQ to an index using Python and Java SDKs, see [Using your FAQ file].

[1]: docs.aws.amazon.com/kendra/latest/dg/in-creating-faq.html#using-faq-file

Examples:

Request syntax with placeholder values


resp = client.create_faq({
  index_id: "IndexId", # required
  name: "FaqName", # required
  description: "Description",
  s3_path: { # required
    bucket: "S3BucketName", # required
    key: "S3ObjectKey", # required
  },
  role_arn: "RoleArn", # required
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  file_format: "CSV", # accepts CSV, CSV_WITH_HEADER, JSON
  client_token: "ClientTokenName",
  language_code: "LanguageCode",
})

Response structure


resp.id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for the FAQ.

  • :name (required, String)

    A name for the FAQ.

  • :description (String)

    A description for the FAQ.

  • :s3_path (required, Types::S3Path)

    The path to the FAQ file in S3.

  • :role_arn (required, String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access the S3 bucket that contains the FAQ file. For more information, see [IAM access roles for Amazon Kendra].

    [1]: docs.aws.amazon.com/kendra/latest/dg/iam-roles.html

  • :tags (Array<Types::Tag>)

    A list of key-value pairs that identify the FAQ. You can use the tags to identify and organize your resources and to control access to resources.

  • :file_format (String)

    The format of the FAQ input file. You can choose between a basic CSV format, a CSV format that includes customs attributes in a header, and a JSON format that includes custom attributes.

    The default format is CSV.

    The format must match the format of the file stored in the S3 bucket identified in the ‘S3Path` parameter.

    For more information, see [Adding questions and answers].

    [1]: docs.aws.amazon.com/kendra/latest/dg/in-creating-faq.html

  • :client_token (String)

    A token that you provide to identify the request to create a FAQ. Multiple calls to the ‘CreateFaqRequest` API with the same client token will create only one FAQ.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

  • :language_code (String)

    The code for a language. This allows you to support a language for the FAQ document. English is supported by default. For more information on supported languages, including their codes, see [Adding documents in languages other than English].

    [1]: docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html

Returns:

See Also:



2109
2110
2111
2112
# File 'lib/aws-sdk-kendra/client.rb', line 2109

def create_faq(params = {}, options = {})
  req = build_request(:create_faq, params)
  req.send_request(options)
end

Creates a set of featured results to display at the top of the search results page. Featured results are placed above all other results for certain queries. You map specific queries to specific documents for featuring in the results. If a query contains an exact match, then one or more specific documents are featured in the search results.

You can create up to 50 sets of featured results per index. You can request to increase this limit by contacting [Support].

[1]: aws.amazon.com/contact-us/

Examples:

Request syntax with placeholder values


resp = client.create_featured_results_set({
  index_id: "IndexId", # required
  featured_results_set_name: "FeaturedResultsSetName", # required
  description: "FeaturedResultsSetDescription",
  client_token: "ClientTokenName",
  status: "ACTIVE", # accepts ACTIVE, INACTIVE
  query_texts: ["QueryText"],
  featured_documents: [
    {
      id: "DocumentId",
    },
  ],
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.featured_results_set.featured_results_set_id #=> String
resp.featured_results_set.featured_results_set_name #=> String
resp.featured_results_set.description #=> String
resp.featured_results_set.status #=> String, one of "ACTIVE", "INACTIVE"
resp.featured_results_set.query_texts #=> Array
resp.featured_results_set.query_texts[0] #=> String
resp.featured_results_set.featured_documents #=> Array
resp.featured_results_set.featured_documents[0].id #=> String
resp.featured_results_set.last_updated_timestamp #=> Integer
resp.featured_results_set.creation_timestamp #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index that you want to use for featuring results.

  • :featured_results_set_name (required, String)

    A name for the set of featured results.

  • :description (String)

    A description for the set of featured results.

  • :client_token (String)

    A token that you provide to identify the request to create a set of featured results. Multiple calls to the ‘CreateFeaturedResultsSet` API with the same client token will create only one featured results set.

  • :status (String)

    The current status of the set of featured results. When the value is ‘ACTIVE`, featured results are ready for use. You can still configure your settings before setting the status to `ACTIVE`. You can set the status to `ACTIVE` or `INACTIVE` using the

    UpdateFeaturedResultsSet][1

    API. The queries you specify for

    featured results must be unique per featured results set for each index, whether the status is ‘ACTIVE` or `INACTIVE`.

    [1]: docs.aws.amazon.com/kendra/latest/dg/API_UpdateFeaturedResultsSet.html

  • :query_texts (Array<String>)

    A list of queries for featuring results. For more information on the list of queries, see [FeaturedResultsSet].

    [1]: docs.aws.amazon.com/kendra/latest/dg/API_FeaturedResultsSet.html

  • :featured_documents (Array<Types::FeaturedDocument>)

    A list of document IDs for the documents you want to feature at the top of the search results page. For more information on the list of documents, see [FeaturedResultsSet].

    [1]: docs.aws.amazon.com/kendra/latest/dg/API_FeaturedResultsSet.html

  • :tags (Array<Types::Tag>)

    A list of key-value pairs that identify or categorize the featured results set. You can also use tags to help control access to the featured results set. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols:_ . : / = + - @.

Returns:

See Also:



2222
2223
2224
2225
# File 'lib/aws-sdk-kendra/client.rb', line 2222

def create_featured_results_set(params = {}, options = {})
  req = build_request(:create_featured_results_set, params)
  req.send_request(options)
end

#create_index(params = {}) ⇒ Types::CreateIndexResponse

Creates an Amazon Kendra index. Index creation is an asynchronous API. To determine if index creation has completed, check the ‘Status` field returned from a call to `DescribeIndex`. The `Status` field is set to `ACTIVE` when the index is ready to use.

Once the index is active, you can index your documents using the ‘BatchPutDocument` API or using one of the supported [data sources].

For an example of creating an index and data source using the Python SDK, see [Getting started with Python SDK]. For an example of creating an index and data source using the Java SDK, see [Getting started with Java SDK].

[1]: docs.aws.amazon.com/kendra/latest/dg/data-sources.html [2]: docs.aws.amazon.com/kendra/latest/dg/gs-python.html [3]: docs.aws.amazon.com/kendra/latest/dg/gs-java.html

Examples:

Request syntax with placeholder values


resp = client.create_index({
  name: "IndexName", # required
  edition: "DEVELOPER_EDITION", # accepts DEVELOPER_EDITION, ENTERPRISE_EDITION, GEN_AI_ENTERPRISE_EDITION
  role_arn: "RoleArn", # required
  server_side_encryption_configuration: {
    kms_key_id: "KmsKeyId",
  },
  description: "Description",
  client_token: "ClientTokenName",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  user_token_configurations: [
    {
      jwt_token_type_configuration: {
        key_location: "URL", # required, accepts URL, SECRET_MANAGER
        url: "Url",
        secret_manager_arn: "RoleArn",
        user_name_attribute_field: "UserNameAttributeField",
        group_attribute_field: "GroupAttributeField",
        issuer: "Issuer",
        claim_regex: "ClaimRegex",
      },
      json_token_type_configuration: {
        user_name_attribute_field: "String", # required
        group_attribute_field: "String", # required
      },
    },
  ],
  user_context_policy: "ATTRIBUTE_FILTER", # accepts ATTRIBUTE_FILTER, USER_TOKEN
  user_group_resolution_configuration: {
    user_group_resolution_mode: "AWS_SSO", # required, accepts AWS_SSO, NONE
  },
})

Response structure


resp.id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    A name for the index.

  • :edition (String)

    The Amazon Kendra edition to use for the index. Choose ‘DEVELOPER_EDITION` for indexes intended for development, testing, or proof of concept. Use `ENTERPRISE_EDITION` for production. Use `GEN_AI_ENTERPRISE_EDITION` for creating generative AI applications. Once you set the edition for an index, it can’t be changed.

    The ‘Edition` parameter is optional. If you don’t supply a value, the default is ‘ENTERPRISE_EDITION`.

    For more information on quota limits for Gen AI Enterprise Edition, Enterprise Edition, and Developer Edition indices, see [Quotas].

    [1]: docs.aws.amazon.com/kendra/latest/dg/quotas.html

  • :role_arn (required, String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access your Amazon CloudWatch logs and metrics. For more information, see [IAM access roles for Amazon Kendra].

    [1]: docs.aws.amazon.com/kendra/latest/dg/iam-roles.html

  • :server_side_encryption_configuration (Types::ServerSideEncryptionConfiguration)

    The identifier of the KMS customer managed key (CMK) that’s used to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn’t support asymmetric CMKs.

  • :description (String)

    A description for the index.

  • :client_token (String)

    A token that you provide to identify the request to create an index. Multiple calls to the ‘CreateIndex` API with the same client token will create only one index.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

  • :tags (Array<Types::Tag>)

    A list of key-value pairs that identify or categorize the index. You can also use tags to help control access to the index. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

  • :user_token_configurations (Array<Types::UserTokenConfiguration>)

    The user token configuration.

    If you’re using an Amazon Kendra Gen AI Enterprise Edition index and you try to use ‘UserTokenConfigurations` to configure user context policy, Amazon Kendra returns a `ValidationException` error.

  • :user_context_policy (String)

    The user context policy.

    If you’re using an Amazon Kendra Gen AI Enterprise Edition index, you can only use ‘ATTRIBUTE_FILTER` to filter search results by user context. If you’re using an Amazon Kendra Gen AI Enterprise Edition index and you try to use ‘USER_TOKEN` to configure user context policy, Amazon Kendra returns a `ValidationException` error.

    ATTRIBUTE_FILTER

    : All indexed content is searchable and displayable for all users. If

    you want to filter search results on user context, you can use the
    attribute filters of `_user_id` and `_group_ids` or you can provide
    user and group information in `UserContext`.
    

    USER_TOKEN

    : Enables token-based user access control to filter search results on

    user context. All documents with no access control and all documents
    accessible to the user will be searchable and displayable.
    
  • :user_group_resolution_configuration (Types::UserGroupResolutionConfiguration)

    Gets users and groups from IAM Identity Center identity source. To configure this, see [UserGroupResolutionConfiguration]. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

    If you’re using an Amazon Kendra Gen AI Enterprise Edition index, ‘UserGroupResolutionConfiguration` isn’t supported.

    [1]: docs.aws.amazon.com/kendra/latest/dg/API_UserGroupResolutionConfiguration.html

Returns:

See Also:



2392
2393
2394
2395
# File 'lib/aws-sdk-kendra/client.rb', line 2392

def create_index(params = {}, options = {})
  req = build_request(:create_index, params)
  req.send_request(options)
end

#create_query_suggestions_block_list(params = {}) ⇒ Types::CreateQuerySuggestionsBlockListResponse

Creates a block list to exlcude certain queries from suggestions.

Any query that contains words or phrases specified in the block list is blocked or filtered out from being shown as a suggestion.

You need to provide the file location of your block list text file in your S3 bucket. In your text file, enter each block word or phrase on a separate line.

For information on the current quota limits for block lists, see [Quotas for Amazon Kendra].

‘CreateQuerySuggestionsBlockList` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

For an example of creating a block list for query suggestions using the Python SDK, see [Query suggestions block list].

[1]: docs.aws.amazon.com/kendra/latest/dg/quotas.html [2]: docs.aws.amazon.com/kendra/latest/dg/query-suggestions.html#query-suggestions-blocklist

Examples:

Request syntax with placeholder values


resp = client.create_query_suggestions_block_list({
  index_id: "IndexId", # required
  name: "QuerySuggestionsBlockListName", # required
  description: "Description",
  source_s3_path: { # required
    bucket: "S3BucketName", # required
    key: "S3ObjectKey", # required
  },
  client_token: "ClientTokenName",
  role_arn: "RoleArn", # required
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index you want to create a query suggestions block list for.

  • :name (required, String)

    A name for the block list.

    For example, the name ‘offensive-words’, which includes all offensive words that could appear in user queries and need to be blocked from suggestions.

  • :description (String)

    A description for the block list.

    For example, the description “List of all offensive words that can appear in user queries and need to be blocked from suggestions.”

  • :source_s3_path (required, Types::S3Path)

    The S3 path to your block list text file in your S3 bucket.

    Each block word or phrase should be on a separate line in a text file.

    For information on the current quota limits for block lists, see [Quotas for Amazon Kendra].

    [1]: docs.aws.amazon.com/kendra/latest/dg/quotas.html

  • :client_token (String)

    A token that you provide to identify the request to create a query suggestions block list.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

  • :role_arn (required, String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access your S3 bucket that contains the block list text file. For more information, see [IAM access roles for Amazon Kendra].

    [1]: docs.aws.amazon.com/kendra/latest/dg/iam-roles.html

  • :tags (Array<Types::Tag>)

    A list of key-value pairs that identify or categorize the block list. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

Returns:

See Also:



2502
2503
2504
2505
# File 'lib/aws-sdk-kendra/client.rb', line 2502

def create_query_suggestions_block_list(params = {}, options = {})
  req = build_request(:create_query_suggestions_block_list, params)
  req.send_request(options)
end

#create_thesaurus(params = {}) ⇒ Types::CreateThesaurusResponse

Creates a thesaurus for an index. The thesaurus contains a list of synonyms in Solr format.

For an example of adding a thesaurus file to an index, see [Adding custom synonyms to an index].

[1]: docs.aws.amazon.com/kendra/latest/dg/index-synonyms-adding-thesaurus-file.html

Examples:

Request syntax with placeholder values


resp = client.create_thesaurus({
  index_id: "IndexId", # required
  name: "ThesaurusName", # required
  description: "Description",
  role_arn: "RoleArn", # required
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  source_s3_path: { # required
    bucket: "S3BucketName", # required
    key: "S3ObjectKey", # required
  },
  client_token: "ClientTokenName",
})

Response structure


resp.id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for the thesaurus.

  • :name (required, String)

    A name for the thesaurus.

  • :description (String)

    A description for the thesaurus.

  • :role_arn (required, String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access your S3 bucket that contains the thesaurus file. For more information, see [IAM access roles for Amazon Kendra].

    [1]: docs.aws.amazon.com/kendra/latest/dg/iam-roles.html

  • :tags (Array<Types::Tag>)

    A list of key-value pairs that identify or categorize the thesaurus. You can also use tags to help control access to the thesaurus. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

  • :source_s3_path (required, Types::S3Path)

    The path to the thesaurus file in S3.

  • :client_token (String)

    A token that you provide to identify the request to create a thesaurus. Multiple calls to the ‘CreateThesaurus` API with the same client token will create only one thesaurus.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

Returns:

See Also:



2584
2585
2586
2587
# File 'lib/aws-sdk-kendra/client.rb', line 2584

def create_thesaurus(params = {}, options = {})
  req = build_request(:create_thesaurus, params)
  req.send_request(options)
end

#delete_access_control_configuration(params = {}) ⇒ Struct

Deletes an access control configuration that you created for your documents in an index. This includes user and group access information for your documents. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

Examples:

Request syntax with placeholder values


resp = client.delete_access_control_configuration({
  index_id: "IndexId", # required
  id: "AccessControlConfigurationId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for an access control configuration.

  • :id (required, String)

    The identifier of the access control configuration you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2614
2615
2616
2617
# File 'lib/aws-sdk-kendra/client.rb', line 2614

def delete_access_control_configuration(params = {}, options = {})
  req = build_request(:delete_access_control_configuration, params)
  req.send_request(options)
end

#delete_data_source(params = {}) ⇒ Struct

Deletes an Amazon Kendra data source connector. An exception is not thrown if the data source is already being deleted. While the data source is being deleted, the ‘Status` field returned by a call to the `DescribeDataSource` API is set to `DELETING`. For more information, see [Deleting Data Sources].

Deleting an entire data source or re-syncing your index after deleting specific documents from a data source could take up to an hour or more, depending on the number of documents you want to delete.

[1]: docs.aws.amazon.com/kendra/latest/dg/delete-data-source.html

Examples:

Request syntax with placeholder values


resp = client.delete_data_source({
  id: "DataSourceId", # required
  index_id: "IndexId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the data source connector you want to delete.

  • :index_id (required, String)

    The identifier of the index used with the data source connector.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2652
2653
2654
2655
# File 'lib/aws-sdk-kendra/client.rb', line 2652

def delete_data_source(params = {}, options = {})
  req = build_request(:delete_data_source, params)
  req.send_request(options)
end

#delete_experience(params = {}) ⇒ Struct

Deletes your Amazon Kendra experience such as a search application. For more information on creating a search application experience, see [Building a search experience with no code].

[1]: docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html

Examples:

Request syntax with placeholder values


resp = client.delete_experience({
  id: "ExperienceId", # required
  index_id: "IndexId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of your Amazon Kendra experience you want to delete.

  • :index_id (required, String)

    The identifier of the index for your Amazon Kendra experience.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2684
2685
2686
2687
# File 'lib/aws-sdk-kendra/client.rb', line 2684

def delete_experience(params = {}, options = {})
  req = build_request(:delete_experience, params)
  req.send_request(options)
end

#delete_faq(params = {}) ⇒ Struct

Removes a FAQ from an index.

Examples:

Request syntax with placeholder values


resp = client.delete_faq({
  id: "FaqId", # required
  index_id: "IndexId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the FAQ you want to remove.

  • :index_id (required, String)

    The identifier of the index for the FAQ.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2710
2711
2712
2713
# File 'lib/aws-sdk-kendra/client.rb', line 2710

def delete_faq(params = {}, options = {})
  req = build_request(:delete_faq, params)
  req.send_request(options)
end

#delete_index(params = {}) ⇒ Struct

Deletes an Amazon Kendra index. An exception is not thrown if the index is already being deleted. While the index is being deleted, the ‘Status` field returned by a call to the `DescribeIndex` API is set to `DELETING`.

Examples:

Request syntax with placeholder values


resp = client.delete_index({
  id: "IndexId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the index you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2735
2736
2737
2738
# File 'lib/aws-sdk-kendra/client.rb', line 2735

def delete_index(params = {}, options = {})
  req = build_request(:delete_index, params)
  req.send_request(options)
end

#delete_principal_mapping(params = {}) ⇒ Struct

Deletes a group so that all users that belong to the group can no longer access documents only available to that group.

For example, after deleting the group “Summer Interns”, all interns who belonged to that group no longer see intern-only documents in their search results.

If you want to delete or replace users or sub groups of a group, you need to use the ‘PutPrincipalMapping` operation. For example, if a user in the group “Engineering” leaves the engineering team and another user takes their place, you provide an updated list of users or sub groups that belong to the “Engineering” group when calling `PutPrincipalMapping`. You can update your internal list of users or sub groups and input this list when calling `PutPrincipalMapping`.

‘DeletePrincipalMapping` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Examples:

Request syntax with placeholder values


resp = client.delete_principal_mapping({
  index_id: "IndexId", # required
  data_source_id: "DataSourceId",
  group_id: "GroupId", # required
  ordering_id: 1,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index you want to delete a group from.

  • :data_source_id (String)

    The identifier of the data source you want to delete a group from.

    A group can be tied to multiple data sources. You can delete a group from accessing documents in a certain data source. For example, the groups “Research”, “Engineering”, and “Sales and Marketing” are all tied to the company’s documents stored in the data sources Confluence and Salesforce. You want to delete “Research” and “Engineering” groups from Salesforce, so that these groups cannot access customer-related documents stored in Salesforce. Only “Sales and Marketing” should access documents in the Salesforce data source.

  • :group_id (required, String)

    The identifier of the group you want to delete.

  • :ordering_id (Integer)

    The timestamp identifier you specify to ensure Amazon Kendra does not override the latest ‘DELETE` action with previous actions. The highest number ID, which is the ordering ID, is the latest action you want to process and apply on top of other actions with lower number IDs. This prevents previous actions with lower number IDs from possibly overriding the latest action.

    The ordering ID can be the Unix time of the last update you made to a group members list. You would then provide this list when calling ‘PutPrincipalMapping`. This ensures your `DELETE` action for that updated group with the latest members list doesn’t get overwritten by earlier ‘DELETE` actions for the same group which are yet to be processed.

    The default ordering ID is the current Unix time in milliseconds that the action was received by Amazon Kendra.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2809
2810
2811
2812
# File 'lib/aws-sdk-kendra/client.rb', line 2809

def delete_principal_mapping(params = {}, options = {})
  req = build_request(:delete_principal_mapping, params)
  req.send_request(options)
end

#delete_query_suggestions_block_list(params = {}) ⇒ Struct

Deletes a block list used for query suggestions for an index.

A deleted block list might not take effect right away. Amazon Kendra needs to refresh the entire suggestions list to add back the queries that were previously blocked.

‘DeleteQuerySuggestionsBlockList` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Examples:

Request syntax with placeholder values


resp = client.delete_query_suggestions_block_list({
  index_id: "IndexId", # required
  id: "QuerySuggestionsBlockListId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for the block list.

  • :id (required, String)

    The identifier of the block list you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2842
2843
2844
2845
# File 'lib/aws-sdk-kendra/client.rb', line 2842

def delete_query_suggestions_block_list(params = {}, options = {})
  req = build_request(:delete_query_suggestions_block_list, params)
  req.send_request(options)
end

#delete_thesaurus(params = {}) ⇒ Struct

Deletes an Amazon Kendra thesaurus.

Examples:

Request syntax with placeholder values


resp = client.delete_thesaurus({
  id: "ThesaurusId", # required
  index_id: "IndexId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the thesaurus you want to delete.

  • :index_id (required, String)

    The identifier of the index for the thesaurus.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2868
2869
2870
2871
# File 'lib/aws-sdk-kendra/client.rb', line 2868

def delete_thesaurus(params = {}, options = {})
  req = build_request(:delete_thesaurus, params)
  req.send_request(options)
end

#describe_access_control_configuration(params = {}) ⇒ Types::DescribeAccessControlConfigurationResponse

Gets information about an access control configuration that you created for your documents in an index. This includes user and group access information for your documents. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

Examples:

Request syntax with placeholder values


resp = client.describe_access_control_configuration({
  index_id: "IndexId", # required
  id: "AccessControlConfigurationId", # required
})

Response structure


resp.name #=> String
resp.description #=> String
resp.error_message #=> String
resp.access_control_list #=> Array
resp.access_control_list[0].name #=> String
resp.access_control_list[0].type #=> String, one of "USER", "GROUP"
resp.access_control_list[0].access #=> String, one of "ALLOW", "DENY"
resp.access_control_list[0].data_source_id #=> String
resp.hierarchical_access_control_list #=> Array
resp.hierarchical_access_control_list[0].principal_list #=> Array
resp.hierarchical_access_control_list[0].principal_list[0].name #=> String
resp.hierarchical_access_control_list[0].principal_list[0].type #=> String, one of "USER", "GROUP"
resp.hierarchical_access_control_list[0].principal_list[0].access #=> String, one of "ALLOW", "DENY"
resp.hierarchical_access_control_list[0].principal_list[0].data_source_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for an access control configuration.

  • :id (required, String)

    The identifier of the access control configuration you want to get information on.

Returns:

See Also:



2922
2923
2924
2925
# File 'lib/aws-sdk-kendra/client.rb', line 2922

def describe_access_control_configuration(params = {}, options = {})
  req = build_request(:describe_access_control_configuration, params)
  req.send_request(options)
end

#describe_data_source(params = {}) ⇒ Types::DescribeDataSourceResponse

Gets information about an Amazon Kendra data source connector.

Examples:

Request syntax with placeholder values


resp = client.describe_data_source({
  id: "DataSourceId", # required
  index_id: "IndexId", # required
})

Response structure


resp.id #=> String
resp.index_id #=> String
resp.name #=> String
resp.type #=> String, one of "S3", "SHAREPOINT", "DATABASE", "SALESFORCE", "ONEDRIVE", "SERVICENOW", "CUSTOM", "CONFLUENCE", "GOOGLEDRIVE", "WEBCRAWLER", "WORKDOCS", "FSX", "SLACK", "BOX", "QUIP", "JIRA", "GITHUB", "ALFRESCO", "TEMPLATE"
resp.configuration.s3_configuration.bucket_name #=> String
resp.configuration.s3_configuration.inclusion_prefixes #=> Array
resp.configuration.s3_configuration.inclusion_prefixes[0] #=> String
resp.configuration.s3_configuration.inclusion_patterns #=> Array
resp.configuration.s3_configuration.inclusion_patterns[0] #=> String
resp.configuration.s3_configuration.exclusion_patterns #=> Array
resp.configuration.s3_configuration.exclusion_patterns[0] #=> String
resp.configuration.s3_configuration..s3_prefix #=> String
resp.configuration.s3_configuration.access_control_list_configuration.key_path #=> String
resp.configuration.share_point_configuration.share_point_version #=> String, one of "SHAREPOINT_2013", "SHAREPOINT_2016", "SHAREPOINT_ONLINE", "SHAREPOINT_2019"
resp.configuration.share_point_configuration.urls #=> Array
resp.configuration.share_point_configuration.urls[0] #=> String
resp.configuration.share_point_configuration.secret_arn #=> String
resp.configuration.share_point_configuration.crawl_attachments #=> Boolean
resp.configuration.share_point_configuration.use_change_log #=> Boolean
resp.configuration.share_point_configuration.inclusion_patterns #=> Array
resp.configuration.share_point_configuration.inclusion_patterns[0] #=> String
resp.configuration.share_point_configuration.exclusion_patterns #=> Array
resp.configuration.share_point_configuration.exclusion_patterns[0] #=> String
resp.configuration.share_point_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.share_point_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.share_point_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.share_point_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.share_point_configuration.field_mappings #=> Array
resp.configuration.share_point_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.share_point_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.share_point_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.share_point_configuration.document_title_field_name #=> String
resp.configuration.share_point_configuration.disable_local_groups #=> Boolean
resp.configuration.share_point_configuration.ssl_certificate_s3_path.bucket #=> String
resp.configuration.share_point_configuration.ssl_certificate_s3_path.key #=> String
resp.configuration.share_point_configuration.authentication_type #=> String, one of "HTTP_BASIC", "OAUTH2"
resp.configuration.share_point_configuration.proxy_configuration.host #=> String
resp.configuration.share_point_configuration.proxy_configuration.port #=> Integer
resp.configuration.share_point_configuration.proxy_configuration.credentials #=> String
resp.configuration.database_configuration.database_engine_type #=> String, one of "RDS_AURORA_MYSQL", "RDS_AURORA_POSTGRESQL", "RDS_MYSQL", "RDS_POSTGRESQL"
resp.configuration.database_configuration.connection_configuration.database_host #=> String
resp.configuration.database_configuration.connection_configuration.database_port #=> Integer
resp.configuration.database_configuration.connection_configuration.database_name #=> String
resp.configuration.database_configuration.connection_configuration.table_name #=> String
resp.configuration.database_configuration.connection_configuration.secret_arn #=> String
resp.configuration.database_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.database_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.database_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.database_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.database_configuration.column_configuration.document_id_column_name #=> String
resp.configuration.database_configuration.column_configuration.document_data_column_name #=> String
resp.configuration.database_configuration.column_configuration.document_title_column_name #=> String
resp.configuration.database_configuration.column_configuration.field_mappings #=> Array
resp.configuration.database_configuration.column_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.database_configuration.column_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.database_configuration.column_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.database_configuration.column_configuration.change_detecting_columns #=> Array
resp.configuration.database_configuration.column_configuration.change_detecting_columns[0] #=> String
resp.configuration.database_configuration.acl_configuration.allowed_groups_column_name #=> String
resp.configuration.database_configuration.sql_configuration.query_identifiers_enclosing_option #=> String, one of "DOUBLE_QUOTES", "NONE"
resp.configuration.salesforce_configuration.server_url #=> String
resp.configuration.salesforce_configuration.secret_arn #=> String
resp.configuration.salesforce_configuration.standard_object_configurations #=> Array
resp.configuration.salesforce_configuration.standard_object_configurations[0].name #=> String, one of "ACCOUNT", "CAMPAIGN", "CASE", "CONTACT", "CONTRACT", "DOCUMENT", "GROUP", "IDEA", "LEAD", "OPPORTUNITY", "PARTNER", "PRICEBOOK", "PRODUCT", "PROFILE", "SOLUTION", "TASK", "USER"
resp.configuration.salesforce_configuration.standard_object_configurations[0].document_data_field_name #=> String
resp.configuration.salesforce_configuration.standard_object_configurations[0].document_title_field_name #=> String
resp.configuration.salesforce_configuration.standard_object_configurations[0].field_mappings #=> Array
resp.configuration.salesforce_configuration.standard_object_configurations[0].field_mappings[0].data_source_field_name #=> String
resp.configuration.salesforce_configuration.standard_object_configurations[0].field_mappings[0].date_field_format #=> String
resp.configuration.salesforce_configuration.standard_object_configurations[0].field_mappings[0].index_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.included_states #=> Array
resp.configuration.salesforce_configuration.knowledge_article_configuration.included_states[0] #=> String, one of "DRAFT", "PUBLISHED", "ARCHIVED"
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.document_data_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.document_title_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.field_mappings #=> Array
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations #=> Array
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].document_data_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].document_title_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].field_mappings #=> Array
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].field_mappings[0].data_source_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].field_mappings[0].date_field_format #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].field_mappings[0].index_field_name #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.document_data_field_name #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.document_title_field_name #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.field_mappings #=> Array
resp.configuration.salesforce_configuration.chatter_feed_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.include_filter_types #=> Array
resp.configuration.salesforce_configuration.chatter_feed_configuration.include_filter_types[0] #=> String, one of "ACTIVE_USER", "STANDARD_USER"
resp.configuration.salesforce_configuration.crawl_attachments #=> Boolean
resp.configuration.salesforce_configuration.standard_object_attachment_configuration.document_title_field_name #=> String
resp.configuration.salesforce_configuration.standard_object_attachment_configuration.field_mappings #=> Array
resp.configuration.salesforce_configuration.standard_object_attachment_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.salesforce_configuration.standard_object_attachment_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.salesforce_configuration.standard_object_attachment_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.salesforce_configuration.include_attachment_file_patterns #=> Array
resp.configuration.salesforce_configuration.include_attachment_file_patterns[0] #=> String
resp.configuration.salesforce_configuration.exclude_attachment_file_patterns #=> Array
resp.configuration.salesforce_configuration.exclude_attachment_file_patterns[0] #=> String
resp.configuration.one_drive_configuration.tenant_domain #=> String
resp.configuration.one_drive_configuration.secret_arn #=> String
resp.configuration.one_drive_configuration.one_drive_users.one_drive_user_list #=> Array
resp.configuration.one_drive_configuration.one_drive_users.one_drive_user_list[0] #=> String
resp.configuration.one_drive_configuration.one_drive_users.one_drive_user_s3_path.bucket #=> String
resp.configuration.one_drive_configuration.one_drive_users.one_drive_user_s3_path.key #=> String
resp.configuration.one_drive_configuration.inclusion_patterns #=> Array
resp.configuration.one_drive_configuration.inclusion_patterns[0] #=> String
resp.configuration.one_drive_configuration.exclusion_patterns #=> Array
resp.configuration.one_drive_configuration.exclusion_patterns[0] #=> String
resp.configuration.one_drive_configuration.field_mappings #=> Array
resp.configuration.one_drive_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.one_drive_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.one_drive_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.one_drive_configuration.disable_local_groups #=> Boolean
resp.configuration.service_now_configuration.host_url #=> String
resp.configuration.service_now_configuration.secret_arn #=> String
resp.configuration.service_now_configuration.service_now_build_version #=> String, one of "LONDON", "OTHERS"
resp.configuration.service_now_configuration.knowledge_article_configuration.crawl_attachments #=> Boolean
resp.configuration.service_now_configuration.knowledge_article_configuration.include_attachment_file_patterns #=> Array
resp.configuration.service_now_configuration.knowledge_article_configuration.include_attachment_file_patterns[0] #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.exclude_attachment_file_patterns #=> Array
resp.configuration.service_now_configuration.knowledge_article_configuration.exclude_attachment_file_patterns[0] #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.document_data_field_name #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.document_title_field_name #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.field_mappings #=> Array
resp.configuration.service_now_configuration.knowledge_article_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.filter_query #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.crawl_attachments #=> Boolean
resp.configuration.service_now_configuration.service_catalog_configuration.include_attachment_file_patterns #=> Array
resp.configuration.service_now_configuration.service_catalog_configuration.include_attachment_file_patterns[0] #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.exclude_attachment_file_patterns #=> Array
resp.configuration.service_now_configuration.service_catalog_configuration.exclude_attachment_file_patterns[0] #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.document_data_field_name #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.document_title_field_name #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.field_mappings #=> Array
resp.configuration.service_now_configuration.service_catalog_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.service_now_configuration.authentication_type #=> String, one of "HTTP_BASIC", "OAUTH2"
resp.configuration.confluence_configuration.server_url #=> String
resp.configuration.confluence_configuration.secret_arn #=> String
resp.configuration.confluence_configuration.version #=> String, one of "CLOUD", "SERVER"
resp.configuration.confluence_configuration.space_configuration.crawl_personal_spaces #=> Boolean
resp.configuration.confluence_configuration.space_configuration.crawl_archived_spaces #=> Boolean
resp.configuration.confluence_configuration.space_configuration.include_spaces #=> Array
resp.configuration.confluence_configuration.space_configuration.include_spaces[0] #=> String
resp.configuration.confluence_configuration.space_configuration.exclude_spaces #=> Array
resp.configuration.confluence_configuration.space_configuration.exclude_spaces[0] #=> String
resp.configuration.confluence_configuration.space_configuration.space_field_mappings #=> Array
resp.configuration.confluence_configuration.space_configuration.space_field_mappings[0].data_source_field_name #=> String, one of "DISPLAY_URL", "ITEM_TYPE", "SPACE_KEY", "URL"
resp.configuration.confluence_configuration.space_configuration.space_field_mappings[0].date_field_format #=> String
resp.configuration.confluence_configuration.space_configuration.space_field_mappings[0].index_field_name #=> String
resp.configuration.confluence_configuration.page_configuration.page_field_mappings #=> Array
resp.configuration.confluence_configuration.page_configuration.page_field_mappings[0].data_source_field_name #=> String, one of "AUTHOR", "CONTENT_STATUS", "CREATED_DATE", "DISPLAY_URL", "ITEM_TYPE", "LABELS", "MODIFIED_DATE", "PARENT_ID", "SPACE_KEY", "SPACE_NAME", "URL", "VERSION"
resp.configuration.confluence_configuration.page_configuration.page_field_mappings[0].date_field_format #=> String
resp.configuration.confluence_configuration.page_configuration.page_field_mappings[0].index_field_name #=> String
resp.configuration.confluence_configuration.blog_configuration.blog_field_mappings #=> Array
resp.configuration.confluence_configuration.blog_configuration.blog_field_mappings[0].data_source_field_name #=> String, one of "AUTHOR", "DISPLAY_URL", "ITEM_TYPE", "LABELS", "PUBLISH_DATE", "SPACE_KEY", "SPACE_NAME", "URL", "VERSION"
resp.configuration.confluence_configuration.blog_configuration.blog_field_mappings[0].date_field_format #=> String
resp.configuration.confluence_configuration.blog_configuration.blog_field_mappings[0].index_field_name #=> String
resp.configuration.confluence_configuration.attachment_configuration.crawl_attachments #=> Boolean
resp.configuration.confluence_configuration.attachment_configuration.attachment_field_mappings #=> Array
resp.configuration.confluence_configuration.attachment_configuration.attachment_field_mappings[0].data_source_field_name #=> String, one of "AUTHOR", "CONTENT_TYPE", "CREATED_DATE", "DISPLAY_URL", "FILE_SIZE", "ITEM_TYPE", "PARENT_ID", "SPACE_KEY", "SPACE_NAME", "URL", "VERSION"
resp.configuration.confluence_configuration.attachment_configuration.attachment_field_mappings[0].date_field_format #=> String
resp.configuration.confluence_configuration.attachment_configuration.attachment_field_mappings[0].index_field_name #=> String
resp.configuration.confluence_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.confluence_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.confluence_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.confluence_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.confluence_configuration.inclusion_patterns #=> Array
resp.configuration.confluence_configuration.inclusion_patterns[0] #=> String
resp.configuration.confluence_configuration.exclusion_patterns #=> Array
resp.configuration.confluence_configuration.exclusion_patterns[0] #=> String
resp.configuration.confluence_configuration.proxy_configuration.host #=> String
resp.configuration.confluence_configuration.proxy_configuration.port #=> Integer
resp.configuration.confluence_configuration.proxy_configuration.credentials #=> String
resp.configuration.confluence_configuration.authentication_type #=> String, one of "HTTP_BASIC", "PAT"
resp.configuration.google_drive_configuration.secret_arn #=> String
resp.configuration.google_drive_configuration.inclusion_patterns #=> Array
resp.configuration.google_drive_configuration.inclusion_patterns[0] #=> String
resp.configuration.google_drive_configuration.exclusion_patterns #=> Array
resp.configuration.google_drive_configuration.exclusion_patterns[0] #=> String
resp.configuration.google_drive_configuration.field_mappings #=> Array
resp.configuration.google_drive_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.google_drive_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.google_drive_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.google_drive_configuration.exclude_mime_types #=> Array
resp.configuration.google_drive_configuration.exclude_mime_types[0] #=> String
resp.configuration.google_drive_configuration.exclude_user_accounts #=> Array
resp.configuration.google_drive_configuration.exclude_user_accounts[0] #=> String
resp.configuration.google_drive_configuration.exclude_shared_drives #=> Array
resp.configuration.google_drive_configuration.exclude_shared_drives[0] #=> String
resp.configuration.web_crawler_configuration.urls.seed_url_configuration.seed_urls #=> Array
resp.configuration.web_crawler_configuration.urls.seed_url_configuration.seed_urls[0] #=> String
resp.configuration.web_crawler_configuration.urls.seed_url_configuration.web_crawler_mode #=> String, one of "HOST_ONLY", "SUBDOMAINS", "EVERYTHING"
resp.configuration.web_crawler_configuration.urls.site_maps_configuration.site_maps #=> Array
resp.configuration.web_crawler_configuration.urls.site_maps_configuration.site_maps[0] #=> String
resp.configuration.web_crawler_configuration.crawl_depth #=> Integer
resp.configuration.web_crawler_configuration.max_links_per_page #=> Integer
resp.configuration.web_crawler_configuration.max_content_size_per_page_in_mega_bytes #=> Float
resp.configuration.web_crawler_configuration.max_urls_per_minute_crawl_rate #=> Integer
resp.configuration.web_crawler_configuration.url_inclusion_patterns #=> Array
resp.configuration.web_crawler_configuration.url_inclusion_patterns[0] #=> String
resp.configuration.web_crawler_configuration.url_exclusion_patterns #=> Array
resp.configuration.web_crawler_configuration.url_exclusion_patterns[0] #=> String
resp.configuration.web_crawler_configuration.proxy_configuration.host #=> String
resp.configuration.web_crawler_configuration.proxy_configuration.port #=> Integer
resp.configuration.web_crawler_configuration.proxy_configuration.credentials #=> String
resp.configuration.web_crawler_configuration.authentication_configuration.basic_authentication #=> Array
resp.configuration.web_crawler_configuration.authentication_configuration.basic_authentication[0].host #=> String
resp.configuration.web_crawler_configuration.authentication_configuration.basic_authentication[0].port #=> Integer
resp.configuration.web_crawler_configuration.authentication_configuration.basic_authentication[0].credentials #=> String
resp.configuration.work_docs_configuration.organization_id #=> String
resp.configuration.work_docs_configuration.crawl_comments #=> Boolean
resp.configuration.work_docs_configuration.use_change_log #=> Boolean
resp.configuration.work_docs_configuration.inclusion_patterns #=> Array
resp.configuration.work_docs_configuration.inclusion_patterns[0] #=> String
resp.configuration.work_docs_configuration.exclusion_patterns #=> Array
resp.configuration.work_docs_configuration.exclusion_patterns[0] #=> String
resp.configuration.work_docs_configuration.field_mappings #=> Array
resp.configuration.work_docs_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.work_docs_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.work_docs_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.fsx_configuration.file_system_id #=> String
resp.configuration.fsx_configuration.file_system_type #=> String, one of "WINDOWS"
resp.configuration.fsx_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.fsx_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.fsx_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.fsx_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.fsx_configuration.secret_arn #=> String
resp.configuration.fsx_configuration.inclusion_patterns #=> Array
resp.configuration.fsx_configuration.inclusion_patterns[0] #=> String
resp.configuration.fsx_configuration.exclusion_patterns #=> Array
resp.configuration.fsx_configuration.exclusion_patterns[0] #=> String
resp.configuration.fsx_configuration.field_mappings #=> Array
resp.configuration.fsx_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.fsx_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.fsx_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.slack_configuration.team_id #=> String
resp.configuration.slack_configuration.secret_arn #=> String
resp.configuration.slack_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.slack_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.slack_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.slack_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.slack_configuration.slack_entity_list #=> Array
resp.configuration.slack_configuration.slack_entity_list[0] #=> String, one of "PUBLIC_CHANNEL", "PRIVATE_CHANNEL", "GROUP_MESSAGE", "DIRECT_MESSAGE"
resp.configuration.slack_configuration.use_change_log #=> Boolean
resp.configuration.slack_configuration.crawl_bot_message #=> Boolean
resp.configuration.slack_configuration.exclude_archived #=> Boolean
resp.configuration.slack_configuration.since_crawl_date #=> String
resp.configuration.slack_configuration.look_back_period #=> Integer
resp.configuration.slack_configuration.private_channel_filter #=> Array
resp.configuration.slack_configuration.private_channel_filter[0] #=> String
resp.configuration.slack_configuration.public_channel_filter #=> Array
resp.configuration.slack_configuration.public_channel_filter[0] #=> String
resp.configuration.slack_configuration.inclusion_patterns #=> Array
resp.configuration.slack_configuration.inclusion_patterns[0] #=> String
resp.configuration.slack_configuration.exclusion_patterns #=> Array
resp.configuration.slack_configuration.exclusion_patterns[0] #=> String
resp.configuration.slack_configuration.field_mappings #=> Array
resp.configuration.slack_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.slack_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.slack_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.box_configuration.enterprise_id #=> String
resp.configuration.box_configuration.secret_arn #=> String
resp.configuration.box_configuration.use_change_log #=> Boolean
resp.configuration.box_configuration.crawl_comments #=> Boolean
resp.configuration.box_configuration.crawl_tasks #=> Boolean
resp.configuration.box_configuration.crawl_web_links #=> Boolean
resp.configuration.box_configuration.file_field_mappings #=> Array
resp.configuration.box_configuration.file_field_mappings[0].data_source_field_name #=> String
resp.configuration.box_configuration.file_field_mappings[0].date_field_format #=> String
resp.configuration.box_configuration.file_field_mappings[0].index_field_name #=> String
resp.configuration.box_configuration.task_field_mappings #=> Array
resp.configuration.box_configuration.task_field_mappings[0].data_source_field_name #=> String
resp.configuration.box_configuration.task_field_mappings[0].date_field_format #=> String
resp.configuration.box_configuration.task_field_mappings[0].index_field_name #=> String
resp.configuration.box_configuration.comment_field_mappings #=> Array
resp.configuration.box_configuration.comment_field_mappings[0].data_source_field_name #=> String
resp.configuration.box_configuration.comment_field_mappings[0].date_field_format #=> String
resp.configuration.box_configuration.comment_field_mappings[0].index_field_name #=> String
resp.configuration.box_configuration.web_link_field_mappings #=> Array
resp.configuration.box_configuration.web_link_field_mappings[0].data_source_field_name #=> String
resp.configuration.box_configuration.web_link_field_mappings[0].date_field_format #=> String
resp.configuration.box_configuration.web_link_field_mappings[0].index_field_name #=> String
resp.configuration.box_configuration.inclusion_patterns #=> Array
resp.configuration.box_configuration.inclusion_patterns[0] #=> String
resp.configuration.box_configuration.exclusion_patterns #=> Array
resp.configuration.box_configuration.exclusion_patterns[0] #=> String
resp.configuration.box_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.box_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.box_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.box_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.quip_configuration.domain #=> String
resp.configuration.quip_configuration.secret_arn #=> String
resp.configuration.quip_configuration.crawl_file_comments #=> Boolean
resp.configuration.quip_configuration.crawl_chat_rooms #=> Boolean
resp.configuration.quip_configuration.crawl_attachments #=> Boolean
resp.configuration.quip_configuration.folder_ids #=> Array
resp.configuration.quip_configuration.folder_ids[0] #=> String
resp.configuration.quip_configuration.thread_field_mappings #=> Array
resp.configuration.quip_configuration.thread_field_mappings[0].data_source_field_name #=> String
resp.configuration.quip_configuration.thread_field_mappings[0].date_field_format #=> String
resp.configuration.quip_configuration.thread_field_mappings[0].index_field_name #=> String
resp.configuration.quip_configuration.message_field_mappings #=> Array
resp.configuration.quip_configuration.message_field_mappings[0].data_source_field_name #=> String
resp.configuration.quip_configuration.message_field_mappings[0].date_field_format #=> String
resp.configuration.quip_configuration.message_field_mappings[0].index_field_name #=> String
resp.configuration.quip_configuration.attachment_field_mappings #=> Array
resp.configuration.quip_configuration.attachment_field_mappings[0].data_source_field_name #=> String
resp.configuration.quip_configuration.attachment_field_mappings[0].date_field_format #=> String
resp.configuration.quip_configuration.attachment_field_mappings[0].index_field_name #=> String
resp.configuration.quip_configuration.inclusion_patterns #=> Array
resp.configuration.quip_configuration.inclusion_patterns[0] #=> String
resp.configuration.quip_configuration.exclusion_patterns #=> Array
resp.configuration.quip_configuration.exclusion_patterns[0] #=> String
resp.configuration.quip_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.quip_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.quip_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.quip_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.jira_configuration. #=> String
resp.configuration.jira_configuration.secret_arn #=> String
resp.configuration.jira_configuration.use_change_log #=> Boolean
resp.configuration.jira_configuration.project #=> Array
resp.configuration.jira_configuration.project[0] #=> String
resp.configuration.jira_configuration.issue_type #=> Array
resp.configuration.jira_configuration.issue_type[0] #=> String
resp.configuration.jira_configuration.status #=> Array
resp.configuration.jira_configuration.status[0] #=> String
resp.configuration.jira_configuration.issue_sub_entity_filter #=> Array
resp.configuration.jira_configuration.issue_sub_entity_filter[0] #=> String, one of "COMMENTS", "ATTACHMENTS", "WORKLOGS"
resp.configuration.jira_configuration.attachment_field_mappings #=> Array
resp.configuration.jira_configuration.attachment_field_mappings[0].data_source_field_name #=> String
resp.configuration.jira_configuration.attachment_field_mappings[0].date_field_format #=> String
resp.configuration.jira_configuration.attachment_field_mappings[0].index_field_name #=> String
resp.configuration.jira_configuration.comment_field_mappings #=> Array
resp.configuration.jira_configuration.comment_field_mappings[0].data_source_field_name #=> String
resp.configuration.jira_configuration.comment_field_mappings[0].date_field_format #=> String
resp.configuration.jira_configuration.comment_field_mappings[0].index_field_name #=> String
resp.configuration.jira_configuration.issue_field_mappings #=> Array
resp.configuration.jira_configuration.issue_field_mappings[0].data_source_field_name #=> String
resp.configuration.jira_configuration.issue_field_mappings[0].date_field_format #=> String
resp.configuration.jira_configuration.issue_field_mappings[0].index_field_name #=> String
resp.configuration.jira_configuration.project_field_mappings #=> Array
resp.configuration.jira_configuration.project_field_mappings[0].data_source_field_name #=> String
resp.configuration.jira_configuration.project_field_mappings[0].date_field_format #=> String
resp.configuration.jira_configuration.project_field_mappings[0].index_field_name #=> String
resp.configuration.jira_configuration.work_log_field_mappings #=> Array
resp.configuration.jira_configuration.work_log_field_mappings[0].data_source_field_name #=> String
resp.configuration.jira_configuration.work_log_field_mappings[0].date_field_format #=> String
resp.configuration.jira_configuration.work_log_field_mappings[0].index_field_name #=> String
resp.configuration.jira_configuration.inclusion_patterns #=> Array
resp.configuration.jira_configuration.inclusion_patterns[0] #=> String
resp.configuration.jira_configuration.exclusion_patterns #=> Array
resp.configuration.jira_configuration.exclusion_patterns[0] #=> String
resp.configuration.jira_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.jira_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.jira_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.jira_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.git_hub_configuration.saa_s_configuration.organization_name #=> String
resp.configuration.git_hub_configuration.saa_s_configuration.host_url #=> String
resp.configuration.git_hub_configuration.on_premise_configuration.host_url #=> String
resp.configuration.git_hub_configuration.on_premise_configuration.organization_name #=> String
resp.configuration.git_hub_configuration.on_premise_configuration.ssl_certificate_s3_path.bucket #=> String
resp.configuration.git_hub_configuration.on_premise_configuration.ssl_certificate_s3_path.key #=> String
resp.configuration.git_hub_configuration.type #=> String, one of "SAAS", "ON_PREMISE"
resp.configuration.git_hub_configuration.secret_arn #=> String
resp.configuration.git_hub_configuration.use_change_log #=> Boolean
resp.configuration.git_hub_configuration.git_hub_document_crawl_properties.crawl_repository_documents #=> Boolean
resp.configuration.git_hub_configuration.git_hub_document_crawl_properties.crawl_issue #=> Boolean
resp.configuration.git_hub_configuration.git_hub_document_crawl_properties.crawl_issue_comment #=> Boolean
resp.configuration.git_hub_configuration.git_hub_document_crawl_properties.crawl_issue_comment_attachment #=> Boolean
resp.configuration.git_hub_configuration.git_hub_document_crawl_properties.crawl_pull_request #=> Boolean
resp.configuration.git_hub_configuration.git_hub_document_crawl_properties.crawl_pull_request_comment #=> Boolean
resp.configuration.git_hub_configuration.git_hub_document_crawl_properties.crawl_pull_request_comment_attachment #=> Boolean
resp.configuration.git_hub_configuration.repository_filter #=> Array
resp.configuration.git_hub_configuration.repository_filter[0] #=> String
resp.configuration.git_hub_configuration.inclusion_folder_name_patterns #=> Array
resp.configuration.git_hub_configuration.inclusion_folder_name_patterns[0] #=> String
resp.configuration.git_hub_configuration.inclusion_file_type_patterns #=> Array
resp.configuration.git_hub_configuration.inclusion_file_type_patterns[0] #=> String
resp.configuration.git_hub_configuration.inclusion_file_name_patterns #=> Array
resp.configuration.git_hub_configuration.inclusion_file_name_patterns[0] #=> String
resp.configuration.git_hub_configuration.exclusion_folder_name_patterns #=> Array
resp.configuration.git_hub_configuration.exclusion_folder_name_patterns[0] #=> String
resp.configuration.git_hub_configuration.exclusion_file_type_patterns #=> Array
resp.configuration.git_hub_configuration.exclusion_file_type_patterns[0] #=> String
resp.configuration.git_hub_configuration.exclusion_file_name_patterns #=> Array
resp.configuration.git_hub_configuration.exclusion_file_name_patterns[0] #=> String
resp.configuration.git_hub_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.git_hub_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.git_hub_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.git_hub_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.git_hub_configuration.git_hub_repository_configuration_field_mappings #=> Array
resp.configuration.git_hub_configuration.git_hub_repository_configuration_field_mappings[0].data_source_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_repository_configuration_field_mappings[0].date_field_format #=> String
resp.configuration.git_hub_configuration.git_hub_repository_configuration_field_mappings[0].index_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_commit_configuration_field_mappings #=> Array
resp.configuration.git_hub_configuration.git_hub_commit_configuration_field_mappings[0].data_source_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_commit_configuration_field_mappings[0].date_field_format #=> String
resp.configuration.git_hub_configuration.git_hub_commit_configuration_field_mappings[0].index_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_issue_document_configuration_field_mappings #=> Array
resp.configuration.git_hub_configuration.git_hub_issue_document_configuration_field_mappings[0].data_source_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_issue_document_configuration_field_mappings[0].date_field_format #=> String
resp.configuration.git_hub_configuration.git_hub_issue_document_configuration_field_mappings[0].index_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_issue_comment_configuration_field_mappings #=> Array
resp.configuration.git_hub_configuration.git_hub_issue_comment_configuration_field_mappings[0].data_source_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_issue_comment_configuration_field_mappings[0].date_field_format #=> String
resp.configuration.git_hub_configuration.git_hub_issue_comment_configuration_field_mappings[0].index_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_issue_attachment_configuration_field_mappings #=> Array
resp.configuration.git_hub_configuration.git_hub_issue_attachment_configuration_field_mappings[0].data_source_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_issue_attachment_configuration_field_mappings[0].date_field_format #=> String
resp.configuration.git_hub_configuration.git_hub_issue_attachment_configuration_field_mappings[0].index_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_pull_request_comment_configuration_field_mappings #=> Array
resp.configuration.git_hub_configuration.git_hub_pull_request_comment_configuration_field_mappings[0].data_source_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_pull_request_comment_configuration_field_mappings[0].date_field_format #=> String
resp.configuration.git_hub_configuration.git_hub_pull_request_comment_configuration_field_mappings[0].index_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_pull_request_document_configuration_field_mappings #=> Array
resp.configuration.git_hub_configuration.git_hub_pull_request_document_configuration_field_mappings[0].data_source_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_pull_request_document_configuration_field_mappings[0].date_field_format #=> String
resp.configuration.git_hub_configuration.git_hub_pull_request_document_configuration_field_mappings[0].index_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_pull_request_document_attachment_configuration_field_mappings #=> Array
resp.configuration.git_hub_configuration.git_hub_pull_request_document_attachment_configuration_field_mappings[0].data_source_field_name #=> String
resp.configuration.git_hub_configuration.git_hub_pull_request_document_attachment_configuration_field_mappings[0].date_field_format #=> String
resp.configuration.git_hub_configuration.git_hub_pull_request_document_attachment_configuration_field_mappings[0].index_field_name #=> String
resp.configuration.alfresco_configuration.site_url #=> String
resp.configuration.alfresco_configuration.site_id #=> String
resp.configuration.alfresco_configuration.secret_arn #=> String
resp.configuration.alfresco_configuration.ssl_certificate_s3_path.bucket #=> String
resp.configuration.alfresco_configuration.ssl_certificate_s3_path.key #=> String
resp.configuration.alfresco_configuration.crawl_system_folders #=> Boolean
resp.configuration.alfresco_configuration.crawl_comments #=> Boolean
resp.configuration.alfresco_configuration.entity_filter #=> Array
resp.configuration.alfresco_configuration.entity_filter[0] #=> String, one of "wiki", "blog", "documentLibrary"
resp.configuration.alfresco_configuration.document_library_field_mappings #=> Array
resp.configuration.alfresco_configuration.document_library_field_mappings[0].data_source_field_name #=> String
resp.configuration.alfresco_configuration.document_library_field_mappings[0].date_field_format #=> String
resp.configuration.alfresco_configuration.document_library_field_mappings[0].index_field_name #=> String
resp.configuration.alfresco_configuration.blog_field_mappings #=> Array
resp.configuration.alfresco_configuration.blog_field_mappings[0].data_source_field_name #=> String
resp.configuration.alfresco_configuration.blog_field_mappings[0].date_field_format #=> String
resp.configuration.alfresco_configuration.blog_field_mappings[0].index_field_name #=> String
resp.configuration.alfresco_configuration.wiki_field_mappings #=> Array
resp.configuration.alfresco_configuration.wiki_field_mappings[0].data_source_field_name #=> String
resp.configuration.alfresco_configuration.wiki_field_mappings[0].date_field_format #=> String
resp.configuration.alfresco_configuration.wiki_field_mappings[0].index_field_name #=> String
resp.configuration.alfresco_configuration.inclusion_patterns #=> Array
resp.configuration.alfresco_configuration.inclusion_patterns[0] #=> String
resp.configuration.alfresco_configuration.exclusion_patterns #=> Array
resp.configuration.alfresco_configuration.exclusion_patterns[0] #=> String
resp.configuration.alfresco_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.alfresco_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.alfresco_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.alfresco_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.vpc_configuration.subnet_ids #=> Array
resp.vpc_configuration.subnet_ids[0] #=> String
resp.vpc_configuration.security_group_ids #=> Array
resp.vpc_configuration.security_group_ids[0] #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.description #=> String
resp.status #=> String, one of "CREATING", "DELETING", "FAILED", "UPDATING", "ACTIVE"
resp.schedule #=> String
resp.role_arn #=> String
resp.error_message #=> String
resp.language_code #=> String
resp.custom_document_enrichment_configuration.inline_configurations #=> Array
resp.custom_document_enrichment_configuration.inline_configurations[0].condition.condition_document_attribute_key #=> String
resp.custom_document_enrichment_configuration.inline_configurations[0].condition.operator #=> String, one of "GreaterThan", "GreaterThanOrEquals", "LessThan", "LessThanOrEquals", "Equals", "NotEquals", "Contains", "NotContains", "Exists", "NotExists", "BeginsWith"
resp.custom_document_enrichment_configuration.inline_configurations[0].condition.condition_on_value.string_value #=> String
resp.custom_document_enrichment_configuration.inline_configurations[0].condition.condition_on_value.string_list_value #=> Array
resp.custom_document_enrichment_configuration.inline_configurations[0].condition.condition_on_value.string_list_value[0] #=> String
resp.custom_document_enrichment_configuration.inline_configurations[0].condition.condition_on_value.long_value #=> Integer
resp.custom_document_enrichment_configuration.inline_configurations[0].condition.condition_on_value.date_value #=> Time
resp.custom_document_enrichment_configuration.inline_configurations[0].target.target_document_attribute_key #=> String
resp.custom_document_enrichment_configuration.inline_configurations[0].target.target_document_attribute_value_deletion #=> Boolean
resp.custom_document_enrichment_configuration.inline_configurations[0].target.target_document_attribute_value.string_value #=> String
resp.custom_document_enrichment_configuration.inline_configurations[0].target.target_document_attribute_value.string_list_value #=> Array
resp.custom_document_enrichment_configuration.inline_configurations[0].target.target_document_attribute_value.string_list_value[0] #=> String
resp.custom_document_enrichment_configuration.inline_configurations[0].target.target_document_attribute_value.long_value #=> Integer
resp.custom_document_enrichment_configuration.inline_configurations[0].target.target_document_attribute_value.date_value #=> Time
resp.custom_document_enrichment_configuration.inline_configurations[0].document_content_deletion #=> Boolean
resp.custom_document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.condition_document_attribute_key #=> String
resp.custom_document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.operator #=> String, one of "GreaterThan", "GreaterThanOrEquals", "LessThan", "LessThanOrEquals", "Equals", "NotEquals", "Contains", "NotContains", "Exists", "NotExists", "BeginsWith"
resp.custom_document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.condition_on_value.string_value #=> String
resp.custom_document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.condition_on_value.string_list_value #=> Array
resp.custom_document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.condition_on_value.string_list_value[0] #=> String
resp.custom_document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.condition_on_value.long_value #=> Integer
resp.custom_document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.condition_on_value.date_value #=> Time
resp.custom_document_enrichment_configuration.pre_extraction_hook_configuration.lambda_arn #=> String
resp.custom_document_enrichment_configuration.pre_extraction_hook_configuration.s3_bucket #=> String
resp.custom_document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.condition_document_attribute_key #=> String
resp.custom_document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.operator #=> String, one of "GreaterThan", "GreaterThanOrEquals", "LessThan", "LessThanOrEquals", "Equals", "NotEquals", "Contains", "NotContains", "Exists", "NotExists", "BeginsWith"
resp.custom_document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.condition_on_value.string_value #=> String
resp.custom_document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.condition_on_value.string_list_value #=> Array
resp.custom_document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.condition_on_value.string_list_value[0] #=> String
resp.custom_document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.condition_on_value.long_value #=> Integer
resp.custom_document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.condition_on_value.date_value #=> Time
resp.custom_document_enrichment_configuration.post_extraction_hook_configuration.lambda_arn #=> String
resp.custom_document_enrichment_configuration.post_extraction_hook_configuration.s3_bucket #=> String
resp.custom_document_enrichment_configuration.role_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the data source connector.

  • :index_id (required, String)

    The identifier of the index used with the data source connector.

Returns:

See Also:



3475
3476
3477
3478
# File 'lib/aws-sdk-kendra/client.rb', line 3475

def describe_data_source(params = {}, options = {})
  req = build_request(:describe_data_source, params)
  req.send_request(options)
end

#describe_experience(params = {}) ⇒ Types::DescribeExperienceResponse

Gets information about your Amazon Kendra experience such as a search application. For more information on creating a search application experience, see [Building a search experience with no code].

[1]: docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html

Examples:

Request syntax with placeholder values


resp = client.describe_experience({
  id: "ExperienceId", # required
  index_id: "IndexId", # required
})

Response structure


resp.id #=> String
resp.index_id #=> String
resp.name #=> String
resp.endpoints #=> Array
resp.endpoints[0].endpoint_type #=> String, one of "HOME"
resp.endpoints[0].endpoint #=> String
resp.configuration.content_source_configuration.data_source_ids #=> Array
resp.configuration.content_source_configuration.data_source_ids[0] #=> String
resp.configuration.content_source_configuration.faq_ids #=> Array
resp.configuration.content_source_configuration.faq_ids[0] #=> String
resp.configuration.content_source_configuration.direct_put_content #=> Boolean
resp.configuration.user_identity_configuration.identity_attribute_name #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.description #=> String
resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED"
resp.role_arn #=> String
resp.error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of your Amazon Kendra experience you want to get information on.

  • :index_id (required, String)

    The identifier of the index for your Amazon Kendra experience.

Returns:

See Also:



3541
3542
3543
3544
# File 'lib/aws-sdk-kendra/client.rb', line 3541

def describe_experience(params = {}, options = {})
  req = build_request(:describe_experience, params)
  req.send_request(options)
end

#describe_faq(params = {}) ⇒ Types::DescribeFaqResponse

Gets information about a FAQ.

Examples:

Request syntax with placeholder values


resp = client.describe_faq({
  id: "FaqId", # required
  index_id: "IndexId", # required
})

Response structure


resp.id #=> String
resp.index_id #=> String
resp.name #=> String
resp.description #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.s3_path.bucket #=> String
resp.s3_path.key #=> String
resp.status #=> String, one of "CREATING", "UPDATING", "ACTIVE", "DELETING", "FAILED"
resp.role_arn #=> String
resp.error_message #=> String
resp.file_format #=> String, one of "CSV", "CSV_WITH_HEADER", "JSON"
resp.language_code #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the FAQ you want to get information on.

  • :index_id (required, String)

    The identifier of the index for the FAQ.

Returns:

See Also:



3596
3597
3598
3599
# File 'lib/aws-sdk-kendra/client.rb', line 3596

def describe_faq(params = {}, options = {})
  req = build_request(:describe_faq, params)
  req.send_request(options)
end

Gets information about a set of featured results. Features results are placed above all other results for certain queries. If there’s an exact match of a query, then one or more specific documents are featured in the search results.

Examples:

Request syntax with placeholder values


resp = client.describe_featured_results_set({
  index_id: "IndexId", # required
  featured_results_set_id: "FeaturedResultsSetId", # required
})

Response structure


resp.featured_results_set_id #=> String
resp.featured_results_set_name #=> String
resp.description #=> String
resp.status #=> String, one of "ACTIVE", "INACTIVE"
resp.query_texts #=> Array
resp.query_texts[0] #=> String
resp. #=> Array
resp.[0].id #=> String
resp.[0].title #=> String
resp.[0].uri #=> String
resp.featured_documents_missing #=> Array
resp.featured_documents_missing[0].id #=> String
resp.last_updated_timestamp #=> Integer
resp.creation_timestamp #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index used for featuring results.

  • :featured_results_set_id (required, String)

    The identifier of the set of featured results that you want to get information on.

Returns:

See Also:



3653
3654
3655
3656
# File 'lib/aws-sdk-kendra/client.rb', line 3653

def describe_featured_results_set(params = {}, options = {})
  req = build_request(:describe_featured_results_set, params)
  req.send_request(options)
end

#describe_index(params = {}) ⇒ Types::DescribeIndexResponse

Gets information about an Amazon Kendra index.

Examples:

Request syntax with placeholder values


resp = client.describe_index({
  id: "IndexId", # required
})

Response structure


resp.name #=> String
resp.id #=> String
resp.edition #=> String, one of "DEVELOPER_EDITION", "ENTERPRISE_EDITION", "GEN_AI_ENTERPRISE_EDITION"
resp.role_arn #=> String
resp.server_side_encryption_configuration.kms_key_id #=> String
resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING", "SYSTEM_UPDATING"
resp.description #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp. #=> Array
resp.[0].name #=> String
resp.[0].type #=> String, one of "STRING_VALUE", "STRING_LIST_VALUE", "LONG_VALUE", "DATE_VALUE"
resp.[0].relevance.freshness #=> Boolean
resp.[0].relevance.importance #=> Integer
resp.[0].relevance.duration #=> String
resp.[0].relevance.rank_order #=> String, one of "ASCENDING", "DESCENDING"
resp.[0].relevance.value_importance_map #=> Hash
resp.[0].relevance.value_importance_map["ValueImportanceMapKey"] #=> Integer
resp.[0].search.facetable #=> Boolean
resp.[0].search.searchable #=> Boolean
resp.[0].search.displayable #=> Boolean
resp.[0].search.sortable #=> Boolean
resp.index_statistics.faq_statistics.indexed_question_answers_count #=> Integer
resp.index_statistics.text_document_statistics.indexed_text_documents_count #=> Integer
resp.index_statistics.text_document_statistics.indexed_text_bytes #=> Integer
resp.error_message #=> String
resp.capacity_units.storage_capacity_units #=> Integer
resp.capacity_units.query_capacity_units #=> Integer
resp.user_token_configurations #=> Array
resp.user_token_configurations[0].jwt_token_type_configuration.key_location #=> String, one of "URL", "SECRET_MANAGER"
resp.user_token_configurations[0].jwt_token_type_configuration.url #=> String
resp.user_token_configurations[0].jwt_token_type_configuration.secret_manager_arn #=> String
resp.user_token_configurations[0].jwt_token_type_configuration.user_name_attribute_field #=> String
resp.user_token_configurations[0].jwt_token_type_configuration.group_attribute_field #=> String
resp.user_token_configurations[0].jwt_token_type_configuration.issuer #=> String
resp.user_token_configurations[0].jwt_token_type_configuration.claim_regex #=> String
resp.user_token_configurations[0].json_token_type_configuration.user_name_attribute_field #=> String
resp.user_token_configurations[0].json_token_type_configuration.group_attribute_field #=> String
resp.user_context_policy #=> String, one of "ATTRIBUTE_FILTER", "USER_TOKEN"
resp.user_group_resolution_configuration.user_group_resolution_mode #=> String, one of "AWS_SSO", "NONE"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the index you want to get information on.

Returns:

See Also:



3735
3736
3737
3738
# File 'lib/aws-sdk-kendra/client.rb', line 3735

def describe_index(params = {}, options = {})
  req = build_request(:describe_index, params)
  req.send_request(options)
end

#describe_principal_mapping(params = {}) ⇒ Types::DescribePrincipalMappingResponse

Describes the processing of ‘PUT` and `DELETE` actions for mapping users to their groups. This includes information on the status of actions currently processing or yet to be processed, when actions were last updated, when actions were received by Amazon Kendra, the latest action that should process and apply after other actions, and useful error messages if an action could not be processed.

‘DescribePrincipalMapping` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Examples:

Request syntax with placeholder values


resp = client.describe_principal_mapping({
  index_id: "IndexId", # required
  data_source_id: "DataSourceId",
  group_id: "GroupId", # required
})

Response structure


resp.index_id #=> String
resp.data_source_id #=> String
resp.group_id #=> String
resp.group_ordering_id_summaries #=> Array
resp.group_ordering_id_summaries[0].status #=> String, one of "FAILED", "SUCCEEDED", "PROCESSING", "DELETING", "DELETED"
resp.group_ordering_id_summaries[0].last_updated_at #=> Time
resp.group_ordering_id_summaries[0].received_at #=> Time
resp.group_ordering_id_summaries[0].ordering_id #=> Integer
resp.group_ordering_id_summaries[0].failure_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index required to check the processing of ‘PUT` and `DELETE` actions for mapping users to their groups.

  • :data_source_id (String)

    The identifier of the data source to check the processing of ‘PUT` and `DELETE` actions for mapping users to their groups.

  • :group_id (required, String)

    The identifier of the group required to check the processing of ‘PUT` and `DELETE` actions for mapping users to their groups.

Returns:

See Also:



3793
3794
3795
3796
# File 'lib/aws-sdk-kendra/client.rb', line 3793

def describe_principal_mapping(params = {}, options = {})
  req = build_request(:describe_principal_mapping, params)
  req.send_request(options)
end

#describe_query_suggestions_block_list(params = {}) ⇒ Types::DescribeQuerySuggestionsBlockListResponse

Gets information about a block list used for query suggestions for an index.

This is used to check the current settings that are applied to a block list.

‘DescribeQuerySuggestionsBlockList` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Examples:

Request syntax with placeholder values


resp = client.describe_query_suggestions_block_list({
  index_id: "IndexId", # required
  id: "QuerySuggestionsBlockListId", # required
})

Response structure


resp.index_id #=> String
resp.id #=> String
resp.name #=> String
resp.description #=> String
resp.status #=> String, one of "ACTIVE", "CREATING", "DELETING", "UPDATING", "ACTIVE_BUT_UPDATE_FAILED", "FAILED"
resp.error_message #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.source_s3_path.bucket #=> String
resp.source_s3_path.key #=> String
resp.item_count #=> Integer
resp.file_size_bytes #=> Integer
resp.role_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for the block list.

  • :id (required, String)

    The identifier of the block list you want to get information on.

Returns:

See Also:



3855
3856
3857
3858
# File 'lib/aws-sdk-kendra/client.rb', line 3855

def describe_query_suggestions_block_list(params = {}, options = {})
  req = build_request(:describe_query_suggestions_block_list, params)
  req.send_request(options)
end

#describe_query_suggestions_config(params = {}) ⇒ Types::DescribeQuerySuggestionsConfigResponse

Gets information on the settings of query suggestions for an index.

This is used to check the current settings applied to query suggestions.

‘DescribeQuerySuggestionsConfig` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Examples:

Request syntax with placeholder values


resp = client.describe_query_suggestions_config({
  index_id: "IndexId", # required
})

Response structure


resp.mode #=> String, one of "ENABLED", "LEARN_ONLY"
resp.status #=> String, one of "ACTIVE", "UPDATING"
resp.query_log_look_back_window_in_days #=> Integer
resp.include_queries_without_user_information #=> Boolean
resp.minimum_number_of_querying_users #=> Integer
resp.minimum_query_count #=> Integer
resp.last_suggestions_build_time #=> Time
resp.last_clear_time #=> Time
resp.total_suggestions_count #=> Integer
resp.attribute_suggestions_config.suggestable_config_list #=> Array
resp.attribute_suggestions_config.suggestable_config_list[0].attribute_name #=> String
resp.attribute_suggestions_config.suggestable_config_list[0].suggestable #=> Boolean
resp.attribute_suggestions_config.attribute_suggestions_mode #=> String, one of "ACTIVE", "INACTIVE"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index with query suggestions that you want to get information on.

Returns:

See Also:



3911
3912
3913
3914
# File 'lib/aws-sdk-kendra/client.rb', line 3911

def describe_query_suggestions_config(params = {}, options = {})
  req = build_request(:describe_query_suggestions_config, params)
  req.send_request(options)
end

#describe_thesaurus(params = {}) ⇒ Types::DescribeThesaurusResponse

Gets information about an Amazon Kendra thesaurus.

Examples:

Request syntax with placeholder values


resp = client.describe_thesaurus({
  id: "ThesaurusId", # required
  index_id: "IndexId", # required
})

Response structure


resp.id #=> String
resp.index_id #=> String
resp.name #=> String
resp.description #=> String
resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "UPDATING", "ACTIVE_BUT_UPDATE_FAILED", "FAILED"
resp.error_message #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.role_arn #=> String
resp.source_s3_path.bucket #=> String
resp.source_s3_path.key #=> String
resp.file_size_bytes #=> Integer
resp.term_count #=> Integer
resp.synonym_rule_count #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the thesaurus you want to get information on.

  • :index_id (required, String)

    The identifier of the index for the thesaurus.

Returns:

See Also:



3968
3969
3970
3971
# File 'lib/aws-sdk-kendra/client.rb', line 3968

def describe_thesaurus(params = {}, options = {})
  req = build_request(:describe_thesaurus, params)
  req.send_request(options)
end

#disassociate_entities_from_experience(params = {}) ⇒ Types::DisassociateEntitiesFromExperienceResponse

Prevents users or groups in your IAM Identity Center identity source from accessing your Amazon Kendra experience. You can create an Amazon Kendra experience such as a search application. For more information on creating a search application experience, see [Building a search experience with no code].

[1]: docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html

Examples:

Request syntax with placeholder values


resp = client.disassociate_entities_from_experience({
  id: "ExperienceId", # required
  index_id: "IndexId", # required
  entity_list: [ # required
    {
      entity_id: "EntityId", # required
      entity_type: "USER", # required, accepts USER, GROUP
    },
  ],
})

Response structure


resp.failed_entity_list #=> Array
resp.failed_entity_list[0].entity_id #=> String
resp.failed_entity_list[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of your Amazon Kendra experience.

  • :index_id (required, String)

    The identifier of the index for your Amazon Kendra experience.

  • :entity_list (required, Array<Types::EntityConfiguration>)

    Lists users or groups in your IAM Identity Center identity source.

Returns:

See Also:



4019
4020
4021
4022
# File 'lib/aws-sdk-kendra/client.rb', line 4019

def disassociate_entities_from_experience(params = {}, options = {})
  req = build_request(:disassociate_entities_from_experience, params)
  req.send_request(options)
end

#disassociate_personas_from_entities(params = {}) ⇒ Types::DisassociatePersonasFromEntitiesResponse

Removes the specific permissions of users or groups in your IAM Identity Center identity source with access to your Amazon Kendra experience. You can create an Amazon Kendra experience such as a search application. For more information on creating a search application experience, see [Building a search experience with no code].

[1]: docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html

Examples:

Request syntax with placeholder values


resp = client.disassociate_personas_from_entities({
  id: "ExperienceId", # required
  index_id: "IndexId", # required
  entity_ids: ["EntityId"], # required
})

Response structure


resp.failed_entity_list #=> Array
resp.failed_entity_list[0].entity_id #=> String
resp.failed_entity_list[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of your Amazon Kendra experience.

  • :index_id (required, String)

    The identifier of the index for your Amazon Kendra experience.

  • :entity_ids (required, Array<String>)

    The identifiers of users or groups in your IAM Identity Center identity source. For example, user IDs could be user emails.

Returns:

See Also:



4067
4068
4069
4070
# File 'lib/aws-sdk-kendra/client.rb', line 4067

def disassociate_personas_from_entities(params = {}, options = {})
  req = build_request(:disassociate_personas_from_entities, params)
  req.send_request(options)
end

#get_query_suggestions(params = {}) ⇒ Types::GetQuerySuggestionsResponse

Fetches the queries that are suggested to your users.

‘GetQuerySuggestions` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Examples:

Request syntax with placeholder values


resp = client.get_query_suggestions({
  index_id: "IndexId", # required
  query_text: "SuggestionQueryText", # required
  max_suggestions_count: 1,
  suggestion_types: ["QUERY"], # accepts QUERY, DOCUMENT_ATTRIBUTES
  attribute_suggestions_config: {
    suggestion_attributes: ["DocumentAttributeKey"],
    additional_response_attributes: ["DocumentAttributeKey"],
    attribute_filter: {
      and_all_filters: [
        {
          # recursive AttributeFilter
        },
      ],
      or_all_filters: [
        {
          # recursive AttributeFilter
        },
      ],
      not_filter: {
        # recursive AttributeFilter
      },
      equals_to: {
        key: "DocumentAttributeKey", # required
        value: { # required
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      contains_all: {
        key: "DocumentAttributeKey", # required
        value: { # required
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      contains_any: {
        key: "DocumentAttributeKey", # required
        value: { # required
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      greater_than: {
        key: "DocumentAttributeKey", # required
        value: { # required
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      greater_than_or_equals: {
        key: "DocumentAttributeKey", # required
        value: { # required
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      less_than: {
        key: "DocumentAttributeKey", # required
        value: { # required
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      less_than_or_equals: {
        key: "DocumentAttributeKey", # required
        value: { # required
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
    },
    user_context: {
      token: "Token",
      user_id: "PrincipalName",
      groups: ["PrincipalName"],
      data_source_groups: [
        {
          group_id: "PrincipalName", # required
          data_source_id: "DataSourceId", # required
        },
      ],
    },
  },
})

Response structure


resp.query_suggestions_id #=> String
resp.suggestions #=> Array
resp.suggestions[0].id #=> String
resp.suggestions[0].value.text.text #=> String
resp.suggestions[0].value.text.highlights #=> Array
resp.suggestions[0].value.text.highlights[0].begin_offset #=> Integer
resp.suggestions[0].value.text.highlights[0].end_offset #=> Integer
resp.suggestions[0].source_documents #=> Array
resp.suggestions[0].source_documents[0].document_id #=> String
resp.suggestions[0].source_documents[0].suggestion_attributes #=> Array
resp.suggestions[0].source_documents[0].suggestion_attributes[0] #=> String
resp.suggestions[0].source_documents[0].additional_attributes #=> Array
resp.suggestions[0].source_documents[0].additional_attributes[0].key #=> String
resp.suggestions[0].source_documents[0].additional_attributes[0].value.string_value #=> String
resp.suggestions[0].source_documents[0].additional_attributes[0].value.string_list_value #=> Array
resp.suggestions[0].source_documents[0].additional_attributes[0].value.string_list_value[0] #=> String
resp.suggestions[0].source_documents[0].additional_attributes[0].value.long_value #=> Integer
resp.suggestions[0].source_documents[0].additional_attributes[0].value.date_value #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index you want to get query suggestions from.

  • :query_text (required, String)

    The text of a user’s query to generate query suggestions.

    A query is suggested if the query prefix matches what a user starts to type as their query.

    Amazon Kendra does not show any suggestions if a user types fewer than two characters or more than 60 characters. A query must also have at least one search result and contain at least one word of more than four characters.

  • :max_suggestions_count (Integer)

    The maximum number of query suggestions you want to show to your users.

  • :suggestion_types (Array<String>)

    The suggestions type to base query suggestions on. The suggestion types are query history or document fields/attributes. You can set one type or the other.

    If you set query history as your suggestions type, Amazon Kendra suggests queries relevant to your users based on popular queries in the query history.

    If you set document fields/attributes as your suggestions type, Amazon Kendra suggests queries relevant to your users based on the contents of document fields.

  • :attribute_suggestions_config (Types::AttributeSuggestionsGetConfig)

    Configuration information for the document fields/attributes that you want to base query suggestions on.

Returns:

See Also:



4244
4245
4246
4247
# File 'lib/aws-sdk-kendra/client.rb', line 4244

def get_query_suggestions(params = {}, options = {})
  req = build_request(:get_query_suggestions, params)
  req.send_request(options)
end

#get_snapshots(params = {}) ⇒ Types::GetSnapshotsResponse

Retrieves search metrics data. The data provides a snapshot of how your users interact with your search application and how effective the application is.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.get_snapshots({
  index_id: "IndexId", # required
  interval: "THIS_MONTH", # required, accepts THIS_MONTH, THIS_WEEK, ONE_WEEK_AGO, TWO_WEEKS_AGO, ONE_MONTH_AGO, TWO_MONTHS_AGO
  metric_type: "QUERIES_BY_COUNT", # required, accepts QUERIES_BY_COUNT, QUERIES_BY_ZERO_CLICK_RATE, QUERIES_BY_ZERO_RESULT_RATE, DOCS_BY_CLICK_COUNT, AGG_QUERY_DOC_METRICS, TREND_QUERY_DOC_METRICS
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.snap_shot_time_filter.start_time #=> Time
resp.snap_shot_time_filter.end_time #=> Time
resp.snapshots_data_header #=> Array
resp.snapshots_data_header[0] #=> String
resp.snapshots_data #=> Array
resp.snapshots_data[0] #=> Array
resp.snapshots_data[0][0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index to get search metrics data.

  • :interval (required, String)

    The time interval or time window to get search metrics data. The time interval uses the time zone of your index. You can view data in the following time windows:

    • ‘THIS_WEEK`: The current week, starting on the Sunday and ending on the day before the current date.

    • ‘ONE_WEEK_AGO`: The previous week, starting on the Sunday and ending on the following Saturday.

    • ‘TWO_WEEKS_AGO`: The week before the previous week, starting on the Sunday and ending on the following Saturday.

    • ‘THIS_MONTH`: The current month, starting on the first day of the month and ending on the day before the current date.

    • ‘ONE_MONTH_AGO`: The previous month, starting on the first day of the month and ending on the last day of the month.

    • ‘TWO_MONTHS_AGO`: The month before the previous month, starting on the first day of the month and ending on last day of the month.

  • :metric_type (required, String)

    The metric you want to retrieve. You can specify only one metric per call.

    For more information about the metrics you can view, see [Gaining insights with search analytics].

    [1]: docs.aws.amazon.com/kendra/latest/dg/search-analytics.html

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of search metrics data.

  • :max_results (Integer)

    The maximum number of returned data for the metric.

Returns:

See Also:



4333
4334
4335
4336
# File 'lib/aws-sdk-kendra/client.rb', line 4333

def get_snapshots(params = {}, options = {})
  req = build_request(:get_snapshots, params)
  req.send_request(options)
end

#list_access_control_configurations(params = {}) ⇒ Types::ListAccessControlConfigurationsResponse

Lists one or more access control configurations for an index. This includes user and group access information for your documents. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_access_control_configurations({
  index_id: "IndexId", # required
  next_token: "String",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.access_control_configurations #=> Array
resp.access_control_configurations[0].id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for the access control configuration.

  • :next_token (String)

    If the previous response was incomplete (because there’s more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of access control configurations.

  • :max_results (Integer)

    The maximum number of access control configurations to return.

Returns:

See Also:



4380
4381
4382
4383
# File 'lib/aws-sdk-kendra/client.rb', line 4380

def list_access_control_configurations(params = {}, options = {})
  req = build_request(:list_access_control_configurations, params)
  req.send_request(options)
end

#list_data_source_sync_jobs(params = {}) ⇒ Types::ListDataSourceSyncJobsResponse

Gets statistics about synchronizing a data source connector.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_data_source_sync_jobs({
  id: "DataSourceId", # required
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
  start_time_filter: {
    start_time: Time.now,
    end_time: Time.now,
  },
  status_filter: "FAILED", # accepts FAILED, SUCCEEDED, SYNCING, INCOMPLETE, STOPPING, ABORTED, SYNCING_INDEXING
})

Response structure


resp.history #=> Array
resp.history[0].execution_id #=> String
resp.history[0].start_time #=> Time
resp.history[0].end_time #=> Time
resp.history[0].status #=> String, one of "FAILED", "SUCCEEDED", "SYNCING", "INCOMPLETE", "STOPPING", "ABORTED", "SYNCING_INDEXING"
resp.history[0].error_message #=> String
resp.history[0].error_code #=> String, one of "InternalError", "InvalidRequest"
resp.history[0].data_source_error_code #=> String
resp.history[0].metrics.documents_added #=> String
resp.history[0].metrics.documents_modified #=> String
resp.history[0].metrics.documents_deleted #=> String
resp.history[0].metrics.documents_failed #=> String
resp.history[0].metrics.documents_scanned #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the data source connector.

  • :index_id (required, String)

    The identifier of the index used with the data source connector.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of jobs.

  • :max_results (Integer)

    The maximum number of synchronization jobs to return in the response. If there are fewer results in the list, this response contains only the actual results.

  • :start_time_filter (Types::TimeRange)

    When specified, the synchronization jobs returned in the list are limited to jobs between the specified dates.

  • :status_filter (String)

    Only returns synchronization jobs with the ‘Status` field equal to the specified status.

Returns:

See Also:



4453
4454
4455
4456
# File 'lib/aws-sdk-kendra/client.rb', line 4453

def list_data_source_sync_jobs(params = {}, options = {})
  req = build_request(:list_data_source_sync_jobs, params)
  req.send_request(options)
end

#list_data_sources(params = {}) ⇒ Types::ListDataSourcesResponse

Lists the data source connectors that you have created.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_data_sources({
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.summary_items #=> Array
resp.summary_items[0].name #=> String
resp.summary_items[0].id #=> String
resp.summary_items[0].type #=> String, one of "S3", "SHAREPOINT", "DATABASE", "SALESFORCE", "ONEDRIVE", "SERVICENOW", "CUSTOM", "CONFLUENCE", "GOOGLEDRIVE", "WEBCRAWLER", "WORKDOCS", "FSX", "SLACK", "BOX", "QUIP", "JIRA", "GITHUB", "ALFRESCO", "TEMPLATE"
resp.summary_items[0].created_at #=> Time
resp.summary_items[0].updated_at #=> Time
resp.summary_items[0].status #=> String, one of "CREATING", "DELETING", "FAILED", "UPDATING", "ACTIVE"
resp.summary_items[0].language_code #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index used with one or more data source connectors.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of data source connectors.

  • :max_results (Integer)

    The maximum number of data source connectors to return.

Returns:

See Also:



4504
4505
4506
4507
# File 'lib/aws-sdk-kendra/client.rb', line 4504

def list_data_sources(params = {}, options = {})
  req = build_request(:list_data_sources, params)
  req.send_request(options)
end

#list_entity_personas(params = {}) ⇒ Types::ListEntityPersonasResponse

Lists specific permissions of users and groups with access to your Amazon Kendra experience.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_entity_personas({
  id: "ExperienceId", # required
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.summary_items #=> Array
resp.summary_items[0].entity_id #=> String
resp.summary_items[0].persona #=> String, one of "OWNER", "VIEWER"
resp.summary_items[0].created_at #=> Time
resp.summary_items[0].updated_at #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of your Amazon Kendra experience.

  • :index_id (required, String)

    The identifier of the index for your Amazon Kendra experience.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of users or groups.

  • :max_results (Integer)

    The maximum number of returned users or groups.

Returns:

See Also:



4556
4557
4558
4559
# File 'lib/aws-sdk-kendra/client.rb', line 4556

def list_entity_personas(params = {}, options = {})
  req = build_request(:list_entity_personas, params)
  req.send_request(options)
end

#list_experience_entities(params = {}) ⇒ Types::ListExperienceEntitiesResponse

Lists users or groups in your IAM Identity Center identity source that are granted access to your Amazon Kendra experience. You can create an Amazon Kendra experience such as a search application. For more information on creating a search application experience, see [Building a search experience with no code].

[1]: docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_experience_entities({
  id: "ExperienceId", # required
  index_id: "IndexId", # required
  next_token: "NextToken",
})

Response structure


resp.summary_items #=> Array
resp.summary_items[0].entity_id #=> String
resp.summary_items[0].entity_type #=> String, one of "USER", "GROUP"
resp.summary_items[0].display_data.user_name #=> String
resp.summary_items[0].display_data.group_name #=> String
resp.summary_items[0].display_data.identified_user_name #=> String
resp.summary_items[0].display_data.first_name #=> String
resp.summary_items[0].display_data.last_name #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of your Amazon Kendra experience.

  • :index_id (required, String)

    The identifier of the index for your Amazon Kendra experience.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of users or groups.

Returns:

See Also:



4614
4615
4616
4617
# File 'lib/aws-sdk-kendra/client.rb', line 4614

def list_experience_entities(params = {}, options = {})
  req = build_request(:list_experience_entities, params)
  req.send_request(options)
end

#list_experiences(params = {}) ⇒ Types::ListExperiencesResponse

Lists one or more Amazon Kendra experiences. You can create an Amazon Kendra experience such as a search application. For more information on creating a search application experience, see [Building a search experience with no code].

[1]: docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_experiences({
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.summary_items #=> Array
resp.summary_items[0].name #=> String
resp.summary_items[0].id #=> String
resp.summary_items[0].created_at #=> Time
resp.summary_items[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED"
resp.summary_items[0].endpoints #=> Array
resp.summary_items[0].endpoints[0].endpoint_type #=> String, one of "HOME"
resp.summary_items[0].endpoints[0].endpoint #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for your Amazon Kendra experience.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of Amazon Kendra experiences.

  • :max_results (Integer)

    The maximum number of returned Amazon Kendra experiences.

Returns:

See Also:



4671
4672
4673
4674
# File 'lib/aws-sdk-kendra/client.rb', line 4671

def list_experiences(params = {}, options = {})
  req = build_request(:list_experiences, params)
  req.send_request(options)
end

#list_faqs(params = {}) ⇒ Types::ListFaqsResponse

Gets a list of FAQs associated with an index.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_faqs({
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.faq_summary_items #=> Array
resp.faq_summary_items[0].id #=> String
resp.faq_summary_items[0].name #=> String
resp.faq_summary_items[0].status #=> String, one of "CREATING", "UPDATING", "ACTIVE", "DELETING", "FAILED"
resp.faq_summary_items[0].created_at #=> Time
resp.faq_summary_items[0].updated_at #=> Time
resp.faq_summary_items[0].file_format #=> String, one of "CSV", "CSV_WITH_HEADER", "JSON"
resp.faq_summary_items[0].language_code #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The index for the FAQs.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of FAQs.

  • :max_results (Integer)

    The maximum number of FAQs to return in the response. If there are fewer results in the list, this response contains only the actual results.

Returns:

See Also:



4722
4723
4724
4725
# File 'lib/aws-sdk-kendra/client.rb', line 4722

def list_faqs(params = {}, options = {})
  req = build_request(:list_faqs, params)
  req.send_request(options)
end

Lists all your sets of featured results for a given index. Features results are placed above all other results for certain queries. If there’s an exact match of a query, then one or more specific documents are featured in the search results.

Examples:

Request syntax with placeholder values


resp = client.list_featured_results_sets({
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.featured_results_set_summary_items #=> Array
resp.featured_results_set_summary_items[0].featured_results_set_id #=> String
resp.featured_results_set_summary_items[0].featured_results_set_name #=> String
resp.featured_results_set_summary_items[0].status #=> String, one of "ACTIVE", "INACTIVE"
resp.featured_results_set_summary_items[0].last_updated_timestamp #=> Integer
resp.featured_results_set_summary_items[0].creation_timestamp #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index used for featuring results.

  • :next_token (String)

    If the response is truncated, Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of featured results sets.

  • :max_results (Integer)

    The maximum number of featured results sets to return.

Returns:

See Also:



4770
4771
4772
4773
# File 'lib/aws-sdk-kendra/client.rb', line 4770

def list_featured_results_sets(params = {}, options = {})
  req = build_request(:list_featured_results_sets, params)
  req.send_request(options)
end

#list_groups_older_than_ordering_id(params = {}) ⇒ Types::ListGroupsOlderThanOrderingIdResponse

Provides a list of groups that are mapped to users before a given ordering or timestamp identifier.

‘ListGroupsOlderThanOrderingId` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_groups_older_than_ordering_id({
  index_id: "IndexId", # required
  data_source_id: "DataSourceId",
  ordering_id: 1, # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.groups_summaries #=> Array
resp.groups_summaries[0].group_id #=> String
resp.groups_summaries[0].ordering_id #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for getting a list of groups mapped to users before a given ordering or timestamp identifier.

  • :data_source_id (String)

    The identifier of the data source for getting a list of groups mapped to users before a given ordering timestamp identifier.

  • :ordering_id (required, Integer)

    The timestamp identifier used for the latest ‘PUT` or `DELETE` action for mapping users to their groups.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of groups that are mapped to users before a given ordering or timestamp identifier.

  • :max_results (Integer)

    The maximum number of returned groups that are mapped to users before a given ordering or timestamp identifier.

Returns:

See Also:



4832
4833
4834
4835
# File 'lib/aws-sdk-kendra/client.rb', line 4832

def list_groups_older_than_ordering_id(params = {}, options = {})
  req = build_request(:list_groups_older_than_ordering_id, params)
  req.send_request(options)
end

#list_indices(params = {}) ⇒ Types::ListIndicesResponse

Lists the Amazon Kendra indexes that you created.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_indices({
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.index_configuration_summary_items #=> Array
resp.index_configuration_summary_items[0].name #=> String
resp.index_configuration_summary_items[0].id #=> String
resp.index_configuration_summary_items[0].edition #=> String, one of "DEVELOPER_EDITION", "ENTERPRISE_EDITION", "GEN_AI_ENTERPRISE_EDITION"
resp.index_configuration_summary_items[0].created_at #=> Time
resp.index_configuration_summary_items[0].updated_at #=> Time
resp.index_configuration_summary_items[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING", "SYSTEM_UPDATING"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of indexes.

  • :max_results (Integer)

    The maximum number of indices to return.

Returns:

See Also:



4876
4877
4878
4879
# File 'lib/aws-sdk-kendra/client.rb', line 4876

def list_indices(params = {}, options = {})
  req = build_request(:list_indices, params)
  req.send_request(options)
end

#list_query_suggestions_block_lists(params = {}) ⇒ Types::ListQuerySuggestionsBlockListsResponse

Lists the block lists used for query suggestions for an index.

For information on the current quota limits for block lists, see [Quotas for Amazon Kendra].

‘ListQuerySuggestionsBlockLists` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

[1]: docs.aws.amazon.com/kendra/latest/dg/quotas.html

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_query_suggestions_block_lists({
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.block_list_summary_items #=> Array
resp.block_list_summary_items[0].id #=> String
resp.block_list_summary_items[0].name #=> String
resp.block_list_summary_items[0].status #=> String, one of "ACTIVE", "CREATING", "DELETING", "UPDATING", "ACTIVE_BUT_UPDATE_FAILED", "FAILED"
resp.block_list_summary_items[0].created_at #=> Time
resp.block_list_summary_items[0].updated_at #=> Time
resp.block_list_summary_items[0].item_count #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for a list of all block lists that exist for that index.

    For information on the current quota limits for block lists, see [Quotas for Amazon Kendra].

    [1]: docs.aws.amazon.com/kendra/latest/dg/quotas.html

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of block lists (‘BlockListSummaryItems`).

  • :max_results (Integer)

    The maximum number of block lists to return.

Returns:

See Also:



4943
4944
4945
4946
# File 'lib/aws-sdk-kendra/client.rb', line 4943

def list_query_suggestions_block_lists(params = {}, options = {})
  req = build_request(:list_query_suggestions_block_lists, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

Gets a list of tags associated with a resource. Indexes, FAQs, data sources, and other resources can have tags associated with them.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "AmazonResourceName", # required
})

Response structure


resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



4983
4984
4985
4986
# File 'lib/aws-sdk-kendra/client.rb', line 4983

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#list_thesauri(params = {}) ⇒ Types::ListThesauriResponse

Lists the thesauri for an index.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_thesauri({
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.thesaurus_summary_items #=> Array
resp.thesaurus_summary_items[0].id #=> String
resp.thesaurus_summary_items[0].name #=> String
resp.thesaurus_summary_items[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "UPDATING", "ACTIVE_BUT_UPDATE_FAILED", "FAILED"
resp.thesaurus_summary_items[0].created_at #=> Time
resp.thesaurus_summary_items[0].updated_at #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index with one or more thesauri.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of thesauri (‘ThesaurusSummaryItems`).

  • :max_results (Integer)

    The maximum number of thesauri to return.

Returns:

See Also:



5031
5032
5033
5034
# File 'lib/aws-sdk-kendra/client.rb', line 5031

def list_thesauri(params = {}, options = {})
  req = build_request(:list_thesauri, params)
  req.send_request(options)
end

#put_principal_mapping(params = {}) ⇒ Struct

Maps users to their groups so that you only need to provide the user ID when you issue the query.

You can also map sub groups to groups. For example, the group “Company Intellectual Property Teams” includes sub groups “Research” and “Engineering”. These sub groups include their own list of users or people who work in these teams. Only users who work in research and engineering, and therefore belong in the intellectual property group, can see top-secret company documents in their search results.

This is useful for user context filtering, where search results are filtered based on the user or their group access to documents. For more information, see [Filtering on user context].

If more than five ‘PUT` actions for a group are currently processing, a validation exception is thrown.

[1]: docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html

Examples:

Request syntax with placeholder values


resp = client.put_principal_mapping({
  index_id: "IndexId", # required
  data_source_id: "DataSourceId",
  group_id: "GroupId", # required
  group_members: { # required
    member_groups: [
      {
        group_id: "GroupId", # required
        data_source_id: "DataSourceId",
      },
    ],
    member_users: [
      {
        user_id: "UserId", # required
      },
    ],
    s3_pathfor_group_members: {
      bucket: "S3BucketName", # required
      key: "S3ObjectKey", # required
    },
  },
  ordering_id: 1,
  role_arn: "RoleArn",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index you want to map users to their groups.

  • :data_source_id (String)

    The identifier of the data source you want to map users to their groups.

    This is useful if a group is tied to multiple data sources, but you only want the group to access documents of a certain data source. For example, the groups “Research”, “Engineering”, and “Sales and Marketing” are all tied to the company’s documents stored in the data sources Confluence and Salesforce. However, “Sales and Marketing” team only needs access to customer-related documents stored in Salesforce.

  • :group_id (required, String)

    The identifier of the group you want to map its users to.

  • :group_members (required, Types::GroupMembers)

    The list that contains your users that belong the same group. This can include sub groups that belong to a group.

    For example, the group “Company A” includes the user “CEO” and the sub groups “Research”, “Engineering”, and “Sales and Marketing”.

    If you have more than 1000 users and/or sub groups for a single group, you need to provide the path to the S3 file that lists your users and sub groups for a group. Your sub groups can contain more than 1000 users, but the list of sub groups that belong to a group (and/or users) must be no more than 1000.

  • :ordering_id (Integer)

    The timestamp identifier you specify to ensure Amazon Kendra doesn’t override the latest ‘PUT` action with previous actions. The highest number ID, which is the ordering ID, is the latest action you want to process and apply on top of other actions with lower number IDs. This prevents previous actions with lower number IDs from possibly overriding the latest action.

    The ordering ID can be the Unix time of the last update you made to a group members list. You would then provide this list when calling ‘PutPrincipalMapping`. This ensures your `PUT` action for that updated group with the latest members list doesn’t get overwritten by earlier ‘PUT` actions for the same group which are yet to be processed.

    The default ordering ID is the current Unix time in milliseconds that the action was received by Amazon Kendra.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of an IAM role that has access to the S3 file that contains your list of users that belong to a group.

    For more information, see [IAM roles for Amazon Kendra].

    [1]: docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds

Returns:

  • (Struct)

    Returns an empty response.

See Also:



5149
5150
5151
5152
# File 'lib/aws-sdk-kendra/client.rb', line 5149

def put_principal_mapping(params = {}, options = {})
  req = build_request(:put_principal_mapping, params)
  req.send_request(options)
end

#query(params = {}) ⇒ Types::QueryResult

Searches an index given an input query.

<note markdown=“1”> If you are working with large language models (LLMs) or implementing retrieval augmented generation (RAG) systems, you can use Amazon Kendra’s [Retrieve] API, which can return longer semantically relevant passages. We recommend using the ‘Retrieve` API instead of filing a service limit increase to increase the `Query` API document excerpt length.

</note>

You can configure boosting or relevance tuning at the query level to override boosting at the index level, filter based on document fields/attributes and faceted search, and filter based on the user or their group access to documents. You can also include certain fields in the response that might provide useful additional information.

A query response contains three types of results.

  • Relevant suggested answers. The answers can be either a text excerpt or table excerpt. The answer can be highlighted in the excerpt.

  • Matching FAQs or questions-answer from your FAQ file.

  • Relevant documents. This result type includes an excerpt of the document with the document title. The searched terms can be highlighted in the excerpt.

You can specify that the query return only one type of result using the ‘QueryResultTypeFilter` parameter. Each query returns the 100 most relevant results. If you filter result type to only question-answers, a maximum of four results are returned. If you filter result type to only answers, a maximum of three results are returned.

If you’re using an Amazon Kendra Gen AI Enterprise Edition index, you can only use ‘ATTRIBUTE_FILTER` to filter search results by user context. If you’re using an Amazon Kendra Gen AI Enterprise Edition index and you try to use ‘USER_TOKEN` to configure user context policy, Amazon Kendra returns a `ValidationException` error.

[1]: docs.aws.amazon.com/kendra/latest/APIReference/API_Retrieve.html

Examples:

Request syntax with placeholder values


resp = client.query({
  index_id: "IndexId", # required
  query_text: "QueryText",
  attribute_filter: {
    and_all_filters: [
      {
        # recursive AttributeFilter
      },
    ],
    or_all_filters: [
      {
        # recursive AttributeFilter
      },
    ],
    not_filter: {
      # recursive AttributeFilter
    },
    equals_to: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    contains_all: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    contains_any: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    greater_than: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    greater_than_or_equals: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    less_than: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    less_than_or_equals: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
  },
  facets: [
    {
      document_attribute_key: "DocumentAttributeKey",
      facets: {
        # recursive FacetList
      },
      max_results: 1,
    },
  ],
  requested_document_attributes: ["DocumentAttributeKey"],
  query_result_type_filter: "DOCUMENT", # accepts DOCUMENT, QUESTION_ANSWER, ANSWER
  document_relevance_override_configurations: [
    {
      name: "DocumentMetadataConfigurationName", # required
      relevance: { # required
        freshness: false,
        importance: 1,
        duration: "Duration",
        rank_order: "ASCENDING", # accepts ASCENDING, DESCENDING
        value_importance_map: {
          "ValueImportanceMapKey" => 1,
        },
      },
    },
  ],
  page_number: 1,
  page_size: 1,
  sorting_configuration: {
    document_attribute_key: "DocumentAttributeKey", # required
    sort_order: "DESC", # required, accepts DESC, ASC
  },
  sorting_configurations: [
    {
      document_attribute_key: "DocumentAttributeKey", # required
      sort_order: "DESC", # required, accepts DESC, ASC
    },
  ],
  user_context: {
    token: "Token",
    user_id: "PrincipalName",
    groups: ["PrincipalName"],
    data_source_groups: [
      {
        group_id: "PrincipalName", # required
        data_source_id: "DataSourceId", # required
      },
    ],
  },
  visitor_id: "VisitorId",
  spell_correction_configuration: {
    include_query_spell_check_suggestions: false, # required
  },
  collapse_configuration: {
    document_attribute_key: "DocumentAttributeKey", # required
    sorting_configurations: [
      {
        document_attribute_key: "DocumentAttributeKey", # required
        sort_order: "DESC", # required, accepts DESC, ASC
      },
    ],
    missing_attribute_key_strategy: "IGNORE", # accepts IGNORE, COLLAPSE, EXPAND
    expand: false,
    expand_configuration: {
      max_result_items_to_expand: 1,
      max_expanded_results_per_item: 1,
    },
  },
})

Response structure


resp.query_id #=> String
resp.result_items #=> Array
resp.result_items[0].id #=> String
resp.result_items[0].type #=> String, one of "DOCUMENT", "QUESTION_ANSWER", "ANSWER"
resp.result_items[0].format #=> String, one of "TABLE", "TEXT"
resp.result_items[0].additional_attributes #=> Array
resp.result_items[0].additional_attributes[0].key #=> String
resp.result_items[0].additional_attributes[0].value_type #=> String, one of "TEXT_WITH_HIGHLIGHTS_VALUE"
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.text #=> String
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights #=> Array
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].begin_offset #=> Integer
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].end_offset #=> Integer
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].top_answer #=> Boolean
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].type #=> String, one of "STANDARD", "THESAURUS_SYNONYM"
resp.result_items[0].document_id #=> String
resp.result_items[0].document_title.text #=> String
resp.result_items[0].document_title.highlights #=> Array
resp.result_items[0].document_title.highlights[0].begin_offset #=> Integer
resp.result_items[0].document_title.highlights[0].end_offset #=> Integer
resp.result_items[0].document_title.highlights[0].top_answer #=> Boolean
resp.result_items[0].document_title.highlights[0].type #=> String, one of "STANDARD", "THESAURUS_SYNONYM"
resp.result_items[0].document_excerpt.text #=> String
resp.result_items[0].document_excerpt.highlights #=> Array
resp.result_items[0].document_excerpt.highlights[0].begin_offset #=> Integer
resp.result_items[0].document_excerpt.highlights[0].end_offset #=> Integer
resp.result_items[0].document_excerpt.highlights[0].top_answer #=> Boolean
resp.result_items[0].document_excerpt.highlights[0].type #=> String, one of "STANDARD", "THESAURUS_SYNONYM"
resp.result_items[0].document_uri #=> String
resp.result_items[0].document_attributes #=> Array
resp.result_items[0].document_attributes[0].key #=> String
resp.result_items[0].document_attributes[0].value.string_value #=> String
resp.result_items[0].document_attributes[0].value.string_list_value #=> Array
resp.result_items[0].document_attributes[0].value.string_list_value[0] #=> String
resp.result_items[0].document_attributes[0].value.long_value #=> Integer
resp.result_items[0].document_attributes[0].value.date_value #=> Time
resp.result_items[0].score_attributes.score_confidence #=> String, one of "VERY_HIGH", "HIGH", "MEDIUM", "LOW", "NOT_AVAILABLE"
resp.result_items[0].feedback_token #=> String
resp.result_items[0].table_excerpt.rows #=> Array
resp.result_items[0].table_excerpt.rows[0].cells #=> Array
resp.result_items[0].table_excerpt.rows[0].cells[0].value #=> String
resp.result_items[0].table_excerpt.rows[0].cells[0].top_answer #=> Boolean
resp.result_items[0].table_excerpt.rows[0].cells[0].highlighted #=> Boolean
resp.result_items[0].table_excerpt.rows[0].cells[0].header #=> Boolean
resp.result_items[0].table_excerpt.total_number_of_rows #=> Integer
resp.result_items[0].collapsed_result_detail.document_attribute.key #=> String
resp.result_items[0].collapsed_result_detail.document_attribute.value.string_value #=> String
resp.result_items[0].collapsed_result_detail.document_attribute.value.string_list_value #=> Array
resp.result_items[0].collapsed_result_detail.document_attribute.value.string_list_value[0] #=> String
resp.result_items[0].collapsed_result_detail.document_attribute.value.long_value #=> Integer
resp.result_items[0].collapsed_result_detail.document_attribute.value.date_value #=> Time
resp.result_items[0].collapsed_result_detail.expanded_results #=> Array
resp.result_items[0].collapsed_result_detail.expanded_results[0].id #=> String
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_id #=> String
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_title.text #=> String
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_title.highlights #=> Array
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_title.highlights[0].begin_offset #=> Integer
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_title.highlights[0].end_offset #=> Integer
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_title.highlights[0].top_answer #=> Boolean
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_title.highlights[0].type #=> String, one of "STANDARD", "THESAURUS_SYNONYM"
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_excerpt.text #=> String
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_excerpt.highlights #=> Array
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_excerpt.highlights[0].begin_offset #=> Integer
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_excerpt.highlights[0].end_offset #=> Integer
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_excerpt.highlights[0].top_answer #=> Boolean
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_excerpt.highlights[0].type #=> String, one of "STANDARD", "THESAURUS_SYNONYM"
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_uri #=> String
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_attributes #=> Array
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_attributes[0].key #=> String
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_attributes[0].value.string_value #=> String
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_attributes[0].value.string_list_value #=> Array
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_attributes[0].value.string_list_value[0] #=> String
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_attributes[0].value.long_value #=> Integer
resp.result_items[0].collapsed_result_detail.expanded_results[0].document_attributes[0].value.date_value #=> Time
resp.facet_results #=> Array
resp.facet_results[0].document_attribute_key #=> String
resp.facet_results[0].document_attribute_value_type #=> String, one of "STRING_VALUE", "STRING_LIST_VALUE", "LONG_VALUE", "DATE_VALUE"
resp.facet_results[0].document_attribute_value_count_pairs #=> Array
resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.string_value #=> String
resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.string_list_value #=> Array
resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.string_list_value[0] #=> String
resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.long_value #=> Integer
resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.date_value #=> Time
resp.facet_results[0].document_attribute_value_count_pairs[0].count #=> Integer
resp.facet_results[0].document_attribute_value_count_pairs[0].facet_results #=> Types::FacetResultList
resp.total_number_of_results #=> Integer
resp.warnings #=> Array
resp.warnings[0].message #=> String
resp.warnings[0].code #=> String, one of "QUERY_LANGUAGE_INVALID_SYNTAX"
resp.spell_corrected_queries #=> Array
resp.spell_corrected_queries[0].suggested_query_text #=> String
resp.spell_corrected_queries[0].corrections #=> Array
resp.spell_corrected_queries[0].corrections[0].begin_offset #=> Integer
resp.spell_corrected_queries[0].corrections[0].end_offset #=> Integer
resp.spell_corrected_queries[0].corrections[0].term #=> String
resp.spell_corrected_queries[0].corrections[0].corrected_term #=> String
resp.featured_results_items #=> Array
resp.featured_results_items[0].id #=> String
resp.featured_results_items[0].type #=> String, one of "DOCUMENT", "QUESTION_ANSWER", "ANSWER"
resp.featured_results_items[0].additional_attributes #=> Array
resp.featured_results_items[0].additional_attributes[0].key #=> String
resp.featured_results_items[0].additional_attributes[0].value_type #=> String, one of "TEXT_WITH_HIGHLIGHTS_VALUE"
resp.featured_results_items[0].additional_attributes[0].value.text_with_highlights_value.text #=> String
resp.featured_results_items[0].additional_attributes[0].value.text_with_highlights_value.highlights #=> Array
resp.featured_results_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].begin_offset #=> Integer
resp.featured_results_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].end_offset #=> Integer
resp.featured_results_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].top_answer #=> Boolean
resp.featured_results_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].type #=> String, one of "STANDARD", "THESAURUS_SYNONYM"
resp.featured_results_items[0].document_id #=> String
resp.featured_results_items[0].document_title.text #=> String
resp.featured_results_items[0].document_title.highlights #=> Array
resp.featured_results_items[0].document_title.highlights[0].begin_offset #=> Integer
resp.featured_results_items[0].document_title.highlights[0].end_offset #=> Integer
resp.featured_results_items[0].document_title.highlights[0].top_answer #=> Boolean
resp.featured_results_items[0].document_title.highlights[0].type #=> String, one of "STANDARD", "THESAURUS_SYNONYM"
resp.featured_results_items[0].document_excerpt.text #=> String
resp.featured_results_items[0].document_excerpt.highlights #=> Array
resp.featured_results_items[0].document_excerpt.highlights[0].begin_offset #=> Integer
resp.featured_results_items[0].document_excerpt.highlights[0].end_offset #=> Integer
resp.featured_results_items[0].document_excerpt.highlights[0].top_answer #=> Boolean
resp.featured_results_items[0].document_excerpt.highlights[0].type #=> String, one of "STANDARD", "THESAURUS_SYNONYM"
resp.featured_results_items[0].document_uri #=> String
resp.featured_results_items[0].document_attributes #=> Array
resp.featured_results_items[0].document_attributes[0].key #=> String
resp.featured_results_items[0].document_attributes[0].value.string_value #=> String
resp.featured_results_items[0].document_attributes[0].value.string_list_value #=> Array
resp.featured_results_items[0].document_attributes[0].value.string_list_value[0] #=> String
resp.featured_results_items[0].document_attributes[0].value.long_value #=> Integer
resp.featured_results_items[0].document_attributes[0].value.date_value #=> Time
resp.featured_results_items[0].feedback_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for the search.

  • :query_text (String)

    The input query text for the search. Amazon Kendra truncates queries at 30 token words, which excludes punctuation and stop words. Truncation still applies if you use Boolean or more advanced, complex queries. For example, ‘Timeoff AND October AND Category:HR` is counted as 3 tokens: `timeoff`, `october`, `hr`. For more information, see

    Searching with advanced query syntax][1

    in the Amazon Kendra

    Developer Guide.

    [1]: docs.aws.amazon.com/kendra/latest/dg/searching-example.html#searching-index-query-syntax

  • :attribute_filter (Types::AttributeFilter)

    Filters search results by document fields/attributes. You can only provide one attribute filter; however, the ‘AndAllFilters`, `NotFilter`, and `OrAllFilters` parameters contain a list of other filters.

    The ‘AttributeFilter` parameter means you can create a set of filtering rules that a document must satisfy to be included in the query results.

    <note markdown=“1”> For Amazon Kendra Gen AI Enterprise Edition indices use ‘AttributeFilter` to enable document filtering for end users using `_email_id` or include public documents (`_email_id=null`).

    </note>
    
  • :facets (Array<Types::Facet>)

    An array of documents fields/attributes for faceted search. Amazon Kendra returns a count for each field key specified. This helps your users narrow their search.

  • :requested_document_attributes (Array<String>)

    An array of document fields/attributes to include in the response. You can limit the response to include certain document fields. By default, all document attributes are included in the response.

  • :query_result_type_filter (String)

    Sets the type of query result or response. Only results for the specified type are returned.

  • :document_relevance_override_configurations (Array<Types::DocumentRelevanceConfiguration>)

    Overrides relevance tuning configurations of fields/attributes set at the index level.

    If you use this API to override the relevance tuning configured at the index level, but there is no relevance tuning configured at the index level, then Amazon Kendra does not apply any relevance tuning.

    If there is relevance tuning configured for fields at the index level, and you use this API to override only some of these fields, then for the fields you did not override, the importance is set to 1.

  • :page_number (Integer)

    Query results are returned in pages the size of the ‘PageSize` parameter. By default, Amazon Kendra returns the first page of results. Use this parameter to get result pages after the first one.

  • :page_size (Integer)

    Sets the number of results that are returned in each page of results. The default page size is 10. The maximum number of results returned is

    1. If you ask for more than 100 results, only 100 are returned.

  • :sorting_configuration (Types::SortingConfiguration)

    Provides information that determines how the results of the query are sorted. You can set the field that Amazon Kendra should sort the results on, and specify whether the results should be sorted in ascending or descending order. In the case of ties in sorting the results, the results are sorted by relevance.

    If you don’t provide sorting configuration, the results are sorted by the relevance that Amazon Kendra determines for the result.

  • :sorting_configurations (Array<Types::SortingConfiguration>)

    Provides configuration information to determine how the results of a query are sorted.

    You can set upto 3 fields that Amazon Kendra should sort the results on, and specify whether the results should be sorted in ascending or descending order. The sort field quota can be increased.

    If you don’t provide a sorting configuration, the results are sorted by the relevance that Amazon Kendra determines for the result. In the case of ties in sorting the results, the results are sorted by relevance.

  • :user_context (Types::UserContext)

    The user context token or user and group information.

  • :visitor_id (String)

    Provides an identifier for a specific user. The ‘VisitorId` should be a unique identifier, such as a GUID. Don’t use personally identifiable information, such as the user’s email address, as the ‘VisitorId`.

  • :spell_correction_configuration (Types::SpellCorrectionConfiguration)

    Enables suggested spell corrections for queries.

  • :collapse_configuration (Types::CollapseConfiguration)

    Provides configuration to determine how to group results by document attribute value, and how to display them (collapsed or expanded) under a designated primary document for each group.

Returns:

See Also:



5604
5605
5606
5607
# File 'lib/aws-sdk-kendra/client.rb', line 5604

def query(params = {}, options = {})
  req = build_request(:query, params)
  req.send_request(options)
end

#retrieve(params = {}) ⇒ Types::RetrieveResult

Retrieves relevant passages or text excerpts given an input query.

This API is similar to the [Query] API. However, by default, the ‘Query` API only returns excerpt passages of up to 100 token words. With the `Retrieve` API, you can retrieve longer passages of up to 200 token words and up to 100 semantically relevant passages. This doesn’t include question-answer or FAQ type responses from your index. The passages are text excerpts that can be semantically extracted from multiple documents and multiple parts of the same document. If in extreme cases your documents produce zero passages using the ‘Retrieve` API, you can alternatively use the `Query` API and its types of responses.

You can also do the following:

  • Override boosting at the index level

  • Filter based on document fields or attributes

  • Filter based on the user or their group access to documents

  • View the confidence score bucket for a retrieved passage result. The confidence bucket provides a relative ranking that indicates how confident Amazon Kendra is that the response is relevant to the query.

    <note markdown=“1”> Confidence score buckets are currently available only for English.

    </note>
    

You can also include certain fields in the response that might provide useful additional information.

The ‘Retrieve` API shares the number of [query capacity units] that you set for your index. For more information on what’s included in a single capacity unit and the default base capacity for an index, see [Adjusting capacity].

If you’re using an Amazon Kendra Gen AI Enterprise Edition index, you can only use ‘ATTRIBUTE_FILTER` to filter search results by user context. If you’re using an Amazon Kendra Gen AI Enterprise Edition index and you try to use ‘USER_TOKEN` to configure user context policy, Amazon Kendra returns a `ValidationException` error.

[1]: docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html [2]: docs.aws.amazon.com/kendra/latest/APIReference/API_CapacityUnitsConfiguration.html [3]: docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html

Examples:

Request syntax with placeholder values


resp = client.retrieve({
  index_id: "IndexId", # required
  query_text: "QueryText", # required
  attribute_filter: {
    and_all_filters: [
      {
        # recursive AttributeFilter
      },
    ],
    or_all_filters: [
      {
        # recursive AttributeFilter
      },
    ],
    not_filter: {
      # recursive AttributeFilter
    },
    equals_to: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    contains_all: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    contains_any: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    greater_than: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    greater_than_or_equals: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    less_than: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    less_than_or_equals: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
  },
  requested_document_attributes: ["DocumentAttributeKey"],
  document_relevance_override_configurations: [
    {
      name: "DocumentMetadataConfigurationName", # required
      relevance: { # required
        freshness: false,
        importance: 1,
        duration: "Duration",
        rank_order: "ASCENDING", # accepts ASCENDING, DESCENDING
        value_importance_map: {
          "ValueImportanceMapKey" => 1,
        },
      },
    },
  ],
  page_number: 1,
  page_size: 1,
  user_context: {
    token: "Token",
    user_id: "PrincipalName",
    groups: ["PrincipalName"],
    data_source_groups: [
      {
        group_id: "PrincipalName", # required
        data_source_id: "DataSourceId", # required
      },
    ],
  },
})

Response structure


resp.query_id #=> String
resp.result_items #=> Array
resp.result_items[0].id #=> String
resp.result_items[0].document_id #=> String
resp.result_items[0].document_title #=> String
resp.result_items[0].content #=> String
resp.result_items[0].document_uri #=> String
resp.result_items[0].document_attributes #=> Array
resp.result_items[0].document_attributes[0].key #=> String
resp.result_items[0].document_attributes[0].value.string_value #=> String
resp.result_items[0].document_attributes[0].value.string_list_value #=> Array
resp.result_items[0].document_attributes[0].value.string_list_value[0] #=> String
resp.result_items[0].document_attributes[0].value.long_value #=> Integer
resp.result_items[0].document_attributes[0].value.date_value #=> Time
resp.result_items[0].score_attributes.score_confidence #=> String, one of "VERY_HIGH", "HIGH", "MEDIUM", "LOW", "NOT_AVAILABLE"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index to retrieve relevant passages for the search.

  • :query_text (required, String)

    The input query text to retrieve relevant passages for the search. Amazon Kendra truncates queries at 30 token words, which excludes punctuation and stop words. Truncation still applies if you use Boolean or more advanced, complex queries. For example, ‘Timeoff AND October AND Category:HR` is counted as 3 tokens: `timeoff`, `october`, `hr`. For more information, see [Searching with advanced query syntax] in the Amazon Kendra Developer Guide.

    [1]: docs.aws.amazon.com/kendra/latest/dg/searching-example.html#searching-index-query-syntax

  • :attribute_filter (Types::AttributeFilter)

    Filters search results by document fields/attributes. You can only provide one attribute filter; however, the ‘AndAllFilters`, `NotFilter`, and `OrAllFilters` parameters contain a list of other filters.

    The ‘AttributeFilter` parameter means you can create a set of filtering rules that a document must satisfy to be included in the query results.

    <note markdown=“1”> For Amazon Kendra Gen AI Enterprise Edition indices use ‘AttributeFilter` to enable document filtering for end users using `_email_id` or include public documents (`_email_id=null`).

    </note>
    
  • :requested_document_attributes (Array<String>)

    A list of document fields/attributes to include in the response. You can limit the response to include certain document fields. By default, all document fields are included in the response.

  • :document_relevance_override_configurations (Array<Types::DocumentRelevanceConfiguration>)

    Overrides relevance tuning configurations of fields/attributes set at the index level.

    If you use this API to override the relevance tuning configured at the index level, but there is no relevance tuning configured at the index level, then Amazon Kendra does not apply any relevance tuning.

    If there is relevance tuning configured for fields at the index level, and you use this API to override only some of these fields, then for the fields you did not override, the importance is set to 1.

  • :page_number (Integer)

    Retrieved relevant passages are returned in pages the size of the ‘PageSize` parameter. By default, Amazon Kendra returns the first page of results. Use this parameter to get result pages after the first one.

  • :page_size (Integer)

    Sets the number of retrieved relevant passages that are returned in each page of results. The default page size is 10. The maximum number of results returned is 100. If you ask for more than 100 results, only 100 are returned.

  • :user_context (Types::UserContext)

    The user context token or user and group information.

Returns:

See Also:



5864
5865
5866
5867
# File 'lib/aws-sdk-kendra/client.rb', line 5864

def retrieve(params = {}, options = {})
  req = build_request(:retrieve, params)
  req.send_request(options)
end

#start_data_source_sync_job(params = {}) ⇒ Types::StartDataSourceSyncJobResponse

Starts a synchronization job for a data source connector. If a synchronization job is already in progress, Amazon Kendra returns a ‘ResourceInUseException` exception.

Re-syncing your data source with your index after modifying, adding, or deleting documents from your data source respository could take up to an hour or more, depending on the number of documents to sync.

Examples:

Request syntax with placeholder values


resp = client.start_data_source_sync_job({
  id: "DataSourceId", # required
  index_id: "IndexId", # required
})

Response structure


resp.execution_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the data source connector to synchronize.

  • :index_id (required, String)

    The identifier of the index used with the data source connector.

Returns:

See Also:



5902
5903
5904
5905
# File 'lib/aws-sdk-kendra/client.rb', line 5902

def start_data_source_sync_job(params = {}, options = {})
  req = build_request(:start_data_source_sync_job, params)
  req.send_request(options)
end

#stop_data_source_sync_job(params = {}) ⇒ Struct

Stops a synchronization job that is currently running. You can’t stop a scheduled synchronization job.

Examples:

Request syntax with placeholder values


resp = client.stop_data_source_sync_job({
  id: "DataSourceId", # required
  index_id: "IndexId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the data source connector for which to stop the synchronization jobs.

  • :index_id (required, String)

    The identifier of the index used with the data source connector.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



5930
5931
5932
5933
# File 'lib/aws-sdk-kendra/client.rb', line 5930

def stop_data_source_sync_job(params = {}, options = {})
  req = build_request(:stop_data_source_sync_job, params)
  req.send_request(options)
end

#submit_feedback(params = {}) ⇒ Struct

Enables you to provide feedback to Amazon Kendra to improve the performance of your index.

‘SubmitFeedback` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Examples:

Request syntax with placeholder values


resp = client.submit_feedback({
  index_id: "IndexId", # required
  query_id: "QueryId", # required
  click_feedback_items: [
    {
      result_id: "ResultId", # required
      click_time: Time.now, # required
    },
  ],
  relevance_feedback_items: [
    {
      result_id: "ResultId", # required
      relevance_value: "RELEVANT", # required, accepts RELEVANT, NOT_RELEVANT
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index that was queried.

  • :query_id (required, String)

    The identifier of the specific query for which you are submitting feedback. The query ID is returned in the response to the ‘Query` API.

  • :click_feedback_items (Array<Types::ClickFeedback>)

    Tells Amazon Kendra that a particular search result link was chosen by the user.

  • :relevance_feedback_items (Array<Types::RelevanceFeedback>)

    Provides Amazon Kendra with relevant or not relevant feedback for whether a particular item was relevant to the search.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



5981
5982
5983
5984
# File 'lib/aws-sdk-kendra/client.rb', line 5981

def submit_feedback(params = {}, options = {})
  req = build_request(:submit_feedback, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Adds the specified tag to the specified index, FAQ, data source, or other resource. If the tag already exists, the existing value is replaced with the new value.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "AmazonResourceName", # required
  tags: [ # required
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

  • (Struct)

    Returns an empty response.

See Also:



6025
6026
6027
6028
# File 'lib/aws-sdk-kendra/client.rb', line 6025

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Removes a tag from an index, FAQ, data source, or other resource.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "AmazonResourceName", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the index, FAQ, data source, or other resource to remove a tag. For example, the ARN of an index is constructed as follows: arn:aws:kendra:your-region:your-account-id:index/index-id For information on how to construct an ARN for all types of Amazon Kendra resources, see [Resource types].

    [1]: docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkendra.html#amazonkendra-resources-for-iam-policies

  • :tag_keys (required, Array<String>)

    A list of tag keys to remove from the index, FAQ, data source, or other resource. If a tag key doesn’t exist for the resource, it is ignored.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



6062
6063
6064
6065
# File 'lib/aws-sdk-kendra/client.rb', line 6062

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_access_control_configuration(params = {}) ⇒ Struct

Updates an access control configuration for your documents in an index. This includes user and group access information for your documents. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

You can update an access control configuration you created without indexing all of your documents again. For example, your index contains top-secret company documents that only certain employees or users should access. You created an ‘allow’ access control configuration for one user who recently joined the ‘top-secret’ team, switching from a team with ‘deny’ access to top-secret documents. However, the user suddenly returns to their previous team and should no longer have access to top secret documents. You can update the access control configuration to re-configure access control for your documents as circumstances change.

You call the [BatchPutDocument] API to apply the updated access control configuration, with the ‘AccessControlConfigurationId` included in the [Document] object. If you use an S3 bucket as a data source, you synchronize your data source to apply the `AccessControlConfigurationId` in the `.metadata.json` file. Amazon Kendra currently only supports access control configuration for S3 data sources and documents indexed using the `BatchPutDocument` API.

You can’t configure access control using ‘CreateAccessControlConfiguration` for an Amazon Kendra Gen AI Enterprise Edition index. Amazon Kendra will return a `ValidationException` error for a `Gen_AI_ENTERPRISE_EDITION` index.

[1]: docs.aws.amazon.com/kendra/latest/dg/API_BatchPutDocument.html [2]: docs.aws.amazon.com/kendra/latest/dg/API_Document.html

Examples:

Request syntax with placeholder values


resp = client.update_access_control_configuration({
  index_id: "IndexId", # required
  id: "AccessControlConfigurationId", # required
  name: "AccessControlConfigurationName",
  description: "Description",
  access_control_list: [
    {
      name: "PrincipalName", # required
      type: "USER", # required, accepts USER, GROUP
      access: "ALLOW", # required, accepts ALLOW, DENY
      data_source_id: "DataSourceId",
    },
  ],
  hierarchical_access_control_list: [
    {
      principal_list: [ # required
        {
          name: "PrincipalName", # required
          type: "USER", # required, accepts USER, GROUP
          access: "ALLOW", # required, accepts ALLOW, DENY
          data_source_id: "DataSourceId",
        },
      ],
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for an access control configuration.

  • :id (required, String)

    The identifier of the access control configuration you want to update.

  • :name (String)

    A new name for the access control configuration.

  • :description (String)

    A new description for the access control configuration.

  • :access_control_list (Array<Types::Principal>)

    Information you want to update on principals (users and/or groups) and which documents they should have access to. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

  • :hierarchical_access_control_list (Array<Types::HierarchicalPrincipal>)

    The updated list of [principal] lists that define the hierarchy for which documents users should have access to.

    [1]: docs.aws.amazon.com/kendra/latest/dg/API_Principal.html

Returns:

  • (Struct)

    Returns an empty response.

See Also:



6163
6164
6165
6166
# File 'lib/aws-sdk-kendra/client.rb', line 6163

def update_access_control_configuration(params = {}, options = {})
  req = build_request(:update_access_control_configuration, params)
  req.send_request(options)
end

#update_data_source(params = {}) ⇒ Struct

Updates an Amazon Kendra data source connector.

Examples:

Request syntax with placeholder values


resp = client.update_data_source({
  id: "DataSourceId", # required
  name: "DataSourceName",
  index_id: "IndexId", # required
  configuration: {
    s3_configuration: {
      bucket_name: "S3BucketName", # required
      inclusion_prefixes: ["DataSourceInclusionsExclusionsStringsMember"],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      documents_metadata_configuration: {
        s3_prefix: "S3ObjectKey",
      },
      access_control_list_configuration: {
        key_path: "S3ObjectKey",
      },
    },
    share_point_configuration: {
      share_point_version: "SHAREPOINT_2013", # required, accepts SHAREPOINT_2013, SHAREPOINT_2016, SHAREPOINT_ONLINE, SHAREPOINT_2019
      urls: ["Url"], # required
      secret_arn: "SecretArn", # required
      crawl_attachments: false,
      use_change_log: false,
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      document_title_field_name: "DataSourceFieldName",
      disable_local_groups: false,
      ssl_certificate_s3_path: {
        bucket: "S3BucketName", # required
        key: "S3ObjectKey", # required
      },
      authentication_type: "HTTP_BASIC", # accepts HTTP_BASIC, OAUTH2
      proxy_configuration: {
        host: "Host", # required
        port: 1, # required
        credentials: "SecretArn",
      },
    },
    database_configuration: {
      database_engine_type: "RDS_AURORA_MYSQL", # required, accepts RDS_AURORA_MYSQL, RDS_AURORA_POSTGRESQL, RDS_MYSQL, RDS_POSTGRESQL
      connection_configuration: { # required
        database_host: "DatabaseHost", # required
        database_port: 1, # required
        database_name: "DatabaseName", # required
        table_name: "TableName", # required
        secret_arn: "SecretArn", # required
      },
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      column_configuration: { # required
        document_id_column_name: "ColumnName", # required
        document_data_column_name: "ColumnName", # required
        document_title_column_name: "ColumnName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        change_detecting_columns: ["ColumnName"], # required
      },
      acl_configuration: {
        allowed_groups_column_name: "ColumnName", # required
      },
      sql_configuration: {
        query_identifiers_enclosing_option: "DOUBLE_QUOTES", # accepts DOUBLE_QUOTES, NONE
      },
    },
    salesforce_configuration: {
      server_url: "Url", # required
      secret_arn: "SecretArn", # required
      standard_object_configurations: [
        {
          name: "ACCOUNT", # required, accepts ACCOUNT, CAMPAIGN, CASE, CONTACT, CONTRACT, DOCUMENT, GROUP, IDEA, LEAD, OPPORTUNITY, PARTNER, PRICEBOOK, PRODUCT, PROFILE, SOLUTION, TASK, USER
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
        },
      ],
      knowledge_article_configuration: {
        included_states: ["DRAFT"], # required, accepts DRAFT, PUBLISHED, ARCHIVED
        standard_knowledge_article_type_configuration: {
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
        },
        custom_knowledge_article_type_configurations: [
          {
            name: "SalesforceCustomKnowledgeArticleTypeName", # required
            document_data_field_name: "DataSourceFieldName", # required
            document_title_field_name: "DataSourceFieldName",
            field_mappings: [
              {
                data_source_field_name: "DataSourceFieldName", # required
                date_field_format: "DataSourceDateFieldFormat",
                index_field_name: "IndexFieldName", # required
              },
            ],
          },
        ],
      },
      chatter_feed_configuration: {
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        include_filter_types: ["ACTIVE_USER"], # accepts ACTIVE_USER, STANDARD_USER
      },
      crawl_attachments: false,
      standard_object_attachment_configuration: {
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
      include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
    },
    one_drive_configuration: {
      tenant_domain: "TenantDomain", # required
      secret_arn: "SecretArn", # required
      one_drive_users: { # required
        one_drive_user_list: ["OneDriveUser"],
        one_drive_user_s3_path: {
          bucket: "S3BucketName", # required
          key: "S3ObjectKey", # required
        },
      },
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      disable_local_groups: false,
    },
    service_now_configuration: {
      host_url: "ServiceNowHostUrl", # required
      secret_arn: "SecretArn", # required
      service_now_build_version: "LONDON", # required, accepts LONDON, OTHERS
      knowledge_article_configuration: {
        crawl_attachments: false,
        include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        filter_query: "ServiceNowKnowledgeArticleFilterQuery",
      },
      service_catalog_configuration: {
        crawl_attachments: false,
        include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
      authentication_type: "HTTP_BASIC", # accepts HTTP_BASIC, OAUTH2
    },
    confluence_configuration: {
      server_url: "Url", # required
      secret_arn: "SecretArn", # required
      version: "CLOUD", # required, accepts CLOUD, SERVER
      space_configuration: {
        crawl_personal_spaces: false,
        crawl_archived_spaces: false,
        include_spaces: ["ConfluenceSpaceIdentifier"],
        exclude_spaces: ["ConfluenceSpaceIdentifier"],
        space_field_mappings: [
          {
            data_source_field_name: "DISPLAY_URL", # accepts DISPLAY_URL, ITEM_TYPE, SPACE_KEY, URL
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName",
          },
        ],
      },
      page_configuration: {
        page_field_mappings: [
          {
            data_source_field_name: "AUTHOR", # accepts AUTHOR, CONTENT_STATUS, CREATED_DATE, DISPLAY_URL, ITEM_TYPE, LABELS, MODIFIED_DATE, PARENT_ID, SPACE_KEY, SPACE_NAME, URL, VERSION
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName",
          },
        ],
      },
      blog_configuration: {
        blog_field_mappings: [
          {
            data_source_field_name: "AUTHOR", # accepts AUTHOR, DISPLAY_URL, ITEM_TYPE, LABELS, PUBLISH_DATE, SPACE_KEY, SPACE_NAME, URL, VERSION
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName",
          },
        ],
      },
      attachment_configuration: {
        crawl_attachments: false,
        attachment_field_mappings: [
          {
            data_source_field_name: "AUTHOR", # accepts AUTHOR, CONTENT_TYPE, CREATED_DATE, DISPLAY_URL, FILE_SIZE, ITEM_TYPE, PARENT_ID, SPACE_KEY, SPACE_NAME, URL, VERSION
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName",
          },
        ],
      },
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      proxy_configuration: {
        host: "Host", # required
        port: 1, # required
        credentials: "SecretArn",
      },
      authentication_type: "HTTP_BASIC", # accepts HTTP_BASIC, PAT
    },
    google_drive_configuration: {
      secret_arn: "SecretArn", # required
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      exclude_mime_types: ["MimeType"],
      exclude_user_accounts: ["UserAccount"],
      exclude_shared_drives: ["SharedDriveId"],
    },
    web_crawler_configuration: {
      urls: { # required
        seed_url_configuration: {
          seed_urls: ["SeedUrl"], # required
          web_crawler_mode: "HOST_ONLY", # accepts HOST_ONLY, SUBDOMAINS, EVERYTHING
        },
        site_maps_configuration: {
          site_maps: ["SiteMap"], # required
        },
      },
      crawl_depth: 1,
      max_links_per_page: 1,
      max_content_size_per_page_in_mega_bytes: 1.0,
      max_urls_per_minute_crawl_rate: 1,
      url_inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      url_exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      proxy_configuration: {
        host: "Host", # required
        port: 1, # required
        credentials: "SecretArn",
      },
      authentication_configuration: {
        basic_authentication: [
          {
            host: "Host", # required
            port: 1, # required
            credentials: "SecretArn", # required
          },
        ],
      },
    },
    work_docs_configuration: {
      organization_id: "OrganizationId", # required
      crawl_comments: false,
      use_change_log: false,
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
    },
    fsx_configuration: {
      file_system_id: "FileSystemId", # required
      file_system_type: "WINDOWS", # required, accepts WINDOWS
      vpc_configuration: { # required
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      secret_arn: "SecretArn",
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
    },
    slack_configuration: {
      team_id: "TeamId", # required
      secret_arn: "SecretArn", # required
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      slack_entity_list: ["PUBLIC_CHANNEL"], # required, accepts PUBLIC_CHANNEL, PRIVATE_CHANNEL, GROUP_MESSAGE, DIRECT_MESSAGE
      use_change_log: false,
      crawl_bot_message: false,
      exclude_archived: false,
      since_crawl_date: "SinceCrawlDate", # required
      look_back_period: 1,
      private_channel_filter: ["String"],
      public_channel_filter: ["String"],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
    },
    box_configuration: {
      enterprise_id: "EnterpriseId", # required
      secret_arn: "SecretArn", # required
      use_change_log: false,
      crawl_comments: false,
      crawl_tasks: false,
      crawl_web_links: false,
      file_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      task_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      comment_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      web_link_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
    },
    quip_configuration: {
      domain: "Domain", # required
      secret_arn: "SecretArn", # required
      crawl_file_comments: false,
      crawl_chat_rooms: false,
      crawl_attachments: false,
      folder_ids: ["FolderId"],
      thread_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      message_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      attachment_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
    },
    jira_configuration: {
      jira_account_url: "JiraAccountUrl", # required
      secret_arn: "SecretArn", # required
      use_change_log: false,
      project: ["String"],
      issue_type: ["String"],
      status: ["String"],
      issue_sub_entity_filter: ["COMMENTS"], # accepts COMMENTS, ATTACHMENTS, WORKLOGS
      attachment_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      comment_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      issue_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      project_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      work_log_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
    },
    git_hub_configuration: {
      saa_s_configuration: {
        organization_name: "OrganizationName", # required
        host_url: "Url", # required
      },
      on_premise_configuration: {
        host_url: "Url", # required
        organization_name: "OrganizationName", # required
        ssl_certificate_s3_path: { # required
          bucket: "S3BucketName", # required
          key: "S3ObjectKey", # required
        },
      },
      type: "SAAS", # accepts SAAS, ON_PREMISE
      secret_arn: "SecretArn", # required
      use_change_log: false,
      git_hub_document_crawl_properties: {
        crawl_repository_documents: false,
        crawl_issue: false,
        crawl_issue_comment: false,
        crawl_issue_comment_attachment: false,
        crawl_pull_request: false,
        crawl_pull_request_comment: false,
        crawl_pull_request_comment_attachment: false,
      },
      repository_filter: ["RepositoryName"],
      inclusion_folder_name_patterns: ["String"],
      inclusion_file_type_patterns: ["String"],
      inclusion_file_name_patterns: ["String"],
      exclusion_folder_name_patterns: ["String"],
      exclusion_file_type_patterns: ["String"],
      exclusion_file_name_patterns: ["String"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      git_hub_repository_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_commit_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_issue_document_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_issue_comment_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_issue_attachment_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_pull_request_comment_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_pull_request_document_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      git_hub_pull_request_document_attachment_configuration_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
    },
    alfresco_configuration: {
      site_url: "SiteUrl", # required
      site_id: "SiteId", # required
      secret_arn: "SecretArn", # required
      ssl_certificate_s3_path: { # required
        bucket: "S3BucketName", # required
        key: "S3ObjectKey", # required
      },
      crawl_system_folders: false,
      crawl_comments: false,
      entity_filter: ["wiki"], # accepts wiki, blog, documentLibrary
      document_library_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      blog_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      wiki_field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
    },
    template_configuration: {
      template: {
      },
    },
  },
  vpc_configuration: {
    subnet_ids: ["SubnetId"], # required
    security_group_ids: ["VpcSecurityGroupId"], # required
  },
  description: "Description",
  schedule: "ScanSchedule",
  role_arn: "RoleArn",
  language_code: "LanguageCode",
  custom_document_enrichment_configuration: {
    inline_configurations: [
      {
        condition: {
          condition_document_attribute_key: "DocumentAttributeKey", # required
          operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
          condition_on_value: {
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        target: {
          target_document_attribute_key: "DocumentAttributeKey",
          target_document_attribute_value_deletion: false,
          target_document_attribute_value: {
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        document_content_deletion: false,
      },
    ],
    pre_extraction_hook_configuration: {
      invocation_condition: {
        condition_document_attribute_key: "DocumentAttributeKey", # required
        operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
        condition_on_value: {
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      lambda_arn: "LambdaArn", # required
      s3_bucket: "S3BucketName", # required
    },
    post_extraction_hook_configuration: {
      invocation_condition: {
        condition_document_attribute_key: "DocumentAttributeKey", # required
        operator: "GreaterThan", # required, accepts GreaterThan, GreaterThanOrEquals, LessThan, LessThanOrEquals, Equals, NotEquals, Contains, NotContains, Exists, NotExists, BeginsWith
        condition_on_value: {
          string_value: "DocumentAttributeStringValue",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      lambda_arn: "LambdaArn", # required
      s3_bucket: "S3BucketName", # required
    },
    role_arn: "RoleArn",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the data source connector you want to update.

  • :name (String)

    A new name for the data source connector.

  • :index_id (required, String)

    The identifier of the index used with the data source connector.

  • :configuration (Types::DataSourceConfiguration)

    Configuration information you want to update for the data source connector.

  • :vpc_configuration (Types::DataSourceVpcConfiguration)

    Configuration information for an Amazon Virtual Private Cloud to connect to your data source. For more information, see [Configuring a VPC].

    [1]: docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html

  • :description (String)

    A new description for the data source connector.

  • :schedule (String)

    The sync schedule you want to update for the data source connector.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources. For more information, see [IAM roles for Amazon Kendra].

    [1]: docs.aws.amazon.com/kendra/latest/dg/iam-roles.html

  • :language_code (String)

    The code for a language you want to update for the data source connector. This allows you to support a language for all documents when updating the data source. English is supported by default. For more information on supported languages, including their codes, see [Adding documents in languages other than English].

    [1]: docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html

  • :custom_document_enrichment_configuration (Types::CustomDocumentEnrichmentConfiguration)

    Configuration information you want to update for altering document metadata and content during the document ingestion process.

    For more information on how to create, modify and delete document metadata, or make other content alterations when you ingest documents into Amazon Kendra, see [Customizing document metadata during the ingestion process].

    [1]: docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html

Returns:

  • (Struct)

    Returns an empty response.

See Also:



6939
6940
6941
6942
# File 'lib/aws-sdk-kendra/client.rb', line 6939

def update_data_source(params = {}, options = {})
  req = build_request(:update_data_source, params)
  req.send_request(options)
end

#update_experience(params = {}) ⇒ Struct

Updates your Amazon Kendra experience such as a search application. For more information on creating a search application experience, see [Building a search experience with no code].

[1]: docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html

Examples:

Request syntax with placeholder values


resp = client.update_experience({
  id: "ExperienceId", # required
  name: "ExperienceName",
  index_id: "IndexId", # required
  role_arn: "RoleArn",
  configuration: {
    content_source_configuration: {
      data_source_ids: ["DataSourceId"],
      faq_ids: ["FaqId"],
      direct_put_content: false,
    },
    user_identity_configuration: {
      identity_attribute_name: "IdentityAttributeName",
    },
  },
  description: "Description",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of your Amazon Kendra experience you want to update.

  • :name (String)

    A new name for your Amazon Kendra experience.

  • :index_id (required, String)

    The identifier of the index for your Amazon Kendra experience.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access the ‘Query` API, `QuerySuggestions` API, `SubmitFeedback` API, and IAM Identity Center that stores your users and groups information. For more information, see [IAM roles for Amazon Kendra].

    [1]: docs.aws.amazon.com/kendra/latest/dg/iam-roles.html

  • :configuration (Types::ExperienceConfiguration)

    Configuration information you want to update for your Amazon Kendra experience.

  • :description (String)

    A new description for your Amazon Kendra experience.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



7004
7005
7006
7007
# File 'lib/aws-sdk-kendra/client.rb', line 7004

def update_experience(params = {}, options = {})
  req = build_request(:update_experience, params)
  req.send_request(options)
end

Updates a set of featured results. Features results are placed above all other results for certain queries. You map specific queries to specific documents for featuring in the results. If a query contains an exact match of a query, then one or more specific documents are featured in the search results.

Examples:

Request syntax with placeholder values


resp = client.update_featured_results_set({
  index_id: "IndexId", # required
  featured_results_set_id: "FeaturedResultsSetId", # required
  featured_results_set_name: "FeaturedResultsSetName",
  description: "FeaturedResultsSetDescription",
  status: "ACTIVE", # accepts ACTIVE, INACTIVE
  query_texts: ["QueryText"],
  featured_documents: [
    {
      id: "DocumentId",
    },
  ],
})

Response structure


resp.featured_results_set.featured_results_set_id #=> String
resp.featured_results_set.featured_results_set_name #=> String
resp.featured_results_set.description #=> String
resp.featured_results_set.status #=> String, one of "ACTIVE", "INACTIVE"
resp.featured_results_set.query_texts #=> Array
resp.featured_results_set.query_texts[0] #=> String
resp.featured_results_set.featured_documents #=> Array
resp.featured_results_set.featured_documents[0].id #=> String
resp.featured_results_set.last_updated_timestamp #=> Integer
resp.featured_results_set.creation_timestamp #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index used for featuring results.

  • :featured_results_set_id (required, String)

    The identifier of the set of featured results that you want to update.

  • :featured_results_set_name (String)

    A new name for the set of featured results.

  • :description (String)

    A new description for the set of featured results.

  • :status (String)

    You can set the status to ‘ACTIVE` or `INACTIVE`. When the value is `ACTIVE`, featured results are ready for use. You can still configure your settings before setting the status to `ACTIVE`. The queries you specify for featured results must be unique per featured results set for each index, whether the status is `ACTIVE` or `INACTIVE`.

  • :query_texts (Array<String>)

    A list of queries for featuring results. For more information on the list of queries, see [FeaturedResultsSet].

    [1]: docs.aws.amazon.com/kendra/latest/dg/API_FeaturedResultsSet.html

  • :featured_documents (Array<Types::FeaturedDocument>)

    A list of document IDs for the documents you want to feature at the top of the search results page. For more information on the list of featured documents, see [FeaturedResultsSet].

    [1]: docs.aws.amazon.com/kendra/latest/dg/API_FeaturedResultsSet.html

Returns:

See Also:



7088
7089
7090
7091
# File 'lib/aws-sdk-kendra/client.rb', line 7088

def update_featured_results_set(params = {}, options = {})
  req = build_request(:update_featured_results_set, params)
  req.send_request(options)
end

#update_index(params = {}) ⇒ Struct

Updates an Amazon Kendra index.

Examples:

Request syntax with placeholder values


resp = client.update_index({
  id: "IndexId", # required
  name: "IndexName",
  role_arn: "RoleArn",
  description: "Description",
  document_metadata_configuration_updates: [
    {
      name: "DocumentMetadataConfigurationName", # required
      type: "STRING_VALUE", # required, accepts STRING_VALUE, STRING_LIST_VALUE, LONG_VALUE, DATE_VALUE
      relevance: {
        freshness: false,
        importance: 1,
        duration: "Duration",
        rank_order: "ASCENDING", # accepts ASCENDING, DESCENDING
        value_importance_map: {
          "ValueImportanceMapKey" => 1,
        },
      },
      search: {
        facetable: false,
        searchable: false,
        displayable: false,
        sortable: false,
      },
    },
  ],
  capacity_units: {
    storage_capacity_units: 1, # required
    query_capacity_units: 1, # required
  },
  user_token_configurations: [
    {
      jwt_token_type_configuration: {
        key_location: "URL", # required, accepts URL, SECRET_MANAGER
        url: "Url",
        secret_manager_arn: "RoleArn",
        user_name_attribute_field: "UserNameAttributeField",
        group_attribute_field: "GroupAttributeField",
        issuer: "Issuer",
        claim_regex: "ClaimRegex",
      },
      json_token_type_configuration: {
        user_name_attribute_field: "String", # required
        group_attribute_field: "String", # required
      },
    },
  ],
  user_context_policy: "ATTRIBUTE_FILTER", # accepts ATTRIBUTE_FILTER, USER_TOKEN
  user_group_resolution_configuration: {
    user_group_resolution_mode: "AWS_SSO", # required, accepts AWS_SSO, NONE
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the index you want to update.

  • :name (String)

    A new name for the index.

  • :role_arn (String)

    An Identity and Access Management (IAM) role that gives Amazon Kendra permission to access Amazon CloudWatch logs and metrics.

  • :description (String)

    A new description for the index.

  • :document_metadata_configuration_updates (Array<Types::DocumentMetadataConfiguration>)

    The document metadata configuration you want to update for the index. Document metadata are fields or attributes associated with your documents. For example, the company department name associated with each document.

  • :capacity_units (Types::CapacityUnitsConfiguration)

    Sets the number of additional document storage and query capacity units that should be used by the index. You can change the capacity of the index up to 5 times per day, or make 5 API calls.

    If you are using extra storage units, you can’t reduce the storage capacity below what is required to meet the storage needs for your index.

  • :user_token_configurations (Array<Types::UserTokenConfiguration>)

    The user token configuration.

    If you’re using an Amazon Kendra Gen AI Enterprise Edition index and you try to use ‘UserTokenConfigurations` to configure user context policy, Amazon Kendra returns a `ValidationException` error.

  • :user_context_policy (String)

    The user context policy.

    If you’re using an Amazon Kendra Gen AI Enterprise Edition index, you can only use ‘ATTRIBUTE_FILTER` to filter search results by user context. If you’re using an Amazon Kendra Gen AI Enterprise Edition index and you try to use ‘USER_TOKEN` to configure user context policy, Amazon Kendra returns a `ValidationException` error.

  • :user_group_resolution_configuration (Types::UserGroupResolutionConfiguration)

    Gets users and groups from IAM Identity Center identity source. To configure this, see [UserGroupResolutionConfiguration]. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

    If you’re using an Amazon Kendra Gen AI Enterprise Edition index, ‘UserGroupResolutionConfiguration` isn’t supported.

    [1]: docs.aws.amazon.com/kendra/latest/dg/API_UserGroupResolutionConfiguration.html

Returns:

  • (Struct)

    Returns an empty response.

See Also:



7213
7214
7215
7216
# File 'lib/aws-sdk-kendra/client.rb', line 7213

def update_index(params = {}, options = {})
  req = build_request(:update_index, params)
  req.send_request(options)
end

#update_query_suggestions_block_list(params = {}) ⇒ Struct

Updates a block list used for query suggestions for an index.

Updates to a block list might not take effect right away. Amazon Kendra needs to refresh the entire suggestions list to apply any updates to the block list. Other changes not related to the block list apply immediately.

If a block list is updating, then you need to wait for the first update to finish before submitting another update.

Amazon Kendra supports partial updates, so you only need to provide the fields you want to update.

‘UpdateQuerySuggestionsBlockList` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Examples:

Request syntax with placeholder values


resp = client.update_query_suggestions_block_list({
  index_id: "IndexId", # required
  id: "QuerySuggestionsBlockListId", # required
  name: "QuerySuggestionsBlockListName",
  description: "Description",
  source_s3_path: {
    bucket: "S3BucketName", # required
    key: "S3ObjectKey", # required
  },
  role_arn: "RoleArn",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index for the block list.

  • :id (required, String)

    The identifier of the block list you want to update.

  • :name (String)

    A new name for the block list.

  • :description (String)

    A new description for the block list.

  • :source_s3_path (Types::S3Path)

    The S3 path where your block list text file sits in S3.

    If you update your block list and provide the same path to the block list text file in S3, then Amazon Kendra reloads the file to refresh the block list. Amazon Kendra does not automatically refresh your block list. You need to call the ‘UpdateQuerySuggestionsBlockList` API to refresh you block list.

    If you update your block list, then Amazon Kendra asynchronously refreshes all query suggestions with the latest content in the S3 file. This means changes might not take effect immediately.

  • :role_arn (String)

    The IAM (Identity and Access Management) role used to access the block list text file in S3.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



7283
7284
7285
7286
# File 'lib/aws-sdk-kendra/client.rb', line 7283

def update_query_suggestions_block_list(params = {}, options = {})
  req = build_request(:update_query_suggestions_block_list, params)
  req.send_request(options)
end

#update_query_suggestions_config(params = {}) ⇒ Struct

Updates the settings of query suggestions for an index.

Amazon Kendra supports partial updates, so you only need to provide the fields you want to update.

If an update is currently processing, you need to wait for the update to finish before making another update.

Updates to query suggestions settings might not take effect right away. The time for your updated settings to take effect depends on the updates made and the number of search queries in your index.

You can still enable/disable query suggestions at any time.

‘UpdateQuerySuggestionsConfig` is currently not supported in the Amazon Web Services GovCloud (US-West) region.

Examples:

Request syntax with placeholder values


resp = client.update_query_suggestions_config({
  index_id: "IndexId", # required
  mode: "ENABLED", # accepts ENABLED, LEARN_ONLY
  query_log_look_back_window_in_days: 1,
  include_queries_without_user_information: false,
  minimum_number_of_querying_users: 1,
  minimum_query_count: 1,
  attribute_suggestions_config: {
    suggestable_config_list: [
      {
        attribute_name: "DocumentAttributeKey",
        suggestable: false,
      },
    ],
    attribute_suggestions_mode: "ACTIVE", # accepts ACTIVE, INACTIVE
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index with query suggestions you want to update.

  • :mode (String)

    Set the mode to ‘ENABLED` or `LEARN_ONLY`.

    By default, Amazon Kendra enables query suggestions. ‘LEARN_ONLY` mode allows you to turn off query suggestions. You can to update this at any time.

    In ‘LEARN_ONLY` mode, Amazon Kendra continues to learn from new queries to keep suggestions up to date for when you are ready to switch to ENABLED mode again.

  • :query_log_look_back_window_in_days (Integer)

    How recent your queries are in your query log time window.

    The time window is the number of days from current day to past days.

    By default, Amazon Kendra sets this to 180.

  • :include_queries_without_user_information (Boolean)

    ‘TRUE` to include queries without user information (i.e. all queries, irrespective of the user), otherwise `FALSE` to only include queries with user information.

    If you pass user information to Amazon Kendra along with the queries, you can set this flag to ‘FALSE` and instruct Amazon Kendra to only consider queries with user information.

    If you set to ‘FALSE`, Amazon Kendra only considers queries searched at least `MinimumQueryCount` times across `MinimumNumberOfQueryingUsers` unique users for suggestions.

    If you set to ‘TRUE`, Amazon Kendra ignores all user information and learns from all queries.

  • :minimum_number_of_querying_users (Integer)

    The minimum number of unique users who must search a query in order for the query to be eligible to suggest to your users.

    Increasing this number might decrease the number of suggestions. However, this ensures a query is searched by many users and is truly popular to suggest to users.

    How you tune this setting depends on your specific needs.

  • :minimum_query_count (Integer)

    The the minimum number of times a query must be searched in order to be eligible to suggest to your users.

    Decreasing this number increases the number of suggestions. However, this affects the quality of suggestions as it sets a low bar for a query to be considered popular to suggest to users.

    How you tune this setting depends on your specific needs.

  • :attribute_suggestions_config (Types::AttributeSuggestionsUpdateConfig)

    Configuration information for the document fields/attributes that you want to base query suggestions on.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



7392
7393
7394
7395
# File 'lib/aws-sdk-kendra/client.rb', line 7392

def update_query_suggestions_config(params = {}, options = {})
  req = build_request(:update_query_suggestions_config, params)
  req.send_request(options)
end

#update_thesaurus(params = {}) ⇒ Struct

Updates a thesaurus for an index.

Examples:

Request syntax with placeholder values


resp = client.update_thesaurus({
  id: "ThesaurusId", # required
  name: "ThesaurusName",
  index_id: "IndexId", # required
  description: "Description",
  role_arn: "RoleArn",
  source_s3_path: {
    bucket: "S3BucketName", # required
    key: "S3ObjectKey", # required
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the thesaurus you want to update.

  • :name (String)

    A new name for the thesaurus.

  • :index_id (required, String)

    The identifier of the index for the thesaurus.

  • :description (String)

    A new description for the thesaurus.

  • :role_arn (String)

    An IAM role that gives Amazon Kendra permissions to access thesaurus file specified in ‘SourceS3Path`.

  • :source_s3_path (Types::S3Path)

    Information required to find a specific file in an Amazon S3 bucket.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



7438
7439
7440
7441
# File 'lib/aws-sdk-kendra/client.rb', line 7438

def update_thesaurus(params = {}, options = {})
  req = build_request(:update_thesaurus, params)
  req.send_request(options)
end

#waiter_namesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


7467
7468
7469
# File 'lib/aws-sdk-kendra/client.rb', line 7467

def waiter_names
  []
end