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",
        },
      },
      media_extraction_configuration: {
        image_extraction_configuration: {
          image_extraction_status: "ENABLED", # required, accepts ENABLED, DISABLED
        },
      },
    },
  ],
  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:



681
682
683
684
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 681

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: [
    {
      data: "data",
      name: "AttachmentName",
      copy_from: {
        conversation: {
          conversation_id: "ConversationId", # required
          attachment_id: "AttachmentId", # 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.source_attributions[0].text_message_segments[0].media_id #=> String
resp.source_attributions[0].text_message_segments[0].media_mime_type #=> String
resp.failed_attachments #=> Array
resp.failed_attachments[0].name #=> String
resp.failed_attachments[0].status #=> String, one of "FAILED", "SUCCESS"
resp.failed_attachments[0].error.error_message #=> String
resp.failed_attachments[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
resp.failed_attachments[0].attachment_id #=> String
resp.failed_attachments[0].conversation_id #=> String

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 chatMode parameter determines the chat modes available to Amazon Q Business users:

    • RETRIEVAL_MODE - If you choose this mode, Amazon Q generates responses solely from the data sources connected and indexed by the application. If an answer is not found in the data sources or there are no data sources available, Amazon Q will respond with a "No Answer Found" message, unless LLM knowledge has been enabled. In that case, Amazon Q will generate a response from the LLM knowledge

    • CREATOR_MODE - By selecting this mode, you can choose to generate responses only from the LLM knowledge. You can also attach files and have Amazon Q generate a response based on the data in those files. If the attached files do not contain an answer for the query, Amazon Q will automatically fall back to generating a response from the LLM knowledge.

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

    If none of the modes are selected, Amazon Q will only respond using the information from the attached files.

    For more information, see Admin controls and guardrails, Plugins, and Response sources.

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



943
944
945
946
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 943

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.

An Amazon Q Apps service linked role will be created if it's absent in the Amazon Web Services account when QAppsConfiguration is enabled in the request. For more information, see Using service-linked roles for Q Apps.

When you create an application, Amazon Q Business may securely transmit data for processing from your selected Amazon Web Services region, but within your geography. For more information, see Cross region inference in Amazon Q Business.

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:



1084
1085
1086
1087
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1084

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",
    },
  },
  media_extraction_configuration: {
    image_extraction_configuration: {
      image_extraction_status: "ENABLED", # required, accepts ENABLED, DISABLED
    },
  },
})

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.

  • :media_extraction_configuration (Types::MediaExtractionConfiguration)

    The configuration for extracting information from media in documents during ingestion.

Returns:

See Also:



1295
1296
1297
1298
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1295

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
  description: "Description",
  type: "ENTERPRISE", # accepts ENTERPRISE, STARTER
  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.

  • :description (String)

    A description 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.

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



1383
1384
1385
1386
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1383

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:



1478
1479
1480
1481
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1478

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:



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

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:



1620
1621
1622
1623
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1620

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
    },
  },
  browser_extension_configuration: {
    enabled_browser_extensions: ["FIREFOX"], # required, accepts FIREFOX, CHROME
  },
})

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.

  • :browser_extension_configuration (Types::BrowserExtensionConfiguration)

    The browser extension configuration for an Amazon Q Business web experience.

    For Amazon Q Business application using external OIDC-compliant identity providers (IdPs). The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application. For more information, see Configure external OIDC identity provider for your browser extensions..

Returns:

See Also:



1743
1744
1745
1746
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1743

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:



1765
1766
1767
1768
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1765

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:



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

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:



1821
1822
1823
1824
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1821

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:



1854
1855
1856
1857
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1854

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:



1908
1909
1910
1911
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1908

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:



1935
1936
1937
1938
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1935

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:



1962
1963
1964
1965
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1962

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:



1989
1990
1991
1992
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 1989

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:



2016
2017
2018
2019
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2016

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:



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

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:



2108
2109
2110
2111
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2108

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:



2179
2180
2181
2182
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2179

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
resp.media_extraction_configuration.image_extraction_configuration.image_extraction_status #=> String, one of "ENABLED", "DISABLED"

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:



2286
2287
2288
2289
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2286

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:



2335
2336
2337
2338
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2335

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.index_arn #=> String
resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING"
resp.type #=> String, one of "ENTERPRISE", "STARTER"
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:



2397
2398
2399
2400
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2397

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

#get_media(params = {}) ⇒ Types::GetMediaResponse

Returns the image bytes corresponding to a media object. If you have implemented your own application with the Chat and ChatSync APIs, and have enabled content extraction from visual data in Amazon Q Business, you use the GetMedia API operation to download the images so you can show them in your UI with responses.

For more information, see Extracting semantic meaning from images and visuals.

Examples:

Request syntax with placeholder values


resp = client.get_media({
  application_id: "ApplicationId", # required
  conversation_id: "ConversationId", # required
  message_id: "MessageId", # required
  media_id: "MediaId", # required
})

Response structure


resp.media_bytes #=> String
resp.media_mime_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The identifier of the Amazon Q Business which contains the media object.

  • :conversation_id (required, String)

    The identifier of the Amazon Q Business conversation.

  • :message_id (required, String)

    The identifier of the Amazon Q Business message.

  • :media_id (required, String)

    The identifier of the media object. You can find this in the sourceAttributions returned by the Chat, ChatSync, and ListMessages API responses.

