Class: Aws::QBusiness::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb

Overview

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

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

For details on configuring region and credentials see the developer guide.

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

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

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[:credentials]
    • The :access_key_id, :secret_access_key, :session_token, and :account_id options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
    • ~/.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['AWS_EC2_METADATA_DISABLED'] 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:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :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.

  • :event_stream_handler (Proc)

    When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.

  • :ignore_configured_endpoint_urls (Boolean)

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

  • :input_event_stream_handler (Proc)

    When an EventStream or Proc object is provided, it can be used for sending events for the event stream.

  • :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.

  • :output_event_stream_handler (Proc)

    When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.

  • :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 https://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:

    • Aws.config[:sigv4a_signing_region_set]
    • ENV['AWS_SIGV4A_SIGNING_REGION_SET']
    • ~/.aws/config
  • :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::QBusiness::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::QBusiness::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 'http://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.



455
456
457
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 455

def initialize(*args)
  super
end

Instance Method Details

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

Asynchronously deletes one or more documents added using the BatchPutDocument API from an Amazon Q Business index.

You can see the progress of the deletion, and any error messages related to the process, by using CloudWatch.

Examples:

Request syntax with placeholder values


resp = client.batch_delete_document({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  documents: [ # required
    {
      document_id: "DocumentId", # required
    },
  ],
  data_source_sync_id: "ExecutionId",
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application.

  • :index_id (required, String)

    The identifier of the Amazon Q Business index that contains the documents to delete.

  • :documents (required, Array<Types::DeleteDocument>)

    Documents deleted from the Amazon Q Business index.

  • :data_source_sync_id (String)

    The identifier of the data source sync during which the documents were deleted.

Returns:

See Also:



510
511
512
513
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 510

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

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

Adds one or more documents to an Amazon Q Business index.

You use this API to:

  • ingest your structured and unstructured documents and documents stored in an Amazon S3 bucket into an Amazon Q Business index.

  • add custom attributes to documents in an Amazon Q Business index.

  • attach an access control list to the documents added to an Amazon Q Business index.

You can see the progress of the deletion, and any error messages related to the process, by using CloudWatch.

Examples:

Request syntax with placeholder values


resp = client.batch_put_document({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  documents: [ # required
    {
      id: "DocumentId", # required
      attributes: [
        {
          name: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeValueStringValueString",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
      ],
      content: {
        blob: "data",
        s3: {
          bucket: "S3BucketName", # required
          key: "S3ObjectKey", # required
        },
      },
      content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT, RTF, XML, XSLT, MS_EXCEL, CSV, JSON, MD
      title: "Title",
      access_configuration: {
        access_controls: [ # required
          {
            principals: [ # required
              {
                user: {
                  id: "UserId",
                  access: "ALLOW", # required, accepts ALLOW, DENY
                  membership_type: "INDEX", # accepts INDEX, DATASOURCE
                },
                group: {
                  name: "GroupName",
                  access: "ALLOW", # required, accepts ALLOW, DENY
                  membership_type: "INDEX", # accepts INDEX, DATASOURCE
                },
              },
            ],
            member_relation: "AND", # accepts AND, OR
          },
        ],
        member_relation: "AND", # accepts AND, OR
      },
      document_enrichment_configuration: {
        inline_configurations: [
          {
            condition: {
              key: "DocumentAttributeKey", # required
              operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
              value: {
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["String"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            target: {
              key: "DocumentAttributeKey", # required
              value: {
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["String"],
                long_value: 1,
                date_value: Time.now,
              },
              attribute_value_operator: "DELETE", # accepts DELETE
            },
            document_content_operator: "DELETE", # accepts DELETE
          },
        ],
        pre_extraction_hook_configuration: {
          invocation_condition: {
            key: "DocumentAttributeKey", # required
            operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
            value: {
              string_value: "DocumentAttributeValueStringValueString",
              string_list_value: ["String"],
              long_value: 1,
              date_value: Time.now,
            },
          },
          lambda_arn: "LambdaArn",
          s3_bucket_name: "S3BucketName",
          role_arn: "RoleArn",
        },
        post_extraction_hook_configuration: {
          invocation_condition: {
            key: "DocumentAttributeKey", # required
            operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
            value: {
              string_value: "DocumentAttributeValueStringValueString",
              string_list_value: ["String"],
              long_value: 1,
              date_value: Time.now,
            },
          },
          lambda_arn: "LambdaArn",
          s3_bucket_name: "S3BucketName",
          role_arn: "RoleArn",
        },
      },
    },
  ],
  role_arn: "RoleArn",
  data_source_sync_id: "ExecutionId",
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application.

  • :index_id (required, String)

    The identifier of the Amazon Q Business index to add the documents to.

  • :documents (required, Array<Types::Document>)

    One or more documents to add to the index.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access your S3 bucket.

  • :data_source_sync_id (String)

    The identifier of the data source sync during which the documents were added.

Returns:

See Also:



676
677
678
679
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 676

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

#chat_sync(params = {}) ⇒ Types::ChatSyncOutput

Starts or continues a non-streaming Amazon Q Business conversation.

Examples:

Request syntax with placeholder values


resp = client.chat_sync({
  application_id: "ApplicationId", # required
  user_id: "UserId",
  user_groups: ["String"],
  user_message: "UserMessage",
  attachments: [
    {
      name: "AttachmentName", # required
      data: "data", # required
    },
  ],
  action_execution: {
    plugin_id: "PluginId", # required
    payload: { # required
      "ActionPayloadFieldKey" => {
        value: { # required
        },
      },
    },
    payload_field_name_separator: "ActionPayloadFieldNameSeparator", # required
  },
  auth_challenge_response: {
    response_map: { # required
      "AuthResponseKey" => "AuthResponseValue",
    },
  },
  conversation_id: "ConversationId",
  parent_message_id: "MessageId",
  attribute_filter: {
    and_all_filters: [
      {
        # recursive AttributeFilter
      },
    ],
    or_all_filters: [
      {
        # recursive AttributeFilter
      },
    ],
    not_filter: {
      # recursive AttributeFilter
    },
    equals_to: {
      name: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeValueStringValueString",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    contains_all: {
      name: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeValueStringValueString",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    contains_any: {
      name: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeValueStringValueString",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    greater_than: {
      name: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeValueStringValueString",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    greater_than_or_equals: {
      name: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeValueStringValueString",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    less_than: {
      name: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeValueStringValueString",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    less_than_or_equals: {
      name: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeValueStringValueString",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
  },
  chat_mode: "RETRIEVAL_MODE", # accepts RETRIEVAL_MODE, CREATOR_MODE, PLUGIN_MODE
  chat_mode_configuration: {
    plugin_configuration: {
      plugin_id: "PluginId", # required
    },
  },
  client_token: "ClientToken",
})

Response structure


resp.conversation_id #=> String
resp.system_message #=> String
resp.system_message_id #=> String
resp.user_message_id #=> String
resp.action_review.plugin_id #=> String
resp.action_review.plugin_type #=> String, one of "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK", "CUSTOM"
resp.action_review.payload #=> Hash
resp.action_review.payload["ActionPayloadFieldKey"].display_name #=> String
resp.action_review.payload["ActionPayloadFieldKey"].display_order #=> Integer
resp.action_review.payload["ActionPayloadFieldKey"].display_description #=> String
resp.action_review.payload["ActionPayloadFieldKey"].type #=> String, one of "STRING", "NUMBER", "ARRAY", "BOOLEAN"
resp.action_review.payload["ActionPayloadFieldKey"].allowed_values #=> Array
resp.action_review.payload["ActionPayloadFieldKey"].allowed_format #=> String
resp.action_review.payload["ActionPayloadFieldKey"].required #=> Boolean
resp.action_review.payload_field_name_separator #=> String
resp.auth_challenge_request.authorization_url #=> String
resp.source_attributions #=> Array
resp.source_attributions[0].title #=> String
resp.source_attributions[0].snippet #=> String
resp.source_attributions[0].url #=> String
resp.source_attributions[0].citation_number #=> Integer
resp.source_attributions[0].updated_at #=> Time
resp.source_attributions[0].text_message_segments #=> Array
resp.source_attributions[0].text_message_segments[0].begin_offset #=> Integer
resp.source_attributions[0].text_message_segments[0].end_offset #=> Integer
resp.source_attributions[0].text_message_segments[0].snippet_excerpt.text #=> String
resp.failed_attachments #=> Array
resp.failed_attachments[0].name #=> String
resp.failed_attachments[0].status #=> String, one of "FAILED", "SUCCEEDED"
resp.failed_attachments[0].error.error_message #=> String
resp.failed_attachments[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application linked to the Amazon Q Business conversation.

  • :user_id (String)

    The identifier of the user attached to the chat input.

  • :user_groups (Array<String>)

    The group names that a user associated with the chat input belongs to.

  • :user_message (String)

    A end user message in a conversation.

  • :attachments (Array<Types::AttachmentInput>)

    A list of files uploaded directly during chat. You can upload a maximum of 5 files of upto 10 MB each.

  • :action_execution (Types::ActionExecution)

    A request from an end user to perform an Amazon Q Business plugin action.

  • :auth_challenge_response (Types::AuthChallengeResponse)

    An authentication verification event response by a third party authentication server to Amazon Q Business.

  • :conversation_id (String)

    The identifier of the Amazon Q Business conversation.

  • :parent_message_id (String)

    The identifier of the previous system message in a conversation.

  • :attribute_filter (Types::AttributeFilter)

    Enables filtering of Amazon Q Business web experience responses based on document attributes or metadata fields.

  • :chat_mode (String)

    The chat modes available to an Amazon Q Business end user.

    • RETRIEVAL_MODE - The default chat mode for an Amazon Q Business application. When this mode is enabled, Amazon Q Business generates responses only from data sources connected to an Amazon Q Business application.

    • CREATOR_MODE - By selecting this mode, users can choose to generate responses only from the LLM knowledge, without consulting connected data sources, for a chat request.

    • PLUGIN_MODE - By selecting this mode, users can choose to use plugins in chat.

    For more information, see Admin controls and guardrails, Plugins, and Conversation settings.

  • :chat_mode_configuration (Types::ChatModeConfiguration)

    The chat mode configuration for an Amazon Q Business application.

  • :client_token (String)

    A token that you provide to identify a chat request.

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

Returns:

See Also:



917
918
919
920
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 917

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

#create_application(params = {}) ⇒ Types::CreateApplicationResponse

Creates an Amazon Q Business application.

There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are also available in Amazon Q Business Lite. For information on what's included in Amazon Q Business Lite and what's included in Amazon Q Business Pro, see Amazon Q Business tiers. You must use the Amazon Q Business console to assign subscription tiers to users.

Examples:

Request syntax with placeholder values


resp = client.create_application({
  display_name: "ApplicationName", # required
  role_arn: "RoleArn",
  identity_type: "AWS_IAM_IDP_SAML", # accepts AWS_IAM_IDP_SAML, AWS_IAM_IDP_OIDC, AWS_IAM_IDC
  iam_identity_provider_arn: "IamIdentityProviderArn",
  identity_center_instance_arn: "InstanceArn",
  client_ids_for_oidc: ["ClientIdForOIDC"],
  description: "Description",
  encryption_configuration: {
    kms_key_id: "KmsKeyId",
  },
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  client_token: "ClientToken",
  attachments_configuration: {
    attachments_control_mode: "ENABLED", # required, accepts ENABLED, DISABLED
  },
  q_apps_configuration: {
    q_apps_control_mode: "ENABLED", # required, accepts ENABLED, DISABLED
  },
  personalization_configuration: {
    personalization_control_mode: "ENABLED", # required, accepts ENABLED, DISABLED
  },
})

Response structure


resp.application_id #=> String
resp.application_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :display_name (required, String)

    A name for the Amazon Q Business application.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a service linked role (SLR) and use it as the application's role.

  • :identity_type (String)

    The authentication type being used by a Amazon Q Business application.

  • :iam_identity_provider_arn (String)

    The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.

  • :identity_center_instance_arn (String)

    The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.

  • :client_ids_for_oidc (Array<String>)

    The OIDC client ID for a Amazon Q Business application.

  • :description (String)

    A description for the Amazon Q Business application.

  • :encryption_configuration (Types::EncryptionConfiguration)

    The identifier of the KMS key that is used to encrypt your data. Amazon Q Business doesn't support asymmetric keys.

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

    A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. 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 your Amazon Q Business application.

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

  • :attachments_configuration (Types::AttachmentsConfiguration)

    An option to allow end users to upload files directly during chat.

  • :q_apps_configuration (Types::QAppsConfiguration)

    An option to allow end users to create and use Amazon Q Apps in the web experience.

  • :personalization_configuration (Types::PersonalizationConfiguration)

    Configuration information about chat response personalization. For more information, see Personalizing chat responses

Returns:

See Also:



1046
1047
1048
1049
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1046

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

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

Creates a data source connector for an Amazon Q Business application.

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

Examples:

Request syntax with placeholder values


resp = client.create_data_source({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  display_name: "DataSourceName", # required
  configuration: { # required
  },
  vpc_configuration: {
    subnet_ids: ["SubnetId"], # required
    security_group_ids: ["SecurityGroupId"], # required
  },
  description: "Description",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  sync_schedule: "SyncSchedule",
  role_arn: "RoleArn",
  client_token: "ClientToken",
  document_enrichment_configuration: {
    inline_configurations: [
      {
        condition: {
          key: "DocumentAttributeKey", # required
          operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
          value: {
            string_value: "DocumentAttributeValueStringValueString",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        target: {
          key: "DocumentAttributeKey", # required
          value: {
            string_value: "DocumentAttributeValueStringValueString",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
          attribute_value_operator: "DELETE", # accepts DELETE
        },
        document_content_operator: "DELETE", # accepts DELETE
      },
    ],
    pre_extraction_hook_configuration: {
      invocation_condition: {
        key: "DocumentAttributeKey", # required
        operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
        value: {
          string_value: "DocumentAttributeValueStringValueString",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      lambda_arn: "LambdaArn",
      s3_bucket_name: "S3BucketName",
      role_arn: "RoleArn",
    },
    post_extraction_hook_configuration: {
      invocation_condition: {
        key: "DocumentAttributeKey", # required
        operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
        value: {
          string_value: "DocumentAttributeValueStringValueString",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      lambda_arn: "LambdaArn",
      s3_bucket_name: "S3BucketName",
      role_arn: "RoleArn",
    },
  },
})

Response structure


resp.data_source_id #=> String
resp.data_source_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application the data source will be attached to.

  • :index_id (required, String)

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

  • :display_name (required, String)

    A name for the data source connector.

  • :configuration (required, Hash, Array, String, Numeric, Boolean)

    Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.

    Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:

    You can find configuration templates for your specific data source using the following steps:

    1. Navigate to the Supported connectors page in the Amazon Q Business User Guide, and select the data source of your choice.

    2. Then, from your specific data source connector page, select Using the API. You will find the JSON schema for your data source, including parameter descriptions, in this section.

    Document type used to carry open content (Hash,Array,String,Numeric,Boolean). A document type value is serialized using the same format as its surroundings and requires no additional encoding or escaping.

  • :vpc_configuration (Types::DataSourceVpcConfiguration)

    Configuration information for an Amazon VPC (Virtual Private Cloud) to connect to your data source. For more information, see Using Amazon VPC with Amazon Q Business connectors.

  • :description (String)

    A description for the data source connector.

  • :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: _ . : / = + - @.

  • :sync_schedule (String)

    Sets the frequency for Amazon Q Business to check the documents in your data source repository and update your index. If you don't set a schedule, Amazon Q Business won't periodically 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.

  • :client_token (String)

    A token you provide to identify a 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.**

  • :document_enrichment_configuration (Types::DocumentEnrichmentConfiguration)

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

    For more information, see Custom document enrichment.

Returns:

See Also:



1248
1249
1250
1251
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1248

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

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

Creates an Amazon Q Business index.

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 the CreateDataSource API.

Examples:

Request syntax with placeholder values


resp = client.create_index({
  application_id: "ApplicationId", # required
  display_name: "IndexName", # required
  type: "ENTERPRISE", # accepts ENTERPRISE, STARTER
  description: "Description",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  capacity_configuration: {
    units: 1,
  },
  client_token: "ClientToken",
})

Response structure


resp.index_id #=> String
resp.index_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application using the index.

  • :display_name (required, String)

    A name for the Amazon Q Business index.

  • :type (String)

    The index type that's suitable for your needs. For more information on what's included in each type of index, see Amazon Q Business tiers.

  • :description (String)

    A description for the Amazon Q Business index.

  • :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: _ . : / = + - @.

  • :capacity_configuration (Types::IndexCapacityConfiguration)

    The capacity units you want to provision for your index. You can add and remove capacity to fit your usage needs.

  • :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.**

Returns:

See Also:



1336
1337
1338
1339
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1336

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

#create_plugin(params = {}) ⇒ Types::CreatePluginResponse

Creates an Amazon Q Business plugin.

Examples:

Request syntax with placeholder values


resp = client.create_plugin({
  application_id: "ApplicationId", # required
  display_name: "PluginName", # required
  type: "SERVICE_NOW", # required, accepts SERVICE_NOW, SALESFORCE, JIRA, ZENDESK, CUSTOM
  auth_configuration: { # required
    basic_auth_configuration: {
      secret_arn: "SecretArn", # required
      role_arn: "RoleArn", # required
    },
    o_auth_2_client_credential_configuration: {
      secret_arn: "SecretArn", # required
      role_arn: "RoleArn", # required
    },
    no_auth_configuration: {
    },
  },
  server_url: "Url",
  custom_plugin_configuration: {
    description: "PluginDescription", # required
    api_schema_type: "OPEN_API_V3", # required, accepts OPEN_API_V3
    api_schema: { # required
      payload: "Payload",
      s3: {
        bucket: "S3BucketName", # required
        key: "S3ObjectKey", # required
      },
    },
  },
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  client_token: "ClientToken",
})

Response structure


resp.plugin_id #=> String
resp.plugin_arn #=> String
resp.build_status #=> String, one of "READY", "CREATE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_IN_PROGRESS", "UPDATE_FAILED", "DELETE_IN_PROGRESS", "DELETE_FAILED"

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application that will contain the plugin.

  • :display_name (required, String)

    A the name for your plugin.

  • :type (required, String)

    The type of plugin you want to create.

  • :auth_configuration (required, Types::PluginAuthConfiguration)

    Authentication configuration information for an Amazon Q Business plugin.

  • :server_url (String)

    The source URL used for plugin configuration.

  • :custom_plugin_configuration (Types::CustomPluginConfiguration)

    Contains configuration for a custom plugin.

  • :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 your Amazon Q Business plugin.

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

Returns:

See Also:



1431
1432
1433
1434
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1431

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

#create_retriever(params = {}) ⇒ Types::CreateRetrieverResponse

Adds a retriever to your Amazon Q Business application.

Examples:

Request syntax with placeholder values


resp = client.create_retriever({
  application_id: "ApplicationId", # required
  type: "NATIVE_INDEX", # required, accepts NATIVE_INDEX, KENDRA_INDEX
  display_name: "RetrieverName", # required
  configuration: { # required
    native_index_configuration: {
      index_id: "IndexId", # required
      boosting_override: {
        "DocumentAttributeKey" => {
          number_configuration: {
            boosting_level: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH, VERY_HIGH
            boosting_type: "PRIORITIZE_LARGER_VALUES", # accepts PRIORITIZE_LARGER_VALUES, PRIORITIZE_SMALLER_VALUES
          },
          string_configuration: {
            boosting_level: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH, VERY_HIGH
            attribute_value_boosting: {
              "String" => "LOW", # accepts LOW, MEDIUM, HIGH, VERY_HIGH
            },
          },
          date_configuration: {
            boosting_level: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH, VERY_HIGH
            boosting_duration_in_seconds: 1,
          },
          string_list_configuration: {
            boosting_level: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH, VERY_HIGH
          },
        },
      },
    },
    kendra_index_configuration: {
      index_id: "KendraIndexId", # required
    },
  },
  role_arn: "RoleArn",
  client_token: "ClientToken",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.retriever_id #=> String
resp.retriever_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of your Amazon Q Business application.

  • :type (required, String)

    The type of retriever you are using.

  • :display_name (required, String)

    The name of your retriever.

  • :configuration (required, Types::RetrieverConfiguration)

    Provides information on how the retriever used for your Amazon Q Business application is configured.

  • :role_arn (String)

    The ARN of an IAM role used by Amazon Q Business to access the basic authentication credentials stored in a Secrets Manager secret.

  • :client_token (String)

    A token that you provide to identify the request to create your Amazon Q Business application retriever.

    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 retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

Returns:

See Also:



1527
1528
1529
1530
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1527

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

#create_user(params = {}) ⇒ Struct

Creates a universally unique identifier (UUID) mapped to a list of local user ids within an application.

Examples:

Request syntax with placeholder values


resp = client.create_user({
  application_id: "ApplicationId", # required
  user_id: "String", # required
  user_aliases: [
    {
      index_id: "IndexId",
      data_source_id: "DataSourceId",
      user_id: "String", # required
    },
  ],
  client_token: "ClientToken",
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application for which the user mapping will be created.

  • :user_id (required, String)

    The user emails attached to a user mapping.

  • :user_aliases (Array<Types::UserAlias>)

    The list of user aliases in the mapping.

  • :client_token (String)

    A token that you provide to identify the request to create your Amazon Q Business user mapping.

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1573
1574
1575
1576
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1573

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

#create_web_experience(params = {}) ⇒ Types::CreateWebExperienceResponse

Creates an Amazon Q Business web experience.

Examples:

Request syntax with placeholder values


resp = client.create_web_experience({
  application_id: "ApplicationId", # required
  title: "WebExperienceTitle",
  subtitle: "WebExperienceSubtitle",
  welcome_message: "WebExperienceWelcomeMessage",
  sample_prompts_control_mode: "ENABLED", # accepts ENABLED, DISABLED
  origins: ["Origin"],
  role_arn: "RoleArn",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  client_token: "ClientToken",
  identity_provider_configuration: {
    saml_configuration: {
      authentication_url: "SamlAuthenticationUrl", # required
    },
    open_id_connect_configuration: {
      secrets_arn: "SecretArn", # required
      secrets_role: "RoleArn", # required
    },
  },
})

Response structure


resp.web_experience_id #=> String
resp.web_experience_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business web experience.

  • :title (String)

    The title for your Amazon Q Business web experience.

  • :subtitle (String)

    A subtitle to personalize your Amazon Q Business web experience.

  • :welcome_message (String)

    The customized welcome message for end users of an Amazon Q Business web experience.

  • :sample_prompts_control_mode (String)

    Determines whether sample prompts are enabled in the web experience for an end user.

  • :origins (Array<String>)

    Sets the website domain origins that are allowed to embed the Amazon Q Business web experience. The domain origin refers to the base URL for accessing a website including the protocol (http/https), the domain name, and the port number (if specified).

    You must only submit a base URL and not a full path. For example, https://docs.aws.amazon.com.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of the service role attached to your web experience.

    You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value.

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

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

  • :client_token (String)

    A token you provide to identify a request to create an Amazon Q Business web experience.

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

  • :identity_provider_configuration (Types::IdentityProviderConfiguration)

    Information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.

Returns:

See Also:



1677
1678
1679
1680
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1677

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

#delete_application(params = {}) ⇒ Struct

Deletes an Amazon Q Business application.

Examples:

Request syntax with placeholder values


resp = client.delete_application({
  application_id: "ApplicationId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1699
1700
1701
1702
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1699

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

#delete_chat_controls_configuration(params = {}) ⇒ Struct

Deletes chat controls configured for an existing Amazon Q Business application.

Examples:

Request syntax with placeholder values


resp = client.delete_chat_controls_configuration({
  application_id: "ApplicationId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application the chat controls have been configured for.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1723
1724
1725
1726
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1723

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

#delete_conversation(params = {}) ⇒ Struct

Deletes an Amazon Q Business web experience conversation.

Examples:

Request syntax with placeholder values


resp = client.delete_conversation({
  conversation_id: "ConversationId", # required
  application_id: "ApplicationId", # required
  user_id: "UserId",
})

Parameters:

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

    ({})

Options Hash (params):

  • :conversation_id (required, String)

    The identifier of the Amazon Q Business web experience conversation being deleted.

  • :application_id (required, String)

    The identifier of the Amazon Q Business application associated with the conversation.

  • :user_id (String)

    The identifier of the user who is deleting the conversation.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1755
1756
1757
1758
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1755

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

#delete_data_source(params = {}) ⇒ Struct

Deletes an Amazon Q Business data source connector. While the data source is being deleted, the Status field returned by a call to the DescribeDataSource API is set to DELETING.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application used with the data source connector.

  • :index_id (required, String)

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

  • :data_source_id (required, String)

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1788
1789
1790
1791
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1788

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

#delete_group(params = {}) ⇒ Struct

Deletes a group so that all users and sub groups 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 chat results.

If you want to delete, update, or replace users or sub groups of a group, you need to use the PutGroup 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 PutGroup.

Examples:

Request syntax with placeholder values


resp = client.delete_group({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  group_name: "GroupName", # required
  data_source_id: "DataSourceId",
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application in which the group mapping belongs.

  • :index_id (required, String)

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

  • :group_name (required, String)

    The name of the group you want to delete.

  • :data_source_id (String)

    The identifier of the data source linked to the group

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1842
1843
1844
1845
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1842

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

#delete_index(params = {}) ⇒ Struct

Deletes an Amazon Q Business index.

Examples:

Request syntax with placeholder values


resp = client.delete_index({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application the Amazon Q Business index is linked to.

  • :index_id (required, String)

    The identifier of the Amazon Q Business index.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1869
1870
1871
1872
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1869

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

#delete_plugin(params = {}) ⇒ Struct

Deletes an Amazon Q Business plugin.

Examples:

Request syntax with placeholder values


resp = client.delete_plugin({
  application_id: "ApplicationId", # required
  plugin_id: "PluginId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier the application attached to the Amazon Q Business plugin.

  • :plugin_id (required, String)

    The identifier of the plugin being deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1896
1897
1898
1899
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1896

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

#delete_retriever(params = {}) ⇒ Struct

Deletes the retriever used by an Amazon Q Business application.

Examples:

Request syntax with placeholder values


resp = client.delete_retriever({
  application_id: "ApplicationId", # required
  retriever_id: "RetrieverId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application using the retriever.

  • :retriever_id (required, String)

    The identifier of the retriever being deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1923
1924
1925
1926
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1923

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

#delete_user(params = {}) ⇒ Struct

Deletes a user by email id.

Examples:

Request syntax with placeholder values


resp = client.delete_user({
  application_id: "ApplicationId", # required
  user_id: "String", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application from which the user is being deleted.

  • :user_id (required, String)

    The user email being deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1950
1951
1952
1953
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1950

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

#delete_web_experience(params = {}) ⇒ Struct

Deletes an Amazon Q Business web experience.

Examples:

Request syntax with placeholder values


resp = client.delete_web_experience({
  application_id: "ApplicationId", # required
  web_experience_id: "WebExperienceId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application linked to the Amazon Q Business web experience.

  • :web_experience_id (required, String)

    The identifier of the Amazon Q Business web experience being deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1977
1978
1979
1980
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1977

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

#get_application(params = {}) ⇒ Types::GetApplicationResponse

Gets information about an existing Amazon Q Business application.

Examples:

Request syntax with placeholder values


resp = client.get_application({
  application_id: "ApplicationId", # required
})

Response structure


resp.display_name #=> String
resp.application_id #=> String
resp.application_arn #=> String
resp.identity_type #=> String, one of "AWS_IAM_IDP_SAML", "AWS_IAM_IDP_OIDC", "AWS_IAM_IDC"
resp.iam_identity_provider_arn #=> String
resp.identity_center_application_arn #=> String
resp.role_arn #=> String
resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
resp.description #=> String
resp.encryption_configuration.kms_key_id #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.error.error_message #=> String
resp.error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
resp.attachments_configuration.attachments_control_mode #=> String, one of "ENABLED", "DISABLED"
resp.q_apps_configuration.q_apps_control_mode #=> String, one of "ENABLED", "DISABLED"
resp.personalization_configuration.personalization_control_mode #=> String, one of "ENABLED", "DISABLED"
resp.auto_subscription_configuration.auto_subscribe #=> String, one of "ENABLED", "DISABLED"
resp.auto_subscription_configuration.default_subscription_type #=> String, one of "Q_LITE", "Q_BUSINESS"
resp.client_ids_for_oidc #=> Array
resp.client_ids_for_oidc[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application.

Returns:

See Also:



2042
2043
2044
2045
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2042

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

#get_chat_controls_configuration(params = {}) ⇒ Types::GetChatControlsConfigurationResponse

Gets information about an chat controls configured for an existing Amazon Q Business application.

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_chat_controls_configuration({
  application_id: "ApplicationId", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.response_scope #=> String, one of "ENTERPRISE_CONTENT_ONLY", "EXTENDED_KNOWLEDGE_ENABLED"
resp.blocked_phrases.blocked_phrases #=> Array
resp.blocked_phrases.blocked_phrases[0] #=> String
resp.blocked_phrases.system_message_override #=> String
resp.topic_configurations #=> Array
resp.topic_configurations[0].name #=> String
resp.topic_configurations[0].description #=> String
resp.topic_configurations[0].example_chat_messages #=> Array
resp.topic_configurations[0].example_chat_messages[0] #=> String
resp.topic_configurations[0].rules #=> Array
resp.topic_configurations[0].rules[0].included_users_and_groups.user_ids #=> Array
resp.topic_configurations[0].rules[0].included_users_and_groups.user_ids[0] #=> String
resp.topic_configurations[0].rules[0].included_users_and_groups.user_groups #=> Array
resp.topic_configurations[0].rules[0].included_users_and_groups.user_groups[0] #=> String
resp.topic_configurations[0].rules[0].excluded_users_and_groups.user_ids #=> Array
resp.topic_configurations[0].rules[0].excluded_users_and_groups.user_ids[0] #=> String
resp.topic_configurations[0].rules[0].excluded_users_and_groups.user_groups #=> Array
resp.topic_configurations[0].rules[0].excluded_users_and_groups.user_groups[0] #=> String
resp.topic_configurations[0].rules[0].rule_type #=> String, one of "CONTENT_BLOCKER_RULE", "CONTENT_RETRIEVAL_RULE"
resp.topic_configurations[0].rules[0].rule_configuration.content_blocker_rule.system_message_override #=> String
resp.topic_configurations[0].rules[0].rule_configuration.content_retrieval_rule.eligible_data_sources #=> Array
resp.topic_configurations[0].rules[0].rule_configuration.content_retrieval_rule.eligible_data_sources[0].index_id #=> String
resp.topic_configurations[0].rules[0].rule_configuration.content_retrieval_rule.eligible_data_sources[0].data_source_id #=> String
resp.creator_mode_configuration.creator_mode_control #=> String, one of "ENABLED", "DISABLED"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application for which the chat controls are configured.

  • :max_results (Integer)

    The maximum number of configured chat controls to return.

  • :next_token (String)

    If the maxResults response was incomplete because there is more data to retrieve, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of Amazon Q Business chat controls configured.

Returns:

See Also:



2113
2114
2115
2116
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2113

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

#get_data_source(params = {}) ⇒ Types::GetDataSourceResponse

Gets information about an existing Amazon Q Business data source connector.

Examples:

Request syntax with placeholder values


resp = client.get_data_source({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  data_source_id: "DataSourceId", # required
})

Response structure


resp.application_id #=> String
resp.index_id #=> String
resp.data_source_id #=> String
resp.data_source_arn #=> String
resp.display_name #=> String
resp.type #=> 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 "PENDING_CREATION", "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
resp.sync_schedule #=> String
resp.role_arn #=> String
resp.error.error_message #=> String
resp.error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
resp.document_enrichment_configuration.inline_configurations #=> Array
resp.document_enrichment_configuration.inline_configurations[0].condition.key #=> String
resp.document_enrichment_configuration.inline_configurations[0].condition.operator #=> String, one of "GREATER_THAN", "GREATER_THAN_OR_EQUALS", "LESS_THAN", "LESS_THAN_OR_EQUALS", "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "EXISTS", "NOT_EXISTS", "BEGINS_WITH"
resp.document_enrichment_configuration.inline_configurations[0].condition.value.string_value #=> String
resp.document_enrichment_configuration.inline_configurations[0].condition.value.string_list_value #=> Array
resp.document_enrichment_configuration.inline_configurations[0].condition.value.string_list_value[0] #=> String
resp.document_enrichment_configuration.inline_configurations[0].condition.value.long_value #=> Integer
resp.document_enrichment_configuration.inline_configurations[0].condition.value.date_value #=> Time
resp.document_enrichment_configuration.inline_configurations[0].target.key #=> String
resp.document_enrichment_configuration.inline_configurations[0].target.value.string_value #=> String
resp.document_enrichment_configuration.inline_configurations[0].target.value.string_list_value #=> Array
resp.document_enrichment_configuration.inline_configurations[0].target.value.string_list_value[0] #=> String
resp.document_enrichment_configuration.inline_configurations[0].target.value.long_value #=> Integer
resp.document_enrichment_configuration.inline_configurations[0].target.value.date_value #=> Time
resp.document_enrichment_configuration.inline_configurations[0].target.attribute_value_operator #=> String, one of "DELETE"
resp.document_enrichment_configuration.inline_configurations[0].document_content_operator #=> String, one of "DELETE"
resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.key #=> String
resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.operator #=> String, one of "GREATER_THAN", "GREATER_THAN_OR_EQUALS", "LESS_THAN", "LESS_THAN_OR_EQUALS", "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "EXISTS", "NOT_EXISTS", "BEGINS_WITH"
resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.value.string_value #=> String
resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.value.string_list_value #=> Array
resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.value.string_list_value[0] #=> String
resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.value.long_value #=> Integer
resp.document_enrichment_configuration.pre_extraction_hook_configuration.invocation_condition.value.date_value #=> Time
resp.document_enrichment_configuration.pre_extraction_hook_configuration.lambda_arn #=> String
resp.document_enrichment_configuration.pre_extraction_hook_configuration.s3_bucket_name #=> String
resp.document_enrichment_configuration.pre_extraction_hook_configuration.role_arn #=> String
resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.key #=> String
resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.operator #=> String, one of "GREATER_THAN", "GREATER_THAN_OR_EQUALS", "LESS_THAN", "LESS_THAN_OR_EQUALS", "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "EXISTS", "NOT_EXISTS", "BEGINS_WITH"
resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.value.string_value #=> String
resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.value.string_list_value #=> Array
resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.value.string_list_value[0] #=> String
resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.value.long_value #=> Integer
resp.document_enrichment_configuration.post_extraction_hook_configuration.invocation_condition.value.date_value #=> Time
resp.document_enrichment_configuration.post_extraction_hook_configuration.lambda_arn #=> String
resp.document_enrichment_configuration.post_extraction_hook_configuration.s3_bucket_name #=> String
resp.document_enrichment_configuration.post_extraction_hook_configuration.role_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application.

  • :index_id (required, String)

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

  • :data_source_id (required, String)

    The identifier of the data source connector.

Returns:

See Also:



2218
2219
2220
2221
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2218

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

#get_group(params = {}) ⇒ Types::GetGroupResponse

Describes a group by group name.

Examples:

Request syntax with placeholder values


resp = client.get_group({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  group_name: "GroupName", # required
  data_source_id: "DataSourceId",
})

Response structure


resp.status.status #=> String, one of "FAILED", "SUCCEEDED", "PROCESSING", "DELETING", "DELETED"
resp.status.last_updated_at #=> Time
resp.status.error_detail.error_message #=> String
resp.status.error_detail.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
resp.status_history #=> Array
resp.status_history[0].status #=> String, one of "FAILED", "SUCCEEDED", "PROCESSING", "DELETING", "DELETED"
resp.status_history[0].last_updated_at #=> Time
resp.status_history[0].error_detail.error_message #=> String
resp.status_history[0].error_detail.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application id the group is attached to.

  • :index_id (required, String)

    The identifier of the index the group is attached to.

  • :group_name (required, String)

    The name of the group.

  • :data_source_id (String)

    The identifier of the data source the group is attached to.

Returns:

See Also:



2267
2268
2269
2270
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2267

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

#get_index(params = {}) ⇒ Types::GetIndexResponse

Gets information about an existing Amazon Q Business index.

Examples:

Request syntax with placeholder values


resp = client.get_index({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
})

Response structure


resp.application_id #=> String
resp.index_id #=> String
resp.display_name #=> String
resp.type #=> String, one of "ENTERPRISE", "STARTER"
resp.index_arn #=> String
resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
resp.description #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.capacity_configuration.units #=> Integer
resp.document_attribute_configurations #=> Array
resp.document_attribute_configurations[0].name #=> String
resp.document_attribute_configurations[0].type #=> String, one of "STRING", "STRING_LIST", "NUMBER", "DATE"
resp.document_attribute_configurations[0].search #=> String, one of "ENABLED", "DISABLED"
resp.error.error_message #=> String
resp.error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
resp.index_statistics.text_document_statistics.indexed_text_bytes #=> Integer
resp.index_statistics.text_document_statistics.indexed_text_document_count #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application connected to the index.

  • :index_id (required, String)

    The identifier of the Amazon Q Business index you want information on.

Returns:

See Also:



2329
2330
2331
2332
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2329

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

#get_plugin(params = {}) ⇒ Types::GetPluginResponse

Gets information about an existing Amazon Q Business plugin.

Examples:

Request syntax with placeholder values


resp = client.get_plugin({
  application_id: "ApplicationId", # required
  plugin_id: "PluginId", # required
})

Response structure


resp.application_id #=> String
resp.plugin_id #=> String
resp.display_name #=> String
resp.type #=> String, one of "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK", "CUSTOM"
resp.server_url #=> String
resp.auth_configuration.basic_auth_configuration.secret_arn #=> String
resp.auth_configuration.basic_auth_configuration.role_arn #=> String
resp.auth_configuration.o_auth_2_client_credential_configuration.secret_arn #=> String
resp.auth_configuration.o_auth_2_client_credential_configuration.role_arn #=> String
resp.custom_plugin_configuration.description #=> String
resp.custom_plugin_configuration.api_schema_type #=> String, one of "OPEN_API_V3"
resp.custom_plugin_configuration.api_schema.payload #=> String
resp.custom_plugin_configuration.api_schema.s3.bucket #=> String
resp.custom_plugin_configuration.api_schema.s3.key #=> String
resp.build_status #=> String, one of "READY", "CREATE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_IN_PROGRESS", "UPDATE_FAILED", "DELETE_IN_PROGRESS", "DELETE_FAILED"
resp.plugin_arn #=> String
resp.state #=> String, one of "ENABLED", "DISABLED"
resp.created_at #=> Time
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application which contains the plugin.

  • :plugin_id (required, String)

    The identifier of the plugin.

Returns:

See Also:



2390
2391
2392
2393
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2390

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

#get_retriever(params = {}) ⇒ Types::GetRetrieverResponse

Gets information about an existing retriever used by an Amazon Q Business application.

Examples:

Request syntax with placeholder values


resp = client.get_retriever({
  application_id: "ApplicationId", # required
  retriever_id: "RetrieverId", # required
})

Response structure


resp.application_id #=> String
resp.retriever_id #=> String
resp.retriever_arn #=> String
resp.type #=> String, one of "NATIVE_INDEX", "KENDRA_INDEX"
resp.status #=> String, one of "CREATING", "ACTIVE", "FAILED"
resp.display_name #=> String
resp.configuration.native_index_configuration.index_id #=> String
resp.configuration.native_index_configuration.boosting_override #=> Hash
resp.configuration.native_index_configuration.boosting_override["DocumentAttributeKey"].number_configuration.boosting_level #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH", "VERY_HIGH"
resp.configuration.native_index_configuration.boosting_override["DocumentAttributeKey"].number_configuration.boosting_type #=> String, one of "PRIORITIZE_LARGER_VALUES", "PRIORITIZE_SMALLER_VALUES"
resp.configuration.native_index_configuration.boosting_override["DocumentAttributeKey"].string_configuration.boosting_level #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH", "VERY_HIGH"
resp.configuration.native_index_configuration.boosting_override["DocumentAttributeKey"].string_configuration.attribute_value_boosting #=> Hash
resp.configuration.native_index_configuration.boosting_override["DocumentAttributeKey"].string_configuration.attribute_value_boosting["String"] #=> String, one of "LOW", "MEDIUM", "HIGH", "VERY_HIGH"
resp.configuration.native_index_configuration.boosting_override["DocumentAttributeKey"].date_configuration.boosting_level #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH", "VERY_HIGH"
resp.configuration.native_index_configuration.boosting_override["DocumentAttributeKey"].date_configuration.boosting_duration_in_seconds #=> Integer
resp.configuration.native_index_configuration.boosting_override["DocumentAttributeKey"].string_list_configuration.boosting_level #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH", "VERY_HIGH"
resp.configuration.kendra_index_configuration.index_id #=> String
resp.role_arn #=> String
resp.created_at #=> Time
resp.updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application using the retriever.

  • :retriever_id (required, String)

    The identifier of the retriever.

Returns:

See Also:



2452
2453
2454
2455
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2452

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

#get_user(params = {}) ⇒ Types::GetUserResponse

Describes the universally unique identifier (UUID) associated with a local user in a data source.

Examples:

Request syntax with placeholder values


resp = client.get_user({
  application_id: "ApplicationId", # required
  user_id: "String", # required
})

Response structure


resp.user_aliases #=> Array
resp.user_aliases[0].index_id #=> String
resp.user_aliases[0].data_source_id #=> String
resp.user_aliases[0].user_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application connected to the user.

  • :user_id (required, String)

    The user email address attached to the user.

Returns:

See Also:



2488
2489
2490
2491
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2488

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

#get_web_experience(params = {}) ⇒ Types::GetWebExperienceResponse

Gets information about an existing Amazon Q Business web experience.

Examples:

Request syntax with placeholder values


resp = client.get_web_experience({
  application_id: "ApplicationId", # required
  web_experience_id: "WebExperienceId", # required
})

Response structure


resp.application_id #=> String
resp.web_experience_id #=> String
resp.web_experience_arn #=> String
resp.default_endpoint #=> String
resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "PENDING_AUTH_CONFIG"
resp.created_at #=> Time
resp.updated_at #=> Time
resp.title #=> String
resp.subtitle #=> String
resp.welcome_message #=> String
resp.sample_prompts_control_mode #=> String, one of "ENABLED", "DISABLED"
resp.origins #=> Array
resp.origins[0] #=> String
resp.role_arn #=> String
resp.identity_provider_configuration.saml_configuration.authentication_url #=> String
resp.identity_provider_configuration.open_id_connect_configuration.secrets_arn #=> String
resp.identity_provider_configuration.open_id_connect_configuration.secrets_role #=> String
resp.authentication_configuration.saml_configuration. #=> String
resp.authentication_configuration.saml_configuration.role_arn #=> String
resp.authentication_configuration.saml_configuration.user_id_attribute #=> String
resp.authentication_configuration.saml_configuration.user_group_attribute #=> String
resp.error.error_message #=> String
resp.error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application linked to the web experience.

  • :web_experience_id (required, String)

    The identifier of the Amazon Q Business web experience.

Returns:

See Also:



2558
2559
2560
2561
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2558

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

#list_applications(params = {}) ⇒ Types::ListApplicationsResponse

Lists Amazon Q Business applications.

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_applications({
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.applications #=> Array
resp.applications[0].display_name #=> String
resp.applications[0].application_id #=> String
resp.applications[0].created_at #=> Time
resp.applications[0].updated_at #=> Time
resp.applications[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
resp.applications[0].identity_type #=> String, one of "AWS_IAM_IDP_SAML", "AWS_IAM_IDP_OIDC", "AWS_IAM_IDC"

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    If the maxResults response was incomplete because there is more data to retrieve, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of Amazon Q Business applications.

  • :max_results (Integer)

    The maximum number of Amazon Q Business applications to return.

Returns:

See Also:



2603
2604
2605
2606
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2603

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

#list_conversations(params = {}) ⇒ Types::ListConversationsResponse

Lists one or more Amazon Q Business conversations.

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_conversations({
  application_id: "ApplicationId", # required
  user_id: "UserId",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.conversations #=> Array
resp.conversations[0].conversation_id #=> String
resp.conversations[0].title #=> String
resp.conversations[0].start_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application.

  • :user_id (String)

    The identifier of the user involved in the Amazon Q Business web experience conversation.

  • :next_token (String)

    If the maxResults response was incomplete because there is more data to retrieve, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of Amazon Q Business conversations.

  • :max_results (Integer)

    The maximum number of Amazon Q Business conversations to return.

Returns:

See Also:



2654
2655
2656
2657
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2654

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

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

Get information about an Amazon Q Business data source connector synchronization.

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({
  data_source_id: "DataSourceId", # required
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
  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.error_message #=> String
resp.history[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
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):

  • :data_source_id (required, String)

    The identifier of the data source connector.

  • :application_id (required, String)

    The identifier of the Amazon Q Business application connected to the data source.

  • :index_id (required, String)

    The identifier of the index used with the Amazon Q Business data source connector.

  • :next_token (String)

    If the maxResults response was incpmplete because there is more data to retriever, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of responses.

  • :max_results (Integer)

    The maximum number of synchronization jobs to return in the response.

  • :start_time (Time, DateTime, Date, Integer, String)

    The start time of the data source connector sync.

  • :end_time (Time, DateTime, Date, Integer, String)

    The end time of the data source connector sync.

  • :status_filter (String)

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

Returns:

See Also:



2733
2734
2735
2736
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2733

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 Amazon Q Business 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({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.data_sources #=> Array
resp.data_sources[0].display_name #=> String
resp.data_sources[0].data_source_id #=> String
resp.data_sources[0].type #=> String
resp.data_sources[0].created_at #=> Time
resp.data_sources[0].updated_at #=> Time
resp.data_sources[0].status #=> String, one of "PENDING_CREATION", "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application linked to the data source connectors.

  • :index_id (required, String)

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

  • :next_token (String)

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

  • :max_results (Integer)

    The maximum number of data source connectors to return.

Returns:

See Also:



2789
2790
2791
2792
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2789

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

#list_documents(params = {}) ⇒ Types::ListDocumentsResponse

A list of documents attached to 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_documents({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  data_source_ids: ["DataSourceId"],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.document_detail_list #=> Array
resp.document_detail_list[0].document_id #=> String
resp.document_detail_list[0].status #=> String, one of "RECEIVED", "PROCESSING", "INDEXED", "UPDATED", "FAILED", "DELETING", "DELETED", "DOCUMENT_FAILED_TO_INDEX"
resp.document_detail_list[0].error.error_message #=> String
resp.document_detail_list[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
resp.document_detail_list[0].created_at #=> Time
resp.document_detail_list[0].updated_at #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application id the documents are attached to.

  • :index_id (required, String)

    The identifier of the index the documents are attached to.

  • :data_source_ids (Array<String>)

    The identifier of the data sources the documents are attached to.

  • :next_token (String)

    If the maxResults response was incomplete because there is more data to retrieve, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of documents.

  • :max_results (Integer)

    The maximum number of documents to return.

Returns:

See Also:



2846
2847
2848
2849
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2846

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

#list_groups(params = {}) ⇒ Types::ListGroupsResponse

Provides a list of groups that are mapped to users.

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({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  updated_earlier_than: Time.now, # required
  data_source_id: "DataSourceId",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.items #=> Array
resp.items[0].group_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application for getting a list of groups mapped to users.

  • :index_id (required, String)

    The identifier of the index for getting a list of groups mapped to users.

  • :updated_earlier_than (required, Time, DateTime, Date, Integer, String)

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

  • :data_source_id (String)

    The identifier of the data source for getting a list of groups mapped to users.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Q Business 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.

  • :max_results (Integer)

    The maximum number of returned groups that are mapped to users.

Returns:

See Also:



2906
2907
2908
2909
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2906

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

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

Lists the Amazon Q Business indices 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_indices({
  application_id: "ApplicationId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.indices #=> Array
resp.indices[0].display_name #=> String
resp.indices[0].index_id #=> String
resp.indices[0].created_at #=> Time
resp.indices[0].updated_at #=> Time
resp.indices[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application connected to the index.

  • :next_token (String)

    If the maxResults response was incomplete because there is more data to retrieve, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of Amazon Q Business indices.

  • :max_results (Integer)

    The maximum number of indices to return.

Returns:

See Also:



2955
2956
2957
2958
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2955

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

#list_messages(params = {}) ⇒ Types::ListMessagesResponse

Gets a list of messages associated with an Amazon Q Business web 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_messages({
  conversation_id: "ConversationId", # required
  application_id: "ApplicationId", # required
  user_id: "UserId",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.messages #=> Array
resp.messages[0].message_id #=> String
resp.messages[0].body #=> String
resp.messages[0].time #=> Time
resp.messages[0].type #=> String, one of "USER", "SYSTEM"
resp.messages[0].attachments #=> Array
resp.messages[0].attachments[0].name #=> String
resp.messages[0].attachments[0].status #=> String, one of "FAILED", "SUCCEEDED"
resp.messages[0].attachments[0].error.error_message #=> String
resp.messages[0].attachments[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
resp.messages[0].source_attribution #=> Array
resp.messages[0].source_attribution[0].title #=> String
resp.messages[0].source_attribution[0].snippet #=> String
resp.messages[0].source_attribution[0].url #=> String
resp.messages[0].source_attribution[0].citation_number #=> Integer
resp.messages[0].source_attribution[0].updated_at #=> Time
resp.messages[0].source_attribution[0].text_message_segments #=> Array
resp.messages[0].source_attribution[0].text_message_segments[0].begin_offset #=> Integer
resp.messages[0].source_attribution[0].text_message_segments[0].end_offset #=> Integer
resp.messages[0].source_attribution[0].text_message_segments[0].snippet_excerpt.text #=> String
resp.messages[0].action_review.plugin_id #=> String
resp.messages[0].action_review.plugin_type #=> String, one of "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK", "CUSTOM"
resp.messages[0].action_review.payload #=> Hash
resp.messages[0].action_review.payload["ActionPayloadFieldKey"].display_name #=> String
resp.messages[0].action_review.payload["ActionPayloadFieldKey"].display_order #=> Integer
resp.messages[0].action_review.payload["ActionPayloadFieldKey"].display_description #=> String
resp.messages[0].action_review.payload["ActionPayloadFieldKey"].type #=> String, one of "STRING", "NUMBER", "ARRAY", "BOOLEAN"
resp.messages[0].action_review.payload["ActionPayloadFieldKey"].allowed_values #=> Array
resp.messages[0].action_review.payload["ActionPayloadFieldKey"].allowed_format #=> String
resp.messages[0].action_review.payload["ActionPayloadFieldKey"].required #=> Boolean
resp.messages[0].action_review.payload_field_name_separator #=> String
resp.messages[0].action_execution.plugin_id #=> String
resp.messages[0].action_execution.payload #=> Hash
resp.messages[0].action_execution.payload_field_name_separator #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :conversation_id (required, String)

    The identifier of the Amazon Q Business web experience conversation.

  • :application_id (required, String)

    The identifier for the Amazon Q Business application.

  • :user_id (String)

    The identifier of the user involved in the Amazon Q Business web experience conversation.

  • :next_token (String)

    If the number of retrievers returned exceeds maxResults, Amazon Q Business returns a next token as a pagination token to retrieve the next set of messages.

  • :max_results (Integer)

    The maximum number of messages to return.

Returns:

See Also:



3040
3041
3042
3043
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3040

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

#list_plugins(params = {}) ⇒ Types::ListPluginsResponse

Lists configured Amazon Q Business plugins.

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_plugins({
  application_id: "ApplicationId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.plugins #=> Array
resp.plugins[0].plugin_id #=> String
resp.plugins[0].display_name #=> String
resp.plugins[0].type #=> String, one of "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK", "CUSTOM"
resp.plugins[0].server_url #=> String
resp.plugins[0].state #=> String, one of "ENABLED", "DISABLED"
resp.plugins[0].build_status #=> String, one of "READY", "CREATE_IN_PROGRESS", "CREATE_FAILED", "UPDATE_IN_PROGRESS", "UPDATE_FAILED", "DELETE_IN_PROGRESS", "DELETE_FAILED"
resp.plugins[0].created_at #=> Time
resp.plugins[0].updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application the plugin is attached to.

  • :next_token (String)

    If the maxResults response was incomplete because there is more data to retrieve, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of plugins.

  • :max_results (Integer)

    The maximum number of documents to return.

Returns:

See Also:



3091
3092
3093
3094
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3091

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

#list_retrievers(params = {}) ⇒ Types::ListRetrieversResponse

Lists the retriever used by an Amazon Q Business application.

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_retrievers({
  application_id: "ApplicationId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.retrievers #=> Array
resp.retrievers[0].application_id #=> String
resp.retrievers[0].retriever_id #=> String
resp.retrievers[0].type #=> String, one of "NATIVE_INDEX", "KENDRA_INDEX"
resp.retrievers[0].status #=> String, one of "CREATING", "ACTIVE", "FAILED"
resp.retrievers[0].display_name #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application using the retriever.

  • :next_token (String)

    If the number of retrievers returned exceeds maxResults, Amazon Q Business returns a next token as a pagination token to retrieve the next set of retrievers.

  • :max_results (Integer)

    The maximum number of retrievers returned.

Returns:

See Also:



3139
3140
3141
3142
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3139

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

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

Gets a list of tags associated with a specified resource. Amazon Q Business applications and data sources 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):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the Amazon Q Business application or data source to get a list of tags for.

Returns:

See Also:



3172
3173
3174
3175
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3172

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

#list_web_experiences(params = {}) ⇒ Types::ListWebExperiencesResponse

Lists one or more Amazon Q Business Web Experiences.

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_web_experiences({
  application_id: "ApplicationId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.web_experiences #=> Array
resp.web_experiences[0].web_experience_id #=> String
resp.web_experiences[0].created_at #=> Time
resp.web_experiences[0].updated_at #=> Time
resp.web_experiences[0].default_endpoint #=> String
resp.web_experiences[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "PENDING_AUTH_CONFIG"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application linked to the listed web experiences.

  • :next_token (String)

    If the maxResults response was incomplete because there is more data to retrieve, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of Amazon Q Business conversations.

  • :max_results (Integer)

    The maximum number of Amazon Q Business Web Experiences to return.

Returns:

See Also:



3221
3222
3223
3224
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3221

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

#put_feedback(params = {}) ⇒ Struct

Enables your end user to provide feedback on their Amazon Q Business generated chat responses.

Examples:

Request syntax with placeholder values


resp = client.put_feedback({
  application_id: "ApplicationId", # required
  user_id: "UserId",
  conversation_id: "ConversationId", # required
  message_id: "SystemMessageId", # required
  message_copied_at: Time.now,
  message_usefulness: {
    usefulness: "USEFUL", # required, accepts USEFUL, NOT_USEFUL
    reason: "NOT_FACTUALLY_CORRECT", # accepts NOT_FACTUALLY_CORRECT, HARMFUL_OR_UNSAFE, INCORRECT_OR_MISSING_SOURCES, NOT_HELPFUL, FACTUALLY_CORRECT, COMPLETE, RELEVANT_SOURCES, HELPFUL, NOT_BASED_ON_DOCUMENTS, NOT_COMPLETE, NOT_CONCISE, OTHER
    comment: "MessageUsefulnessComment",
    submitted_at: Time.now, # required
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application associated with the feedback.

  • :user_id (String)

    The identifier of the user giving the feedback.

  • :conversation_id (required, String)

    The identifier of the conversation the feedback is attached to.

  • :message_id (required, String)

    The identifier of the chat message that the feedback was given for.

  • :message_copied_at (Time, DateTime, Date, Integer, String)

    The timestamp for when the feedback was recorded.

  • :message_usefulness (Types::MessageUsefulnessFeedback)

    The feedback usefulness value given by the user to the chat message.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3269
3270
3271
3272
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3269

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

#put_group(params = {}) ⇒ Struct

Create, or updates, a mapping of users—who have access to a document—to groups.

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 Amazon Q Business chat results.

Examples:

Request syntax with placeholder values


resp = client.put_group({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  group_name: "GroupName", # required
  data_source_id: "DataSourceId",
  type: "INDEX", # required, accepts INDEX, DATASOURCE
  group_members: { # required
    member_groups: [
      {
        group_name: "GroupName", # required
        type: "INDEX", # accepts INDEX, DATASOURCE
      },
    ],
    member_users: [
      {
        user_id: "DataSourceUserId", # required
        type: "INDEX", # accepts INDEX, DATASOURCE
      },
    ],
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application in which the user and group mapping belongs.

  • :index_id (required, String)

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

  • :group_name (required, String)

    The list that contains your users or sub groups that belong the same group. For example, the group "Company" includes the user "CEO" and the sub groups "Research", "Engineering", and "Sales and Marketing".

  • :data_source_id (String)

    The identifier of the data source for which 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.

  • :type (required, String)

    The type of the group.

  • :group_members (required, Types::GroupMembers)

    A list of users or sub groups that belong to a group. This is for generating Amazon Q Business chat results only from document a user has access to.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3347
3348
3349
3350
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3347

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

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

Starts a data source connector synchronization job. If a synchronization job is already in progress, Amazon Q Business returns a ConflictException.

Examples:

Request syntax with placeholder values


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

Response structure


resp.execution_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :data_source_id (required, String)

    The identifier of the data source connector.

  • :application_id (required, String)

    The identifier of Amazon Q Business application the data source is connected to.

  • :index_id (required, String)

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

Returns:

See Also:



3386
3387
3388
3389
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3386

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 an Amazon Q Business data source connector synchronization job already in progress.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :data_source_id (required, String)

    The identifier of the data source connector.

  • :application_id (required, String)

    The identifier of the Amazon Q Business application that the data source is connected to.

  • :index_id (required, String)

    The identifier of the index used with the Amazon Q Business data source connector.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3419
3420
3421
3422
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3419

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

#tag_resource(params = {}) ⇒ Struct

Adds the specified tag to the specified Amazon Q Business application or data source 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):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the Amazon Q Business application or data source to tag.

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

    A list of tag keys to add to the Amazon Q Business application or data source. If a tag already exists, the existing value is replaced with the new value.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3455
3456
3457
3458
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3455

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 Amazon Q Business application or a data source.

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 Amazon Q Business application, or data source to remove the tag from.

  • :tag_keys (required, Array<String>)

    A list of tag keys to remove from the Amazon Q Business application or data source. If a tag key does not exist on the resource, it is ignored.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3484
3485
3486
3487
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3484

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

#update_application(params = {}) ⇒ Struct

Updates an existing Amazon Q Business application.

Examples:

Request syntax with placeholder values


resp = client.update_application({
  application_id: "ApplicationId", # required
  identity_center_instance_arn: "InstanceArn",
  display_name: "ApplicationName",
  description: "Description",
  role_arn: "RoleArn",
  attachments_configuration: {
    attachments_control_mode: "ENABLED", # required, accepts ENABLED, DISABLED
  },
  q_apps_configuration: {
    q_apps_control_mode: "ENABLED", # required, accepts ENABLED, DISABLED
  },
  personalization_configuration: {
    personalization_control_mode: "ENABLED", # required, accepts ENABLED, DISABLED
  },
  auto_subscription_configuration: {
    auto_subscribe: "ENABLED", # required, accepts ENABLED, DISABLED
    default_subscription_type: "Q_LITE", # accepts Q_LITE, Q_BUSINESS
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application.

  • :identity_center_instance_arn (String)

    The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.

  • :display_name (String)

    A name for the Amazon Q Business application.

  • :description (String)

    A description for the Amazon Q Business application.

  • :role_arn (String)

    An Amazon Web Services Identity and Access Management (IAM) role that gives Amazon Q Business permission to access Amazon CloudWatch logs and metrics.

  • :attachments_configuration (Types::AttachmentsConfiguration)

    An option to allow end users to upload files directly during chat.

  • :q_apps_configuration (Types::QAppsConfiguration)

    An option to allow end users to create and use Amazon Q Apps in the web experience.

  • :personalization_configuration (Types::PersonalizationConfiguration)

    Configuration information about chat response personalization. For more information, see Personalizing chat responses.

  • :auto_subscription_configuration (Types::AutoSubscriptionConfiguration)

    An option to enable updating the default subscription type assigned to an Amazon Q Business application using IAM identity federation for user management.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3559
3560
3561
3562
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3559

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

#update_chat_controls_configuration(params = {}) ⇒ Struct

Updates an set of chat controls configured for an existing Amazon Q Business application.

Examples:

Request syntax with placeholder values


resp = client.update_chat_controls_configuration({
  application_id: "ApplicationId", # required
  client_token: "ClientToken",
  response_scope: "ENTERPRISE_CONTENT_ONLY", # accepts ENTERPRISE_CONTENT_ONLY, EXTENDED_KNOWLEDGE_ENABLED
  blocked_phrases_configuration_update: {
    blocked_phrases_to_create_or_update: ["BlockedPhrase"],
    blocked_phrases_to_delete: ["BlockedPhrase"],
    system_message_override: "SystemMessageOverride",
  },
  topic_configurations_to_create_or_update: [
    {
      name: "TopicConfigurationName", # required
      description: "TopicDescription",
      example_chat_messages: ["ExampleChatMessage"],
      rules: [ # required
        {
          included_users_and_groups: {
            user_ids: ["String"],
            user_groups: ["String"],
          },
          excluded_users_and_groups: {
            user_ids: ["String"],
            user_groups: ["String"],
          },
          rule_type: "CONTENT_BLOCKER_RULE", # required, accepts CONTENT_BLOCKER_RULE, CONTENT_RETRIEVAL_RULE
          rule_configuration: {
            content_blocker_rule: {
              system_message_override: "SystemMessageOverride",
            },
            content_retrieval_rule: {
              eligible_data_sources: [
                {
                  index_id: "IndexId",
                  data_source_id: "DataSourceId",
                },
              ],
            },
          },
        },
      ],
    },
  ],
  topic_configurations_to_delete: [
    {
      name: "TopicConfigurationName", # required
      description: "TopicDescription",
      example_chat_messages: ["ExampleChatMessage"],
      rules: [ # required
        {
          included_users_and_groups: {
            user_ids: ["String"],
            user_groups: ["String"],
          },
          excluded_users_and_groups: {
            user_ids: ["String"],
            user_groups: ["String"],
          },
          rule_type: "CONTENT_BLOCKER_RULE", # required, accepts CONTENT_BLOCKER_RULE, CONTENT_RETRIEVAL_RULE
          rule_configuration: {
            content_blocker_rule: {
              system_message_override: "SystemMessageOverride",
            },
            content_retrieval_rule: {
              eligible_data_sources: [
                {
                  index_id: "IndexId",
                  data_source_id: "DataSourceId",
                },
              ],
            },
          },
        },
      ],
    },
  ],
  creator_mode_configuration: {
    creator_mode_control: "ENABLED", # required, accepts ENABLED, DISABLED
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application for which the chat controls are configured.

  • :client_token (String)

    A token that you provide to identify the request to update a Amazon Q Business application chat configuration.

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

  • :response_scope (String)

    The response scope configured for your application. This determines whether your application uses its retrieval augmented generation (RAG) system to generate answers only from your enterprise data, or also uses the large language models (LLM) knowledge to respons to end user questions in chat.

  • :blocked_phrases_configuration_update (Types::BlockedPhrasesConfigurationUpdate)

    The phrases blocked from chat by your chat control configuration.

  • :topic_configurations_to_create_or_update (Array<Types::TopicConfiguration>)

    The configured topic specific chat controls you want to update.

  • :topic_configurations_to_delete (Array<Types::TopicConfiguration>)

    The configured topic specific chat controls you want to delete.

  • :creator_mode_configuration (Types::CreatorModeConfiguration)

    The configuration details for CREATOR_MODE.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3685
3686
3687
3688
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3685

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

#update_data_source(params = {}) ⇒ Struct

Updates an existing Amazon Q Business data source connector.

Examples:

Request syntax with placeholder values


resp = client.update_data_source({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  data_source_id: "DataSourceId", # required
  display_name: "DataSourceName",
  configuration: {
  },
  vpc_configuration: {
    subnet_ids: ["SubnetId"], # required
    security_group_ids: ["SecurityGroupId"], # required
  },
  description: "Description",
  sync_schedule: "SyncSchedule",
  role_arn: "RoleArn",
  document_enrichment_configuration: {
    inline_configurations: [
      {
        condition: {
          key: "DocumentAttributeKey", # required
          operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
          value: {
            string_value: "DocumentAttributeValueStringValueString",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        target: {
          key: "DocumentAttributeKey", # required
          value: {
            string_value: "DocumentAttributeValueStringValueString",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
          attribute_value_operator: "DELETE", # accepts DELETE
        },
        document_content_operator: "DELETE", # accepts DELETE
      },
    ],
    pre_extraction_hook_configuration: {
      invocation_condition: {
        key: "DocumentAttributeKey", # required
        operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
        value: {
          string_value: "DocumentAttributeValueStringValueString",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      lambda_arn: "LambdaArn",
      s3_bucket_name: "S3BucketName",
      role_arn: "RoleArn",
    },
    post_extraction_hook_configuration: {
      invocation_condition: {
        key: "DocumentAttributeKey", # required
        operator: "GREATER_THAN", # required, accepts GREATER_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN, LESS_THAN_OR_EQUALS, EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, EXISTS, NOT_EXISTS, BEGINS_WITH
        value: {
          string_value: "DocumentAttributeValueStringValueString",
          string_list_value: ["String"],
          long_value: 1,
          date_value: Time.now,
        },
      },
      lambda_arn: "LambdaArn",
      s3_bucket_name: "S3BucketName",
      role_arn: "RoleArn",
    },
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application the data source is attached to.

  • :index_id (required, String)

    The identifier of the index attached to the data source connector.

  • :data_source_id (required, String)

    The identifier of the data source connector.

  • :display_name (String)

    A name of the data source connector.

  • :configuration (Hash, Array, String, Numeric, Boolean)

    Provides the configuration information for an Amazon Q Business data source.

    Document type used to carry open content (Hash,Array,String,Numeric,Boolean). A document type value is serialized using the same format as its surroundings and requires no additional encoding or escaping.

  • :vpc_configuration (Types::DataSourceVpcConfiguration)

    Provides configuration information needed to connect to an Amazon VPC (Virtual Private Cloud).

  • :description (String)

    The description of the data source connector.

  • :sync_schedule (String)

    The chosen update frequency for your data source.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.

  • :document_enrichment_configuration (Types::DocumentEnrichmentConfiguration)

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

    For more information, see Custom document enrichment.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3819
3820
3821
3822
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3819

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

#update_index(params = {}) ⇒ Struct

Updates an Amazon Q Business index.

Examples:

Request syntax with placeholder values


resp = client.update_index({
  application_id: "ApplicationId", # required
  index_id: "IndexId", # required
  display_name: "ApplicationName",
  description: "Description",
  capacity_configuration: {
    units: 1,
  },
  document_attribute_configurations: [
    {
      name: "DocumentMetadataConfigurationName",
      type: "STRING", # accepts STRING, STRING_LIST, NUMBER, DATE
      search: "ENABLED", # accepts ENABLED, DISABLED
    },
  ],
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application connected to the index.

  • :index_id (required, String)

    The identifier of the Amazon Q Business index.

  • :display_name (String)

    The name of the Amazon Q Business index.

  • :description (String)

    The description of the Amazon Q Business index.

  • :capacity_configuration (Types::IndexCapacityConfiguration)

    The storage capacity units you want to provision for your Amazon Q Business index. You can add and remove capacity to fit your usage needs.

  • :document_attribute_configurations (Array<Types::DocumentAttributeConfiguration>)

    Configuration information for document metadata or fields. Document metadata are fields or attributes associated with your documents. For example, the company department name associated with each document. For more information, see Understanding document attributes.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3879
3880
3881
3882
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3879

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

#update_plugin(params = {}) ⇒ Struct

Updates an Amazon Q Business plugin.

Examples:

Request syntax with placeholder values


resp = client.update_plugin({
  application_id: "ApplicationId", # required
  plugin_id: "PluginId", # required
  display_name: "PluginName",
  state: "ENABLED", # accepts ENABLED, DISABLED
  server_url: "Url",
  custom_plugin_configuration: {
    description: "PluginDescription", # required
    api_schema_type: "OPEN_API_V3", # required, accepts OPEN_API_V3
    api_schema: { # required
      payload: "Payload",
      s3: {
        bucket: "S3BucketName", # required
        key: "S3ObjectKey", # required
      },
    },
  },
  auth_configuration: {
    basic_auth_configuration: {
      secret_arn: "SecretArn", # required
      role_arn: "RoleArn", # required
    },
    o_auth_2_client_credential_configuration: {
      secret_arn: "SecretArn", # required
      role_arn: "RoleArn", # required
    },
    no_auth_configuration: {
    },
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application the plugin is attached to.

  • :plugin_id (required, String)

    The identifier of the plugin.

  • :display_name (String)

    The name of the plugin.

  • :state (String)

    The status of the plugin.

  • :server_url (String)

    The source URL used for plugin configuration.

  • :custom_plugin_configuration (Types::CustomPluginConfiguration)

    The configuration for a custom plugin.

  • :auth_configuration (Types::PluginAuthConfiguration)

    The authentication configuration the plugin is using.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3946
3947
3948
3949
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3946

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

#update_retriever(params = {}) ⇒ Struct

Updates the retriever used for your Amazon Q Business application.

Examples:

Request syntax with placeholder values


resp = client.update_retriever({
  application_id: "ApplicationId", # required
  retriever_id: "RetrieverId", # required
  configuration: {
    native_index_configuration: {
      index_id: "IndexId", # required
      boosting_override: {
        "DocumentAttributeKey" => {
          number_configuration: {
            boosting_level: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH, VERY_HIGH
            boosting_type: "PRIORITIZE_LARGER_VALUES", # accepts PRIORITIZE_LARGER_VALUES, PRIORITIZE_SMALLER_VALUES
          },
          string_configuration: {
            boosting_level: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH, VERY_HIGH
            attribute_value_boosting: {
              "String" => "LOW", # accepts LOW, MEDIUM, HIGH, VERY_HIGH
            },
          },
          date_configuration: {
            boosting_level: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH, VERY_HIGH
            boosting_duration_in_seconds: 1,
          },
          string_list_configuration: {
            boosting_level: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH, VERY_HIGH
          },
        },
      },
    },
    kendra_index_configuration: {
      index_id: "KendraIndexId", # required
    },
  },
  display_name: "RetrieverName",
  role_arn: "RoleArn",
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of your Amazon Q Business application.

  • :retriever_id (required, String)

    The identifier of your retriever.

  • :configuration (Types::RetrieverConfiguration)

    Provides information on how the retriever used for your Amazon Q Business application is configured.

  • :display_name (String)

    The name of your retriever.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of an IAM role with permission to access the retriever and required resources.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4014
4015
4016
4017
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 4014

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

#update_user(params = {}) ⇒ Types::UpdateUserResponse

Updates a information associated with a user id.

Examples:

Request syntax with placeholder values


resp = client.update_user({
  application_id: "ApplicationId", # required
  user_id: "String", # required
  user_aliases_to_update: [
    {
      index_id: "IndexId",
      data_source_id: "DataSourceId",
      user_id: "String", # required
    },
  ],
  user_aliases_to_delete: [
    {
      index_id: "IndexId",
      data_source_id: "DataSourceId",
      user_id: "String", # required
    },
  ],
})

Response structure


resp.user_aliases_added #=> Array
resp.user_aliases_added[0].index_id #=> String
resp.user_aliases_added[0].data_source_id #=> String
resp.user_aliases_added[0].user_id #=> String
resp.user_aliases_updated #=> Array
resp.user_aliases_updated[0].index_id #=> String
resp.user_aliases_updated[0].data_source_id #=> String
resp.user_aliases_updated[0].user_id #=> String
resp.user_aliases_deleted #=> Array
resp.user_aliases_deleted[0].index_id #=> String
resp.user_aliases_deleted[0].data_source_id #=> String
resp.user_aliases_deleted[0].user_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the application the user is attached to.

  • :user_id (required, String)

    The email id attached to the user.

  • :user_aliases_to_update (Array<Types::UserAlias>)

    The user aliases attached to the user id that are to be updated.

  • :user_aliases_to_delete (Array<Types::UserAlias>)

    The user aliases attached to the user id that are to be deleted.

Returns:

See Also:



4079
4080
4081
4082
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 4079

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

#update_web_experience(params = {}) ⇒ Struct

Updates an Amazon Q Business web experience.

Examples:

Request syntax with placeholder values


resp = client.update_web_experience({
  application_id: "ApplicationId", # required
  web_experience_id: "WebExperienceId", # required
  role_arn: "RoleArn",
  authentication_configuration: {
    saml_configuration: {
      metadata_xml: "SamlMetadataXML", # required
      role_arn: "RoleArn", # required
      user_id_attribute: "SamlAttribute", # required
      user_group_attribute: "SamlAttribute",
    },
  },
  title: "WebExperienceTitle",
  subtitle: "WebExperienceSubtitle",
  welcome_message: "WebExperienceWelcomeMessage",
  sample_prompts_control_mode: "ENABLED", # accepts ENABLED, DISABLED
  identity_provider_configuration: {
    saml_configuration: {
      authentication_url: "SamlAuthenticationUrl", # required
    },
    open_id_connect_configuration: {
      secrets_arn: "SecretArn", # required
      secrets_role: "RoleArn", # required
    },
  },
  origins: ["Origin"],
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business application attached to the web experience.

  • :web_experience_id (required, String)

    The identifier of the Amazon Q Business web experience.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of the role with permission to access the Amazon Q Business web experience and required resources.

  • :authentication_configuration (Types::WebExperienceAuthConfiguration)

    The authentication configuration of the Amazon Q Business web experience.

  • :title (String)

    The title of the Amazon Q Business web experience.

  • :subtitle (String)

    The subtitle of the Amazon Q Business web experience.

  • :welcome_message (String)

    A customized welcome message for an end user in an Amazon Q Business web experience.

  • :sample_prompts_control_mode (String)

    Determines whether sample prompts are enabled in the web experience for an end user.

  • :identity_provider_configuration (Types::IdentityProviderConfiguration)

    Information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.

  • :origins (Array<String>)

    Updates the website domain origins that are allowed to embed the Amazon Q Business web experience. The domain origin refers to the base URL for accessing a website including the protocol (http/https), the domain name, and the port number (if specified).

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4166
4167
4168
4169
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 4166

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