QApps / Client / create_q_app

create_q_app#

QApps.Client.create_q_app(**kwargs)#

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.

See also: AWS API Documentation

Request Syntax

response = client.create_q_app(
    instanceId='string',
    title='string',
    description='string',
    appDefinition={
        'cards': [
            {
                'textInput': {
                    'title': 'string',
                    'id': 'string',
                    'type': 'text-input'|'q-query'|'file-upload'|'q-plugin',
                    'placeholder': 'string',
                    'defaultValue': 'string'
                },
                'qQuery': {
                    'title': 'string',
                    'id': 'string',
                    'type': 'text-input'|'q-query'|'file-upload'|'q-plugin',
                    'prompt': 'string',
                    'outputSource': 'approved-sources'|'llm',
                    'attributeFilter': {
                        'andAllFilters': [
                            {'... recursive ...'},
                        ],
                        'orAllFilters': [
                            {'... recursive ...'},
                        ],
                        'notFilter': {'... recursive ...'},
                        'equalsTo': {
                            'name': 'string',
                            'value': {
                                'stringValue': 'string',
                                'stringListValue': [
                                    'string',
                                ],
                                'longValue': 123,
                                'dateValue': datetime(2015, 1, 1)
                            }
                        },
                        'containsAll': {
                            'name': 'string',
                            'value': {
                                'stringValue': 'string',
                                'stringListValue': [
                                    'string',
                                ],
                                'longValue': 123,
                                'dateValue': datetime(2015, 1, 1)
                            }
                        },
                        'containsAny': {
                            'name': 'string',
                            'value': {
                                'stringValue': 'string',
                                'stringListValue': [
                                    'string',
                                ],
                                'longValue': 123,
                                'dateValue': datetime(2015, 1, 1)
                            }
                        },
                        'greaterThan': {
                            'name': 'string',
                            'value': {
                                'stringValue': 'string',
                                'stringListValue': [
                                    'string',
                                ],
                                'longValue': 123,
                                'dateValue': datetime(2015, 1, 1)
                            }
                        },
                        'greaterThanOrEquals': {
                            'name': 'string',
                            'value': {
                                'stringValue': 'string',
                                'stringListValue': [
                                    'string',
                                ],
                                'longValue': 123,
                                'dateValue': datetime(2015, 1, 1)
                            }
                        },
                        'lessThan': {
                            'name': 'string',
                            'value': {
                                'stringValue': 'string',
                                'stringListValue': [
                                    'string',
                                ],
                                'longValue': 123,
                                'dateValue': datetime(2015, 1, 1)
                            }
                        },
                        'lessThanOrEquals': {
                            'name': 'string',
                            'value': {
                                'stringValue': 'string',
                                'stringListValue': [
                                    'string',
                                ],
                                'longValue': 123,
                                'dateValue': datetime(2015, 1, 1)
                            }
                        }
                    }
                },
                'qPlugin': {
                    'title': 'string',
                    'id': 'string',
                    'type': 'text-input'|'q-query'|'file-upload'|'q-plugin',
                    'prompt': 'string',
                    'pluginId': 'string'
                },
                'fileUpload': {
                    'title': 'string',
                    'id': 'string',
                    'type': 'text-input'|'q-query'|'file-upload'|'q-plugin',
                    'filename': 'string',
                    'fileId': 'string',
                    'allowOverride': True|False
                }
            },
        ],
        'initialPrompt': 'string'
    },
    tags={
        'string': 'string'
    }
)
Parameters:
  • instanceId (string) –

    [REQUIRED]

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

  • title (string) –

    [REQUIRED]

    The title of the new Q App.

  • description (string) – The description of the new Q App.

  • appDefinition (dict) –

    [REQUIRED]

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

    • cards (list) – [REQUIRED]

      The cards that make up the Q App definition.

      • (dict) –

        The properties defining an input card in an Amazon Q App.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: textInput, qQuery, qPlugin, fileUpload.

        • textInput (dict) –

          A container for the properties of the text input card.

          • title (string) – [REQUIRED]

            The title or label of the text input card.

          • id (string) – [REQUIRED]

            The unique identifier of the text input card.

          • type (string) – [REQUIRED]

            The type of the card.

          • placeholder (string) –

            The placeholder text to display in the text input field.

          • defaultValue (string) –

            The default value to pre-populate in the text input field.

        • qQuery (dict) –

          A container for the properties of the query input card.

          • title (string) – [REQUIRED]

            The title or label of the query card.

          • id (string) – [REQUIRED]

            The unique identifier of the query card.

          • type (string) – [REQUIRED]

            The type of the card.

          • prompt (string) – [REQUIRED]

            The prompt or instructions displayed for the query card.

          • outputSource (string) –

            The source or type of output to generate for the query card.

          • attributeFilter (dict) –

            Turns on filtering of responses based on document attributes or metadata fields.

            • andAllFilters (list) –

              Performs a logical AND operation on all supplied filters.

              • (dict) –

                The filter criteria used on responses based on document attributes or metadata fields.

            • orAllFilters (list) –

              Performs a logical OR operation on all supplied filters.

              • (dict) –

                The filter criteria used on responses based on document attributes or metadata fields.

            • notFilter (dict) –

              Performs a logical NOT operation on all supplied filters.

            • equalsTo (dict) –

              Performs an equals operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue, longValue, stringListValue and stringValue.

              • name (string) – [REQUIRED]

                The identifier for the attribute.

              • value (dict) – [REQUIRED]

                The value of the attribute.

                Note

                This is a Tagged Union structure. Only one of the following top level keys can be set: stringValue, stringListValue, longValue, dateValue.

                • stringValue (string) –

                  A string.

                • stringListValue (list) –

                  A list of strings.

                  • (string) –

                • longValue (integer) –

                  A long integer value.

                • dateValue (datetime) –

                  A date expressed as an ISO 8601 string.

                  It’s important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

            • containsAll (dict) –

              Returns true when a document contains all the specified document attributes or metadata fields. Supported for the following document attribute value types: stringListValue.

              • name (string) – [REQUIRED]

                The identifier for the attribute.

              • value (dict) – [REQUIRED]

                The value of the attribute.

                Note

                This is a Tagged Union structure. Only one of the following top level keys can be set: stringValue, stringListValue, longValue, dateValue.

                • stringValue (string) –

                  A string.

                • stringListValue (list) –

                  A list of strings.

                  • (string) –

                • longValue (integer) –

                  A long integer value.

                • dateValue (datetime) –

                  A date expressed as an ISO 8601 string.

                  It’s important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

            • containsAny (dict) –

              Returns true when a document contains any of the specified document attributes or metadata fields. Supported for the following document attribute value types: stringListValue.

              • name (string) – [REQUIRED]

                The identifier for the attribute.

              • value (dict) – [REQUIRED]

                The value of the attribute.

                Note

                This is a Tagged Union structure. Only one of the following top level keys can be set: stringValue, stringListValue, longValue, dateValue.

                • stringValue (string) –

                  A string.

                • stringListValue (list) –

                  A list of strings.

                  • (string) –

                • longValue (integer) –

                  A long integer value.

                • dateValue (datetime) –

                  A date expressed as an ISO 8601 string.

                  It’s important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

            • greaterThan (dict) –

              Performs a greater than operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue and longValue.

              • name (string) – [REQUIRED]

                The identifier for the attribute.

              • value (dict) – [REQUIRED]

                The value of the attribute.

                Note

                This is a Tagged Union structure. Only one of the following top level keys can be set: stringValue, stringListValue, longValue, dateValue.

                • stringValue (string) –

                  A string.

                • stringListValue (list) –

                  A list of strings.

                  • (string) –

                • longValue (integer) –

                  A long integer value.

                • dateValue (datetime) –

                  A date expressed as an ISO 8601 string.

                  It’s important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

            • greaterThanOrEquals (dict) –

              Performs a greater than or equals operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue and longValue.

              • name (string) – [REQUIRED]

                The identifier for the attribute.

              • value (dict) – [REQUIRED]

                The value of the attribute.

                Note

                This is a Tagged Union structure. Only one of the following top level keys can be set: stringValue, stringListValue, longValue, dateValue.

                • stringValue (string) –

                  A string.

                • stringListValue (list) –

                  A list of strings.

                  • (string) –

                • longValue (integer) –

                  A long integer value.

                • dateValue (datetime) –

                  A date expressed as an ISO 8601 string.

                  It’s important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

            • lessThan (dict) –

              Performs a less than operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue and longValue.

              • name (string) – [REQUIRED]

                The identifier for the attribute.

              • value (dict) – [REQUIRED]

                The value of the attribute.

                Note

                This is a Tagged Union structure. Only one of the following top level keys can be set: stringValue, stringListValue, longValue, dateValue.

                • stringValue (string) –

                  A string.

                • stringListValue (list) –

                  A list of strings.

                  • (string) –

                • longValue (integer) –

                  A long integer value.

                • dateValue (datetime) –

                  A date expressed as an ISO 8601 string.

                  It’s important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

            • lessThanOrEquals (dict) –

              Performs a less than or equals operation on two document attributes or metadata fields.Supported for the following document attribute value type: dateValue and longValue.

              • name (string) – [REQUIRED]

                The identifier for the attribute.

              • value (dict) – [REQUIRED]

                The value of the attribute.

                Note

                This is a Tagged Union structure. Only one of the following top level keys can be set: stringValue, stringListValue, longValue, dateValue.

                • stringValue (string) –

                  A string.

                • stringListValue (list) –

                  A list of strings.

                  • (string) –

                • longValue (integer) –

                  A long integer value.

                • dateValue (datetime) –

                  A date expressed as an ISO 8601 string.

                  It’s important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

        • qPlugin (dict) –

          A container for the properties of the plugin input card.

          • title (string) – [REQUIRED]

            The title or label of the plugin card.

          • id (string) – [REQUIRED]

            The unique identifier of the plugin card.

          • type (string) – [REQUIRED]

            The type of the card.

          • prompt (string) – [REQUIRED]

            The prompt or instructions displayed for the plugin card.

          • pluginId (string) – [REQUIRED]

            The unique identifier of the plugin used by the card.

        • fileUpload (dict) –

          A container for the properties of the file upload input card.

          • title (string) – [REQUIRED]

            The title or label of the file upload card.

          • id (string) – [REQUIRED]

            The unique identifier of the file upload card.

          • type (string) – [REQUIRED]

            The type of the card.

          • filename (string) –

            The default filename to use for the file upload card.

          • fileId (string) –

            The identifier of a pre-uploaded file associated with the card.

          • allowOverride (boolean) –

            A flag indicating if the user can override the default file for the upload card.

    • initialPrompt (string) –

      The initial prompt displayed when the Q App is started.

  • tags (dict) –

    Optional tags to associate with the new Q App.

    • (string) –

      • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'appId': 'string',
    'appArn': 'string',
    'title': 'string',
    'description': 'string',
    'initialPrompt': 'string',
    'appVersion': 123,
    'status': 'PUBLISHED'|'DRAFT'|'DELETED',
    'createdAt': datetime(2015, 1, 1),
    'createdBy': 'string',
    'updatedAt': datetime(2015, 1, 1),
    'updatedBy': 'string',
    'requiredCapabilities': [
        'FileUpload'|'CreatorMode'|'RetrievalMode'|'PluginMode',
    ]
}