Returns:

See Also:



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

def get_media(params = {}, options = {})
  req = build_request(:get_media, 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:



2514
2515
2516
2517
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2514

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:



2576
2577
2578
2579
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2576

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:



2612
2613
2614
2615
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2612

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"
resp.browser_extension_configuration.enabled_browser_extensions #=> Array
resp.browser_extension_configuration.enabled_browser_extensions[0] #=> String, one of "FIREFOX", "CHROME"

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:



2685
2686
2687
2688
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2685

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.

Amazon Q Business applications may securely transmit data for processing across Amazon Web Services Regions within your geography. For more information, see Cross region inference in Amazon Q Business.

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:



2741
2742
2743
2744
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2741

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

#list_attachments(params = {}) ⇒ Types::ListAttachmentsResponse

Gets a list of attachments associated with an Amazon Q Business web experience or a list of attachements associated with a specific Amazon Q Business conversation.

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

Response structure


resp.attachments #=> Array
resp.attachments[0].attachment_id #=> String
resp.attachments[0].conversation_id #=> String
resp.attachments[0].name #=> String
resp.attachments[0].copy_from.conversation.conversation_id #=> String
resp.attachments[0].copy_from.conversation.attachment_id #=> String
resp.attachments[0].file_type #=> String
resp.attachments[0].file_size #=> Integer
resp.attachments[0].md5chksum #=> String
resp.attachments[0].created_at #=> Time
resp.attachments[0].status #=> String, one of "FAILED", "SUCCESS"
resp.attachments[0].error.error_message #=> String
resp.attachments[0].error.error_code #=> String, one of "InternalError", "InvalidRequest", "ResourceInactive", "ResourceNotFound"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_id (required, String)

    The unique identifier for the Amazon Q Business application.

  • :conversation_id (String)

    The unique identifier of the Amazon Q Business web experience conversation.

  • :user_id (String)

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

  • :next_token (String)

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

  • :max_results (Integer)

    The maximum number of attachements to return.

Returns:

See Also:



2807
2808
2809
2810
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2807

def list_attachments(params = {}, options = {})
  req = build_request(:list_attachments, 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:



2858
2859
2860
2861
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2858

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:



2937
2938
2939
2940
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2937

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:



2993
2994
2995
2996
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 2993

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:



3050
3051
3052
3053
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3050

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:



3110
3111
3112
3113
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3110

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:



3159
3160
3161
3162
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3159

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", "SUCCESS"
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].attachments[0].attachment_id #=> String
resp.messages[0].attachments[0].conversation_id #=> String
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].source_attribution[0].text_message_segments[0].media_id #=> String
resp.messages[0].source_attribution[0].text_message_segments[0].media_mime_type #=> 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 messages 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:



3248
3249
3250
3251
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3248

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:



3299
3300
3301
3302
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3299

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:



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

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:



3380
3381
3382
3383
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3380

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:



3429
3430
3431
3432
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3429

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:



3477
3478
3479
3480
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3477

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
      },
    ],
    s3_path_for_group_members: {
      bucket: "S3BucketName", # required
      key: "S3ObjectKey", # required
    },
  },
  role_arn: "RoleArn",
})

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.

  • :role_arn (String)

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3566
3567
3568
3569
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3566

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:



3605
3606
3607
3608
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3605

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:



3638
3639
3640
3641
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3638

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:



3674
3675
3676
3677
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3674

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:



3703
3704
3705
3706
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3703

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.

Amazon Q Business applications may securely transmit data for processing across Amazon Web Services Regions within your geography. For more information, see Cross region inference in Amazon Q Business.

An Amazon Q Apps service-linked role will be created if it's absent in the Amazon Web Services account when QAppsConfiguration is enabled in the request. For more information, see Using service-linked roles for Q Apps.

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:



3797
3798
3799
3800
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3797

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:



3923
3924
3925
3926
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 3923

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",
    },
  },
  media_extraction_configuration: {
    image_extraction_configuration: {
      image_extraction_status: "ENABLED", # required, accepts ENABLED, DISABLED
    },
  },
})

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.

  • :media_extraction_configuration (Types::MediaExtractionConfiguration)

    The configuration for extracting information from media in documents for your data source.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4066
4067
4068
4069
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 4066

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:



4126
4127
4128
4129
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 4126

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:



4193
4194
4195
4196
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 4193

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:



4261
4262
4263
4264
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 4261

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:



4326
4327
4328
4329
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 4326

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"],
  browser_extension_configuration: {
    enabled_browser_extensions: ["FIREFOX"], # required, accepts FIREFOX, CHROME
  },
})

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).

    • Any values except null submitted as part of this update will replace all previous values.

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

  • :browser_extension_configuration (Types::BrowserExtensionConfiguration)

    The browser extension configuration for an Amazon Q Business web experience.

    For Amazon Q Business application using external OIDC-compliant identity providers (IdPs). The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application. For more information, see Configure external OIDC identity provider for your browser extensions..

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4432
4433
4434
4435
# File 'gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/client.rb', line 4432

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