Class: Aws::QApps::Client

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

Overview

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

client = Aws::QApps::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, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.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::InstanceProfileCredentails 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)
  • :active_endpoint_cache (Boolean) — default: false

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

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

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

  • :client_side_monitoring (Boolean) — default: false

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

  • :client_side_monitoring_client_id (String) — default: ""

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

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

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

  • :client_side_monitoring_port (Integer) — default: 31000

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

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

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

  • :convert_params (Boolean) — default: true

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

  • :correct_clock_skew (Boolean) — default: true

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

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

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

  • :disable_host_prefix_injection (Boolean) — default: false

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

  • :disable_request_compression (Boolean) — default: false

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

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

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

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

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

  • :endpoint_cache_max_threads (Integer) — default: 10

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

  • :endpoint_cache_poll_interval (Integer) — default: 60

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

  • :endpoint_discovery (Boolean) — default: false

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

  • :ignore_configured_endpoint_urls (Boolean)

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

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

    The log formatter.

  • :log_level (Symbol) — default: :info

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

  • :logger (Logger)

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

  • :max_attempts (Integer) — default: 3

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

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

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

  • :request_min_compression_size_bytes (Integer) — default: 10240

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

  • :retry_backoff (Proc)

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

  • :retry_base_delay (Float) — default: 0.3

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

  • :retry_jitter (Symbol) — default: :none

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

    @see 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::QApps::EndpointProvider)

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



440
441
442
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 440

def initialize(*args)
  super
end

Instance Method Details

#associate_library_item_review(params = {}) ⇒ Struct

Associates a rating or review for a library item with the user submitting the request. This increments the rating count for the specified library item.

Examples:

Example: Increase the rating counter by 1 for the related app for this user


resp = client.associate_library_item_review({
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  library_item_id: "cb9ecf72-8563-450d-9db9-994f98297316", 
})

Request syntax with placeholder values