Response Structure

  • (dict) –

    • appId (string) –

      The unique identifier of the new Q App.

    • appArn (string) –

      The Amazon Resource Name (ARN) of the new Q App.

    • title (string) –

      The title of the new Q App.

    • description (string) –

      The description of the new Q App.

    • initialPrompt (string) –

      The initial prompt displayed when the Q App is started.

    • appVersion (integer) –

      The version of the new Q App.

    • status (string) –

      The status of the new Q App, such as “Created”.

    • createdAt (datetime) –

      The date and time the Q App was created.

    • createdBy (string) –

      The user who created the Q App.

    • updatedAt (datetime) –

      The date and time the Q App was last updated.

    • updatedBy (string) –

      The user who last updated the Q App.

    • requiredCapabilities (list) –

      The capabilities required to run the Q App, such as file upload or third-party integrations.

      • (string) –

Exceptions

  • QApps.Client.exceptions.AccessDeniedException

  • QApps.Client.exceptions.ConflictException

  • QApps.Client.exceptions.ValidationException

  • QApps.Client.exceptions.InternalServerException

  • QApps.Client.exceptions.UnauthorizedException

  • QApps.Client.exceptions.ServiceQuotaExceededException

  • QApps.Client.exceptions.ContentTooLargeException

  • QApps.Client.exceptions.ThrottlingException