resp = client.associate_library_item_review({
  instance_id: "InstanceId", # required
  library_item_id: "UUID", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier for the Amazon Q Business application environment instance.

  • :library_item_id (required, String)

    The unique identifier of the library item to associate the review with.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



479
480
481
482
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 479

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

#associate_q_app_with_user(params = {}) ⇒ Struct

This operation creates a link between the user's identity calling the operation and a specific Q App. This is useful to mark the Q App as a favorite for the user if the user doesn't own the Amazon Q App so they can still run it and see it in their inventory of Q Apps.

Examples:

Example: Links an Amazon Q App to the invoker's list of apps


resp = client.associate_q_app_with_user({
  app_id: "393e77fb-0a30-4f47-ad30-75d71aeaed8a", 
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
})

Request syntax with placeholder values


resp = client.associate_q_app_with_user({
  instance_id: "InstanceId", # required
  app_id: "UUID", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :app_id (required, String)

    The ID of the Amazon Q App to associate with the user.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



517
518
519
520
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 517

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

#create_library_item(params = {}) ⇒ Types::CreateLibraryItemOutput

Creates a new library item for an Amazon Q App, allowing it to be discovered and used by other allowed users.

Examples:

Example: Create a Library Item


resp = client.create_library_item({
  app_id: "7a11f34b-42d4-4bc8-b668-ae4a788dae1e", 
  app_version: 6, 
  categories: [
    "9c871ed4-1c41-4065-aefe-321cd4b61cf8", 
  ], 
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
})

resp.to_h outputs the following:
{
  created_at: Time.parse("2024-05-21T23:17:27.350Z"), 
  created_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
  is_verified: false, 
  library_item_id: "cb9ecf72-8563-450d-9db9-994f98297316", 
  rating_count: 0, 
  status: "PUBLISHED", 
  updated_at: Time.parse("2024-05-21T23:17:27.350Z"), 
  updated_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
}

Request syntax with placeholder values


resp = client.create_library_item({
  instance_id: "InstanceId", # required
  app_id: "UUID", # required
  app_version: 1, # required
  categories: ["UUID"], # required
})

Response structure


resp.library_item_id #=> String
resp.status #=> String
resp.created_at #=> Time
resp.created_by #=> String
resp.updated_at #=> Time
resp.updated_by #=> String
resp.rating_count #=> Integer
resp.is_verified #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :app_id (required, String)

    The unique identifier of the Amazon Q App to publish to the library.

  • :app_version (required, Integer)

    The version of the Amazon Q App to publish to the library.

  • :categories (required, Array<String>)

    The categories to associate with the library item for easier discovery.

Returns:

See Also:



598
599
600
601
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 598

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

#create_q_app(params = {}) ⇒ Types::CreateQAppOutput

Creates a new Amazon Q App based on the provided definition. The Q App definition specifies the cards and flow of the Q App. This operation also calculates the dependencies between the cards by inspecting the references in the prompts.

Examples:

Example: A basic application with 1 text input card and 1 output card


resp = client.create_q_app({
  app_definition: {
    cards: [
      {
        text_input: {
          type: "text-input", 
          id: "4cf94d96-8819-45c2-98cc-58c56b35c72f", 
          title: "Color Base", 
        }, 
      }, 
      {
        q_query: {
          type: "q-query", 
          id: "18870b94-1e63-40e0-8c12-669c90ac5acc", 
          prompt: "Recommend me a list of colors that go well with @4cf94d96-8819-45c2-98cc-58c56b35c72f", 
          title: "Recommended Palette", 
        }, 
      }, 
    ], 
    initial_prompt: "Create an app that recommend a list of colors based on input.", 
  }, 
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  title: "Color Palette Generator", 
})

resp.to_h outputs the following:
{
  app_arn: "arn:aws:qapps:us-west-2:123456789012:app/7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  app_id: "7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  app_version: 1, 
  created_at: Time.parse("2024-05-14T00:11:54.232Z"), 
  created_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
  initial_prompt: "Create an app that recommend a list of colors based on input.", 
  required_capabilities: [
    "CreatorMode", 
  ], 
  status: "DRAFT", 
  title: "Color Palette Generator", 
  updated_at: Time.parse("2024-05-14T00:13:26.168Z"), 
  updated_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
}

Request syntax with placeholder values


resp = client.create_q_app({
  instance_id: "InstanceId", # required
  title: "Title", # required
  description: "Description",
  app_definition: { # required
    cards: [ # required
      {
        text_input: {
          title: "Title", # required
          id: "UUID", # required
          type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
          placeholder: "Placeholder",
          default_value: "Default",
        },
        q_query: {
          title: "Title", # required
          id: "UUID", # required
          type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
          prompt: "Prompt", # required
          output_source: "approved-sources", # accepts approved-sources, llm
          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: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            contains_all: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            contains_any: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            greater_than: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            greater_than_or_equals: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            less_than: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            less_than_or_equals: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
          },
        },
        q_plugin: {
          title: "Title", # required
          id: "UUID", # required
          type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
          prompt: "Prompt", # required
          plugin_id: "PluginId", # required
        },
        file_upload: {
          title: "Title", # required
          id: "UUID", # required
          type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
          filename: "Filename",
          file_id: "UUID",
          allow_override: false,
        },
      },
    ],
    initial_prompt: "InitialPrompt",
  },
  tags: {
    "String" => "String",
  },
})

Response structure


resp.app_id #=> String
resp.app_arn #=> String
resp.title #=> String
resp.description #=> String
resp.initial_prompt #=> String
resp.app_version #=> Integer
resp.status #=> String, one of "PUBLISHED", "DRAFT", "DELETED"
resp.created_at #=> Time
resp.created_by #=> String
resp.updated_at #=> Time
resp.updated_by #=> String
resp.required_capabilities #=> Array
resp.required_capabilities[0] #=> String, one of "FileUpload", "CreatorMode", "RetrievalMode", "PluginMode"

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :title (required, String)

    The title of the new Q App.

  • :description (String)

    The description of the new Q App.

  • :app_definition (required, Types::AppDefinitionInput)

    The definition of the new Q App, specifying the cards and flow.

  • :tags (Hash<String,String>)

    Optional tags to associate with the new Q App.

Returns:

See Also:



829
830
831
832
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 829

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

#delete_library_item(params = {}) ⇒ Struct

Deletes a library item for an Amazon Q App, removing it from the library so it can no longer be discovered or used by other users.

Examples:

Example: Delete a library item


resp = client.delete_library_item({
  instance_id: "3642ba81-344c-42fd-a480-9119a5a5f26b", 
  library_item_id: "72088fd4-78b6-43da-bfb8-8621323c3cfb", 
})

Request syntax with placeholder values


resp = client.delete_library_item({
  instance_id: "InstanceId", # required
  library_item_id: "UUID", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :library_item_id (required, String)

    The unique identifier of the library item to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



865
866
867
868
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 865

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

#delete_q_app(params = {}) ⇒ Struct

Deletes an Amazon Q App owned by the user. If the Q App was previously published to the library, it is also removed from the library.

Examples:

Example: Delete an Amazon Q App


resp = client.delete_q_app({
  app_id: "393e77fb-0a30-4f47-ad30-75d71aeaed8a", 
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
})

Request syntax with placeholder values


resp = client.delete_q_app({
  instance_id: "InstanceId", # required
  app_id: "UUID", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :app_id (required, String)

    The unique identifier of the Q App to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



901
902
903
904
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 901

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

#disassociate_library_item_review(params = {}) ⇒ Struct

Removes a rating or review previously submitted by the user for a library item.

Examples:

Example: Decrease the rating counter by 1 for the related app for this user


resp = client.disassociate_library_item_review({
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  library_item_id: "cb9ecf72-8563-450d-9db9-994f98297316", 
})

Request syntax with placeholder values


resp = client.disassociate_library_item_review({
  instance_id: "InstanceId", # required
  library_item_id: "UUID", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :library_item_id (required, String)

    The unique identifier of the library item to remove the review from.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



937
938
939
940
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 937

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

#disassociate_q_app_from_user(params = {}) ⇒ Struct

Disassociates a Q App from a user removing the user's access to run the Q App.

Examples:

Example: Unlinks an Amazon Q App from the invoker's list of apps


resp = client.disassociate_q_app_from_user({
  app_id: "393e77fb-0a30-4f47-ad30-75d71aeaed8a", 
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
})

Request syntax with placeholder values


resp = client.disassociate_q_app_from_user({
  instance_id: "InstanceId", # required
  app_id: "UUID", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :app_id (required, String)

    The unique identifier of the Q App to disassociate from the user.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



973
974
975
976
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 973

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

#get_library_item(params = {}) ⇒ Types::GetLibraryItemOutput

Retrieves details about a library item for an Amazon Q App, including its metadata, categories, ratings, and usage statistics.

Examples:

Example: Retrieve a library item


resp = client.get_library_item({
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  library_item_id: "18cbebaa-196a-4aa5-a840-88d548e07f8f", 
})

resp.to_h outputs the following:
{
  app_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  app_version: 1, 
  categories: [
    {
      id: "9c871ed4-1c41-4065-aefe-321cd4b61cf8", 
      title: "HR", 
    }, 
    {
      id: "fdc4b483-c4e2-44c9-b4b2-6c850bbdb579", 
      title: "General", 
    }, 
    {
      id: "c1c4e374-118c-446f-81fb-cba6225d88da", 
      title: "IT", 
    }, 
  ], 
  created_at: Time.parse("2024-05-08T16:09:56.080Z"), 
  created_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
  is_rated_by_user: false, 
  is_verified: false, 
  library_item_id: "18cbebaa-196a-4aa5-a840-88d548e07f8f", 
  rating_count: 0, 
  status: "PUBLISHED", 
  updated_at: Time.parse("2024-05-08T16:09:56.080Z"), 
  updated_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
  user_count: 1, 
}

Request syntax with placeholder values


resp = client.get_library_item({
  instance_id: "InstanceId", # required
  library_item_id: "UUID", # required
  app_id: "UUID",
})

Response structure


resp.library_item_id #=> String
resp.app_id #=> String
resp.app_version #=> Integer
resp.categories #=> Array
resp.categories[0].id #=> String
resp.categories[0].title #=> String
resp.status #=> String
resp.created_at #=> Time
resp.created_by #=> String
resp.updated_at #=> Time
resp.updated_by #=> String
resp.rating_count #=> Integer
resp.is_rated_by_user #=> Boolean
resp.user_count #=> Integer
resp.is_verified #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :library_item_id (required, String)

    The unique identifier of the library item to retrieve.

  • :app_id (String)

    The unique identifier of the Amazon Q App associated with the library item.

Returns:

See Also:



1076
1077
1078
1079
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 1076

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

#get_q_app(params = {}) ⇒ Types::GetQAppOutput

Retrieves the full details of an Q App, including its definition specifying the cards and flow.

Examples:

Example: A basic application with 1 text input card and 1 output card


resp = client.get_q_app({
  app_id: "3d110749-efc3-427c-87e8-15e966e5c168", 
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
})

resp.to_h outputs the following:
{
  app_arn: "arn:aws:qapps:us-west-2:123456789012:app/7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  app_definition: {
    app_definition_version: "1", 
    cards: [
      {
        text_input: {
          type: "text-input", 
          dependencies: [
          ], 
          id: "4cf94d96-8819-45c2-98cc-58c56b35c72f", 
          title: "Color Base", 
        }, 
      }, 
      {
        q_query: {
          type: "q-query", 
          dependencies: [
            "91e4513d-6981-454a-9329-329c9302eef4", 
          ], 
          id: "18870b94-1e63-40e0-8c12-669c90ac5acc", 
          output_source: "llm", 
          prompt: "Recommend me a list of colors that go well with @91e4513d-6981-454a-9329-329c9302eef4 ", 
          title: "Recommended Palette", 
        }, 
      }, 
    ], 
  }, 
  app_id: "7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  app_version: 1, 
  created_at: Time.parse("2024-05-14T00:11:54.232Z"), 
  created_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
  status: "DRAFT", 
  title: "Color Palette Generator", 
  updated_at: Time.parse("2024-05-14T00:13:26.168Z"), 
  updated_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
}

Request syntax with placeholder values


resp = client.get_q_app({
  instance_id: "InstanceId", # required
  app_id: "UUID", # required
})

Response structure


resp.app_id #=> String
resp.app_arn #=> String
resp.title #=> String
resp.description #=> String
resp.initial_prompt #=> String
resp.app_version #=> Integer
resp.status #=> String, one of "PUBLISHED", "DRAFT", "DELETED"
resp.created_at #=> Time
resp.created_by #=> String
resp.updated_at #=> Time
resp.updated_by #=> String
resp.required_capabilities #=> Array
resp.required_capabilities[0] #=> String, one of "FileUpload", "CreatorMode", "RetrievalMode", "PluginMode"
resp.app_definition.app_definition_version #=> String
resp.app_definition.cards #=> Array
resp.app_definition.cards[0].text_input.id #=> String
resp.app_definition.cards[0].text_input.title #=> String
resp.app_definition.cards[0].text_input.dependencies #=> Array
resp.app_definition.cards[0].text_input.dependencies[0] #=> String
resp.app_definition.cards[0].text_input.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
resp.app_definition.cards[0].text_input.placeholder #=> String
resp.app_definition.cards[0].text_input.default_value #=> String
resp.app_definition.cards[0].q_query.id #=> String
resp.app_definition.cards[0].q_query.title #=> String
resp.app_definition.cards[0].q_query.dependencies #=> Array
resp.app_definition.cards[0].q_query.dependencies[0] #=> String
resp.app_definition.cards[0].q_query.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
resp.app_definition.cards[0].q_query.prompt #=> String
resp.app_definition.cards[0].q_query.output_source #=> String, one of "approved-sources", "llm"
resp.app_definition.cards[0].q_query.attribute_filter.and_all_filters #=> Array
resp.app_definition.cards[0].q_query.attribute_filter.and_all_filters[0] #=> Types::AttributeFilter
resp.app_definition.cards[0].q_query.attribute_filter.or_all_filters #=> Array
resp.app_definition.cards[0].q_query.attribute_filter.or_all_filters[0] #=> Types::AttributeFilter
resp.app_definition.cards[0].q_query.attribute_filter.not_filter #=> Types::AttributeFilter
resp.app_definition.cards[0].q_query.attribute_filter.equals_to.name #=> String
resp.app_definition.cards[0].q_query.attribute_filter.equals_to.value.string_value #=> String
resp.app_definition.cards[0].q_query.attribute_filter.equals_to.value.string_list_value #=> Array
resp.app_definition.cards[0].q_query.attribute_filter.equals_to.value.string_list_value[0] #=> String
resp.app_definition.cards[0].q_query.attribute_filter.equals_to.value.long_value #=> Integer
resp.app_definition.cards[0].q_query.attribute_filter.equals_to.value.date_value #=> Time
resp.app_definition.cards[0].q_query.attribute_filter.contains_all.name #=> String
resp.app_definition.cards[0].q_query.attribute_filter.contains_all.value.string_value #=> String
resp.app_definition.cards[0].q_query.attribute_filter.contains_all.value.string_list_value #=> Array
resp.app_definition.cards[0].q_query.attribute_filter.contains_all.value.string_list_value[0] #=> String
resp.app_definition.cards[0].q_query.attribute_filter.contains_all.value.long_value #=> Integer
resp.app_definition.cards[0].q_query.attribute_filter.contains_all.value.date_value #=> Time
resp.app_definition.cards[0].q_query.attribute_filter.contains_any.name #=> String
resp.app_definition.cards[0].q_query.attribute_filter.contains_any.value.string_value #=> String
resp.app_definition.cards[0].q_query.attribute_filter.contains_any.value.string_list_value #=> Array
resp.app_definition.cards[0].q_query.attribute_filter.contains_any.value.string_list_value[0] #=> String
resp.app_definition.cards[0].q_query.attribute_filter.contains_any.value.long_value #=> Integer
resp.app_definition.cards[0].q_query.attribute_filter.contains_any.value.date_value #=> Time
resp.app_definition.cards[0].q_query.attribute_filter.greater_than.name #=> String
resp.app_definition.cards[0].q_query.attribute_filter.greater_than.value.string_value #=> String
resp.app_definition.cards[0].q_query.attribute_filter.greater_than.value.string_list_value #=> Array
resp.app_definition.cards[0].q_query.attribute_filter.greater_than.value.string_list_value[0] #=> String
resp.app_definition.cards[0].q_query.attribute_filter.greater_than.value.long_value #=> Integer
resp.app_definition.cards[0].q_query.attribute_filter.greater_than.value.date_value #=> Time
resp.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.name #=> String
resp.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.value.string_value #=> String
resp.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.value.string_list_value #=> Array
resp.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.value.string_list_value[0] #=> String
resp.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.value.long_value #=> Integer
resp.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.value.date_value #=> Time
resp.app_definition.cards[0].q_query.attribute_filter.less_than.name #=> String
resp.app_definition.cards[0].q_query.attribute_filter.less_than.value.string_value #=> String
resp.app_definition.cards[0].q_query.attribute_filter.less_than.value.string_list_value #=> Array
resp.app_definition.cards[0].q_query.attribute_filter.less_than.value.string_list_value[0] #=> String
resp.app_definition.cards[0].q_query.attribute_filter.less_than.value.long_value #=> Integer
resp.app_definition.cards[0].q_query.attribute_filter.less_than.value.date_value #=> Time
resp.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.name #=> String
resp.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.string_value #=> String
resp.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.string_list_value #=> Array
resp.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.string_list_value[0] #=> String
resp.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.long_value #=> Integer
resp.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.date_value #=> Time
resp.app_definition.cards[0].q_plugin.id #=> String
resp.app_definition.cards[0].q_plugin.title #=> String
resp.app_definition.cards[0].q_plugin.dependencies #=> Array
resp.app_definition.cards[0].q_plugin.dependencies[0] #=> String
resp.app_definition.cards[0].q_plugin.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
resp.app_definition.cards[0].q_plugin.prompt #=> String
resp.app_definition.cards[0].q_plugin.plugin_type #=> String, one of "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK", "CUSTOM"
resp.app_definition.cards[0].q_plugin.plugin_id #=> String
resp.app_definition.cards[0].file_upload.id #=> String
resp.app_definition.cards[0].file_upload.title #=> String
resp.app_definition.cards[0].file_upload.dependencies #=> Array
resp.app_definition.cards[0].file_upload.dependencies[0] #=> String
resp.app_definition.cards[0].file_upload.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
resp.app_definition.cards[0].file_upload.filename #=> String
resp.app_definition.cards[0].file_upload.file_id #=> String
resp.app_definition.cards[0].file_upload.allow_override #=> Boolean
resp.app_definition.can_edit #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :app_id (required, String)

    The unique identifier of the Q App to retrieve.

Returns:

See Also:



1261
1262
1263
1264
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 1261

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

#get_q_app_session(params = {}) ⇒ Types::GetQAppSessionOutput

Retrieves the current state and results for an active session of an Amazon Q App.

Examples:

Example: Retrieves an existing session for an Amazon Q App


resp = client.get_q_app_session({
  instance_id: "288ae830-1df2-4871-b6c0-4314d74dadef", 
  session_id: "1fca878e-64c5-4dc4-b1d9-c93effed4e82", 
})

resp.to_h outputs the following:
{
  card_status: {
    "1e6caeac-b481-45ff-a082-8b9a4a0b72e8" => {
      current_state: "COMPLETED", 
      current_value: "Earth's circumference is 24,901 miles", 
    }, 
    "6fb5b404-3b7b-48a4-8a8b-56406922a606" => {
      current_state: "COMPLETED", 
      current_value: "What is the circumference of Earth?", 
    }, 
  }, 
  session_arn: "arn:aws:qapps:us-west-2:0123456789012:application/a929ecd6-5765-4ec7-bd3e-2ca90098b18e/qapp/65e7dce7-226a-47f9-b689-22850becef89/session/1fca878e-64c5-4dc4-b1d9-c93effed4e82", 
  session_id: "1fca878e-64c5-4dc4-b1d9-c93effed4e82", 
  status: "COMPLETED", 
}

Request syntax with placeholder values


resp = client.get_q_app_session({
  instance_id: "InstanceId", # required
  session_id: "UUID", # required
})

Response structure


resp.session_id #=> String
resp.session_arn #=> String
resp.status #=> String, one of "IN_PROGRESS", "WAITING", "COMPLETED"
resp.card_status #=> Hash
resp.card_status["UUID"].current_state #=> String, one of "IN_PROGRESS", "WAITING", "COMPLETED"
resp.card_status["UUID"].current_value #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :session_id (required, String)

    The unique identifier of the Q App session to retrieve.

Returns:

See Also:



1328
1329
1330
1331
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 1328

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

#import_document(params = {}) ⇒ Types::ImportDocumentOutput

Uploads a file that can then be used either as a default in a FileUploadCard from Q App definition or as a file that is used inside a single Q App run. The purpose of the document is determined by a scope parameter that indicates whether it is at the app definition level or at the app session level.

Examples:

Example: Upload a file to a specific session


resp = client.import_document({
  app_id: "4263767c-d889-4cb2-a8f6-8b649bc66af0", 
  card_id: "82f69028-22a9-4bea-8727-0eabf58e9fed", 
  file_contents_base_64: "data:text/plain;base64,SomeFileEncodedInBase64", 
  file_name: "myFile.txt", 
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  scope: "SESSION", 
  session_id: "4f0e5b87-9d38-41cd-9eb4-ebce2f2917cc", 
})

resp.to_h outputs the following:
{
  file_id: "412aa1b4-341c-45af-936d-da52f8a1a3b4", 
}

Example: Upload a file into a application


resp = client.import_document({
  app_id: "4263767c-d889-4cb2-a8f6-8b649bc66af0", 
  card_id: "7a11f34b-42d4-4bc8-b668-ae4a788dae1e", 
  file_contents_base_64: "data:text/plain;base64,SomeFileEncodedInBase64", 
  file_name: "anApplicationFile.txt", 
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  scope: "APPLICATION", 
})

resp.to_h outputs the following:
{
  file_id: "bc1a0cc9-076a-4e82-9a6c-f4d2d8a22489", 
}

Request syntax with placeholder values


resp = client.import_document({
  instance_id: "InstanceId", # required
  card_id: "UUID", # required
  app_id: "UUID", # required
  file_contents_base_64: "String", # required
  file_name: "Filename", # required
  scope: "APPLICATION", # required, accepts APPLICATION, SESSION
  session_id: "UUID",
})

Response structure


resp.file_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :card_id (required, String)

    The unique identifier of the card the file is associated with, if applicable.

  • :app_id (required, String)

    The unique identifier of the Q App the file is associated with.

  • :file_contents_base_64 (required, String)

    The base64-encoded contents of the file to upload.

  • :file_name (required, String)

    The name of the file being uploaded.

  • :scope (required, String)

    Whether the file is associated with an Q App definition or a specific Q App session.

  • :session_id (String)

    The unique identifier of the Q App session the file is associated with, if applicable.

Returns:

See Also:



1422
1423
1424
1425
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 1422

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

#list_library_items(params = {}) ⇒ Types::ListLibraryItemsOutput

Lists the library items for Amazon Q Apps that are published and available for users in your Amazon Web Services account.

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

Examples:

Example: List at most 3 library items for this instance


resp = client.list_library_items({
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  limit: 3, 
})

resp.to_h outputs the following:
{
  library_items: [
    {
      app_id: "7a11f34b-42d4-4bc8-b668-ae4a788dae1e", 
      app_version: 6, 
      categories: [
        {
          id: "9c871ed4-1c41-4065-aefe-321cd4b61cf8", 
          title: "HR", 
        }, 
        {
          id: "c1c4e374-118c-446f-81fb-cba6225d88da", 
          title: "IT", 
        }, 
      ], 
      created_at: Time.parse("2024-05-21T23:17:27.350Z"), 
      created_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
      is_rated_by_user: true, 
      is_verified: false, 
      library_item_id: "cb9ecf72-8563-450d-9db9-994f98297316", 
      rating_count: 3, 
      status: "PUBLISHED", 
      updated_at: Time.parse("2024-05-21T23:17:27.350Z"), 
      updated_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
      user_count: 5, 
    }, 
    {
      app_id: "201272ac-d474-4a97-991c-5520dae04026", 
      app_version: 1, 
      categories: [
        {
          id: "fdc4b483-c4e2-44c9-b4b2-6c850bbdb579", 
          title: "General", 
        }, 
      ], 
      created_at: Time.parse("2024-05-08T16:09:56.080Z"), 
      created_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
      is_rated_by_user: false, 
      is_verified: false, 
      library_item_id: "18cbebaa-196a-4aa5-a840-88d548e07f8f", 
      rating_count: 5, 
      status: "PUBLISHED", 
      updated_at: Time.parse("2024-05-08T16:09:56.080Z"), 
      updated_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
      user_count: 8, 
    }, 
    {
      app_id: "1802f57f-079a-4b5b-839a-79bbe2e21b3c", 
      app_version: 1, 
      categories: [
        {
          id: "fdc4b483-c4e2-44c9-b4b2-6c850bbdb579", 
          title: "General", 
        }, 
      ], 
      created_at: Time.parse("2024-05-07T22:57:59.327Z"), 
      created_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
      is_rated_by_user: false, 
      is_verified: false, 
      library_item_id: "549abfe0-f5c4-45a2-bb9b-c05987a49c6d", 
      rating_count: 8, 
      status: "PUBLISHED", 
      updated_at: Time.parse("2024-05-07T22:57:59.327Z"), 
      updated_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
      user_count: 12, 
    }, 
  ], 
  next_token: "YW5vdGhlclRva2VuIQ==", 
}

Request syntax with placeholder values


resp = client.list_library_items({
  instance_id: "InstanceId", # required
  limit: 1,
  next_token: "PaginationToken",
  category_id: "UUID",
})

Response structure


resp.library_items #=> Array
resp.library_items[0].library_item_id #=> String
resp.library_items[0].app_id #=> String
resp.library_items[0].app_version #=> Integer
resp.library_items[0].categories #=> Array
resp.library_items[0].categories[0].id #=> String
resp.library_items[0].categories[0].title #=> String
resp.library_items[0].status #=> String
resp.library_items[0].created_at #=> Time
resp.library_items[0].created_by #=> String
resp.library_items[0].updated_at #=> Time
resp.library_items[0].updated_by #=> String
resp.library_items[0].rating_count #=> Integer
resp.library_items[0].is_rated_by_user #=> Boolean
resp.library_items[0].user_count #=> Integer
resp.library_items[0].is_verified #=> Boolean
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :limit (Integer)

    The maximum number of library items to return in the response.

  • :next_token (String)

    The token to request the next page of results.

  • :category_id (String)

    Optional category to filter the library items by.

Returns:

See Also:



1562
1563
1564
1565
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 1562

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

#list_q_apps(params = {}) ⇒ Types::ListQAppsOutput

Lists the Amazon Q Apps owned by or associated with the user either because they created it or because they used it from the library in the past. The user identity is extracted from the credentials used to invoke this operation..

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

Examples:

Example: List at most 3 Amazon Q Apps in an Q Business application


resp = client.list_q_apps({
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  limit: 3, 
})

resp.to_h outputs the following:
{
  apps: [
    {
      app_arn: "arn:aws:qapps:us-west-2:..../7b9fe303-18bb-4643-952c-bfcf9f4c427f", 
      app_id: "7b9fe303-18bb-4643-952c-bfcf9f4c427f", 
      created_at: Time.parse("2024-05-21T04:09:10.401Z"), 
      description: "Description 1", 
      is_verified: false, 
      status: "DRAFT", 
      title: "App 1", 
    }, 
    {
      app_arn: "arn:aws:qapps:us-west-2:..../dd178fd6-ad3d-49b3-a32d-e915cf423e37", 
      app_id: "dd178fd6-ad3d-49b3-a32d-e915cf423e37", 
      created_at: Time.parse("2024-05-21T04:09:10.401Z"), 
      description: "Description 2", 
      is_verified: true, 
      status: "PUBLISHED", 
      title: "App 2", 
    }, 
    {
      app_arn: "arn:aws:qapps:us-west-2:..../3274b744-1a13-4aad-953f-eda2e4149e6e", 
      app_id: "3274b744-1a13-4aad-953f-eda2e4149e6e", 
      created_at: Time.parse("2024-05-21T04:09:10.401Z"), 
      description: "Description 3", 
      is_verified: false, 
      status: "DRAFT", 
      title: "App 3", 
    }, 
  ], 
  next_token: "bXlzdGVyaW91c1BhZ2luYXRpb25Ub2tlbg==", 
}

Example: Retrieve the next page of Amazon Q Apps


resp = client.list_q_apps({
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  limit: 3, 
  next_token: "bXlzdGVyaW91c1BhZ2luYXRpb25Ub2tlbg==", 
})

resp.to_h outputs the following:
{
  apps: [
    {
      app_arn: "arn:aws:qapps:us-west-2:..../bec8ee64-2635-41e8-aace-e1e418f4f295", 
      app_id: "bec8ee64-2635-41e8-aace-e1e418f4f295", 
      created_at: Time.parse("2024-05-21T04:09:10.401Z"), 
      description: "Description 4", 
      is_verified: true, 
      status: "PUBLISHED", 
      title: "App 4", 
    }, 
    {
      app_arn: "arn:aws:qapps:us-west-2:..../c380a45d-bd77-45b0-a0e5-8a266c1d8bc4", 
      app_id: "c380a45d-bd77-45b0-a0e5-8a266c1d8bc4", 
      created_at: Time.parse("2024-05-21T04:09:10.401Z"), 
      description: "Description 5", 
      is_verified: false, 
      status: "PUBLISHED", 
      title: "App 5", 
    }, 
    {
      app_arn: "arn:aws:qapps:us-west-2:..../afc4ee80-9722-4396-85a6-7aeaff52c177", 
      app_id: "afc4ee80-9722-4396-85a6-7aeaff52c177", 
      created_at: Time.parse("2024-05-21T04:09:10.401Z"), 
      description: "Description 6", 
      is_verified: false, 
      status: "PUBLISHED", 
      title: "App 6", 
    }, 
  ], 
  next_token: "YW5vdGhlclRva2VuIQ==", 
}

Request syntax with placeholder values


resp = client.list_q_apps({
  instance_id: "InstanceId", # required
  limit: 1,
  next_token: "PaginationToken",
})

Response structure


resp.apps #=> Array
resp.apps[0].app_id #=> String
resp.apps[0].app_arn #=> String
resp.apps[0].title #=> String
resp.apps[0].description #=> String
resp.apps[0].created_at #=> Time
resp.apps[0].can_edit #=> Boolean
resp.apps[0].status #=> String
resp.apps[0].is_verified #=> Boolean
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :limit (Integer)

    The maximum number of Q Apps to return in the response.

  • :next_token (String)

    The token to request the next page of results.

Returns:

See Also:



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

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

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

Lists the tags associated with an Amazon Q Apps resource.

Examples:

Example: A call to list tags for a resource


resp = client.list_tags_for_resource({
  resource_arn: "arn:aws:qapps:us-west-2:123456789012:application/3642ba81-344c-42fd-a480-9119a5a5f26b/qapp/7212ff04-de7b-4831-bd80-45d6975ba1b0", 
})

resp.to_h outputs the following:
{
  tags: {
    "department" => "HR", 
  }, 
}

Request syntax with placeholder values


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

Response structure


resp.tags #=> Hash
resp.tags["TagKey"] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource whose tags should be listed.

Returns:

See Also:



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

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

#predict_q_app(params = {}) ⇒ Types::PredictQAppOutput

Generates an Amazon Q App definition based on either a conversation or a problem statement provided as input.The resulting app definition can be used to call CreateQApp. This API doesn't create Amazon Q Apps directly.

Examples:

Request syntax with placeholder values


resp = client.predict_q_app({
  instance_id: "InstanceId", # required
  options: {
    conversation: [
      {
        body: "ConversationMessageBodyString", # required
        type: "USER", # required, accepts USER, SYSTEM
      },
    ],
    problem_statement: "PredictQAppInputOptionsProblemStatementString",
  },
})

Response structure


resp.app.title #=> String
resp.app.description #=> String
resp.app.app_definition.cards #=> Array
resp.app.app_definition.cards[0].text_input.title #=> String
resp.app.app_definition.cards[0].text_input.id #=> String
resp.app.app_definition.cards[0].text_input.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
resp.app.app_definition.cards[0].text_input.placeholder #=> String
resp.app.app_definition.cards[0].text_input.default_value #=> String
resp.app.app_definition.cards[0].q_query.title #=> String
resp.app.app_definition.cards[0].q_query.id #=> String
resp.app.app_definition.cards[0].q_query.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
resp.app.app_definition.cards[0].q_query.prompt #=> String
resp.app.app_definition.cards[0].q_query.output_source #=> String, one of "approved-sources", "llm"
resp.app.app_definition.cards[0].q_query.attribute_filter.and_all_filters #=> Array
resp.app.app_definition.cards[0].q_query.attribute_filter.and_all_filters[0] #=> Types::AttributeFilter
resp.app.app_definition.cards[0].q_query.attribute_filter.or_all_filters #=> Array
resp.app.app_definition.cards[0].q_query.attribute_filter.or_all_filters[0] #=> Types::AttributeFilter
resp.app.app_definition.cards[0].q_query.attribute_filter.not_filter #=> Types::AttributeFilter
resp.app.app_definition.cards[0].q_query.attribute_filter.equals_to.name #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.equals_to.value.string_value #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.equals_to.value.string_list_value #=> Array
resp.app.app_definition.cards[0].q_query.attribute_filter.equals_to.value.string_list_value[0] #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.equals_to.value.long_value #=> Integer
resp.app.app_definition.cards[0].q_query.attribute_filter.equals_to.value.date_value #=> Time
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_all.name #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_all.value.string_value #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_all.value.string_list_value #=> Array
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_all.value.string_list_value[0] #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_all.value.long_value #=> Integer
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_all.value.date_value #=> Time
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_any.name #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_any.value.string_value #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_any.value.string_list_value #=> Array
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_any.value.string_list_value[0] #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_any.value.long_value #=> Integer
resp.app.app_definition.cards[0].q_query.attribute_filter.contains_any.value.date_value #=> Time
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than.name #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than.value.string_value #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than.value.string_list_value #=> Array
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than.value.string_list_value[0] #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than.value.long_value #=> Integer
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than.value.date_value #=> Time
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.name #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.value.string_value #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.value.string_list_value #=> Array
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.value.string_list_value[0] #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.value.long_value #=> Integer
resp.app.app_definition.cards[0].q_query.attribute_filter.greater_than_or_equals.value.date_value #=> Time
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than.name #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than.value.string_value #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than.value.string_list_value #=> Array
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than.value.string_list_value[0] #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than.value.long_value #=> Integer
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than.value.date_value #=> Time
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.name #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.string_value #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.string_list_value #=> Array
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.string_list_value[0] #=> String
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.long_value #=> Integer
resp.app.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.date_value #=> Time
resp.app.app_definition.cards[0].q_plugin.title #=> String
resp.app.app_definition.cards[0].q_plugin.id #=> String
resp.app.app_definition.cards[0].q_plugin.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
resp.app.app_definition.cards[0].q_plugin.prompt #=> String
resp.app.app_definition.cards[0].q_plugin.plugin_id #=> String
resp.app.app_definition.cards[0].file_upload.title #=> String
resp.app.app_definition.cards[0].file_upload.id #=> String
resp.app.app_definition.cards[0].file_upload.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
resp.app.app_definition.cards[0].file_upload.filename #=> String
resp.app.app_definition.cards[0].file_upload.file_id #=> String
resp.app.app_definition.cards[0].file_upload.allow_override #=> Boolean
resp.app.app_definition.initial_prompt #=> String
resp.problem_statement #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :options (Types::PredictQAppInputOptions)

    The input to generate the Q App definition from, either a conversation or problem statement.

Returns:

See Also:



1860
1861
1862
1863
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 1860

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

#start_q_app_session(params = {}) ⇒ Types::StartQAppSessionOutput

Starts a new session for an Amazon Q App, allowing inputs to be provided and the app to be run.

Each Q App session will be condensed into a single conversation in the web experience.

Examples:

Example: Start a session for an Amazon Q App using version 1, passing in initial values for one card


resp = client.start_q_app_session({
  app_id: "65e7dce7-226a-47f9-b689-22850becef89", 
  app_version: 1, 
  initial_values: [
    {
      value: "What is the circumference of Earth?", 
      card_id: "6fb5b404-3b7b-48a4-8a8b-56406922a606", 
    }, 
  ], 
  instance_id: "4cc5e4c2-d2a2-4188-a114-9ca125b4aedc", 
})

resp.to_h outputs the following:
{
  session_arn: "arn:aws:qapps:us-west-2:0123456789012:application/a929ecd6-5765-4ec7-bd3e-2ca90098b18e/qapp/65e7dce7-226a-47f9-b689-22850becef89/session/1fca878e-64c5-4dc4-b1d9-c93effed4e82", 
  session_id: "1fca878e-64c5-4dc4-b1d9-c93effed4e82", 
}

Request syntax with placeholder values


resp = client.start_q_app_session({
  instance_id: "InstanceId", # required
  app_id: "UUID", # required
  app_version: 1, # required
  initial_values: [
    {
      card_id: "UUID", # required
      value: "CardValueValueString", # required
    },
  ],
  tags: {
    "String" => "String",
  },
})

Response structure


resp.session_id #=> String
resp.session_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :app_id (required, String)

    The unique identifier of the Q App to start a session for.

  • :app_version (required, Integer)

    The version of the Q App to use for the session.

  • :initial_values (Array<Types::CardValue>)

    Optional initial input values to provide for the Q App session.

  • :tags (Hash<String,String>)

    Optional tags to associate with the new Q App session.

Returns:

See Also:



1941
1942
1943
1944
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 1941

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

#stop_q_app_session(params = {}) ⇒ Struct

Stops an active session for an Amazon Q App.This deletes all data related to the session and makes it invalid for future uses. The results of the session will be persisted as part of the conversation.

Examples:

Request syntax with placeholder values


resp = client.stop_q_app_session({
  instance_id: "InstanceId", # required
  session_id: "UUID", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :session_id (required, String)

    The unique identifier of the Q App session to stop.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1970
1971
1972
1973
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 1970

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

#tag_resource(params = {}) ⇒ Struct

Associates tags with an Amazon Q Apps resource.

Examples:

Example: A call to tag a resource


resp = client.tag_resource({
  resource_arn: "arn:aws:qapps:us-west-2:123456789012:application/3642ba81-344c-42fd-a480-9119a5a5f26b/qapp/7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  tags: {
    "department" => "HR", 
  }, 
})

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "AmazonResourceName", # required
  tags: { # required
    "TagKey" => "TagValue",
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource to tag.

  • :tags (required, Hash<String,String>)

    The tags to associate with the resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2008
2009
2010
2011
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 2008

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

#untag_resource(params = {}) ⇒ Struct

Disassociates tags from an Amazon Q Apps resource.

Examples:

Example: A call to untag a resource


resp = client.untag_resource({
  resource_arn: "arn:aws:qapps:us-west-2:123456789012:application/3642ba81-344c-42fd-a480-9119a5a5f26b/qapp/7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  tag_keys: [
    "department", 
  ], 
})

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 resource to disassociate the tag from.

  • :tag_keys (required, Array<String>)

    The keys of the tags to disassociate from the resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2045
2046
2047
2048
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 2045

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

#update_library_item(params = {}) ⇒ Types::UpdateLibraryItemOutput

Updates the library item for an Amazon Q App.

Examples:

Example: Sets the status of a library item to DISABLED


resp = client.update_library_item({
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  library_item_id: "cb9ecf72-8563-450d-9db9-994f98297316", 
  status: "DISABLED", 
})

resp.to_h outputs the following:
{
  app_id: "7a11f34b-42d4-4bc8-b668-ae4a788dae1e", 
  app_version: 6, 
  categories: [
    {
      id: "9c871ed4-1c41-4065-aefe-321cd4b61cf8", 
      title: "HR", 
    }, 
    {
      id: "fdc4b483-c4e2-44c9-b4b2-6c850bbdb579", 
      title: "General", 
    }, 
    {
      id: "c1c4e374-118c-446f-81fb-cba6225d88da", 
      title: "IT", 
    }, 
  ], 
  created_at: Time.parse("2024-05-21T23:17:27.350Z"), 
  created_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
  is_verified: false, 
  library_item_id: "cb9ecf72-8563-450d-9db9-994f98297316", 
  rating_count: 24, 
  status: "DISABLED", 
  updated_at: Time.parse("2024-05-28T19:43:48.577Z"), 
  updated_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
}

Request syntax with placeholder values


resp = client.update_library_item({
  instance_id: "InstanceId", # required
  library_item_id: "UUID", # required
  status: "PUBLISHED", # accepts PUBLISHED, DISABLED
  categories: ["UUID"],
})

Response structure


resp.library_item_id #=> String
resp.app_id #=> String
resp.app_version #=> Integer
resp.categories #=> Array
resp.categories[0].id #=> String
resp.categories[0].title #=> String
resp.status #=> String
resp.created_at #=> Time
resp.created_by #=> String
resp.updated_at #=> Time
resp.updated_by #=> String
resp.rating_count #=> Integer
resp.is_rated_by_user #=> Boolean
resp.user_count #=> Integer
resp.is_verified #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :library_item_id (required, String)

    The unique identifier of the library item to update.

  • :status (String)

    The new status to set for the library item, such as "Published" or "Hidden".

  • :categories (Array<String>)

    The new categories to associate with the library item.

Returns:

See Also:



2150
2151
2152
2153
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 2150

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

#update_library_item_metadata(params = {}) ⇒ Struct

Updates the verification status of a library item for an Amazon Q App.

Examples:

Example: Update a library item to be verified


resp = client.({
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  is_verified: true, 
  library_item_id: "cb9ecf72-8563-450d-9db9-994f98297316", 
})

Request syntax with placeholder values


resp = client.({
  instance_id: "InstanceId", # required
  library_item_id: "UUID", # required
  is_verified: false,
})

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :library_item_id (required, String)

    The unique identifier of the updated library item.

  • :is_verified (Boolean)

    The verification status of the library item

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2190
2191
2192
2193
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 2190

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

#update_q_app(params = {}) ⇒ Types::UpdateQAppOutput

Updates an existing Amazon Q App, allowing modifications to its title, description, and definition.

Examples:

Example: Updating the title of an app


resp = client.update_q_app({
  app_id: "7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
  title: "This is the new title", 
})

resp.to_h outputs the following:
{
  app_arn: "arn:aws:qapps:us-west-2:123456789012:app/7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  app_id: "7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  app_version: 2, 
  created_at: Time.parse("2024-05-14T00:11:54.232Z"), 
  created_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
  required_capabilities: [
    "CreatorMode", 
  ], 
  status: "DRAFT", 
  title: "This is the new title", 
  updated_at: Time.parse("2024-05-17T23:15:08.571Z"), 
  updated_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
}

Example: Updating the app so it has a single q-query card


resp = client.update_q_app({
  app_definition: {
    cards: [
      {
        q_query: {
          type: "q-query", 
          id: "18870b94-1e63-40e0-8c12-669c90ac5acc", 
          prompt: "Recommend me an itinerary for a trip", 
          title: "Trip Ideas", 
        }, 
      }, 
    ], 
  }, 
  app_id: "7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", 
})

resp.to_h outputs the following:
{
  app_arn: "arn:aws:qapps:us-west-2:123456789012:app/7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  app_id: "7212ff04-de7b-4831-bd80-45d6975ba1b0", 
  app_version: 99, 
  created_at: Time.parse("2024-05-14T00:11:54.232Z"), 
  created_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
  required_capabilities: [
    "CreatorMode", 
  ], 
  status: "DRAFT", 
  title: "Previous Title Stays the Same", 
  updated_at: Time.parse("2024-05-17T23:15:08.571Z"), 
  updated_by: "a841e300-40c1-7062-fa34-5b46dadbbaac", 
}

Request syntax with placeholder values


resp = client.update_q_app({
  instance_id: "InstanceId", # required
  app_id: "UUID", # required
  title: "Title",
  description: "Description",
  app_definition: {
    cards: [ # required
      {
        text_input: {
          title: "Title", # required
          id: "UUID", # required
          type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
          placeholder: "Placeholder",
          default_value: "Default",
        },
        q_query: {
          title: "Title", # required
          id: "UUID", # required
          type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
          prompt: "Prompt", # required
          output_source: "approved-sources", # accepts approved-sources, llm
          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: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            contains_all: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            contains_any: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            greater_than: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            greater_than_or_equals: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            less_than: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
            less_than_or_equals: {
              name: "DocumentAttributeKey", # required
              value: { # required
                string_value: "DocumentAttributeValueStringValueString",
                string_list_value: ["PlatoString"],
                long_value: 1,
                date_value: Time.now,
              },
            },
          },
        },
        q_plugin: {
          title: "Title", # required
          id: "UUID", # required
          type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
          prompt: "Prompt", # required
          plugin_id: "PluginId", # required
        },
        file_upload: {
          title: "Title", # required
          id: "UUID", # required
          type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
          filename: "Filename",
          file_id: "UUID",
          allow_override: false,
        },
      },
    ],
    initial_prompt: "InitialPrompt",
  },
})

Response structure


resp.app_id #=> String
resp.app_arn #=> String
resp.title #=> String
resp.description #=> String
resp.initial_prompt #=> String
resp.app_version #=> Integer
resp.status #=> String, one of "PUBLISHED", "DRAFT", "DELETED"
resp.created_at #=> Time
resp.created_by #=> String
resp.updated_at #=> Time
resp.updated_by #=> String
resp.required_capabilities #=> Array
resp.required_capabilities[0] #=> String, one of "FileUpload", "CreatorMode", "RetrievalMode", "PluginMode"

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :app_id (required, String)

    The unique identifier of the Q App to update.

  • :title (String)

    The new title for the Q App.

  • :description (String)

    The new description for the Q App.

  • :app_definition (Types::AppDefinitionInput)

    The new definition specifying the cards and flow for the Q App.

Returns:

See Also:



2432
2433
2434
2435
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 2432

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

#update_q_app_session(params = {}) ⇒ Types::UpdateQAppSessionOutput

Updates the session for a given Q App sessionId. This is only valid when at least one card of the session is in the WAITING state. Data for each WAITING card can be provided as input. If inputs are not provided, the call will be accepted but session will not move forward. Inputs for cards that are not in the WAITING status will be ignored.

Examples:

Request syntax with placeholder values


resp = client.update_q_app_session({
  instance_id: "InstanceId", # required
  session_id: "UUID", # required
  values: [
    {
      card_id: "UUID", # required
      value: "CardValueValueString", # required
    },
  ],
})

Response structure


resp.session_id #=> String
resp.session_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The unique identifier of the Amazon Q Business application environment instance.

  • :session_id (required, String)

    The unique identifier of the Q App session to provide input for.

  • :values (Array<Types::CardValue>)

    The input values to provide for the current state of the Q App session.

Returns:

See Also:



2481
2482
2483
2484
# File 'gems/aws-sdk-qapps/lib/aws-sdk-qapps/client.rb', line 2481

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