:doc:`QBusiness <../../qbusiness>` / Client / update_web_experience

*********************
update_web_experience
*********************



.. py:method:: QBusiness.Client.update_web_experience(**kwargs)

  

  Updates an Amazon Q Business web experience.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/UpdateWebExperience>`_  


  **Request Syntax**
  ::

    response = client.update_web_experience(
        applicationId='string',
        webExperienceId='string',
        roleArn='string',
        authenticationConfiguration={
            'samlConfiguration': {
                'metadataXML': 'string',
                'roleArn': 'string',
                'userIdAttribute': 'string',
                'userGroupAttribute': 'string'
            }
        },
        title='string',
        subtitle='string',
        welcomeMessage='string',
        samplePromptsControlMode='ENABLED'|'DISABLED',
        identityProviderConfiguration={
            'samlConfiguration': {
                'authenticationUrl': 'string'
            },
            'openIDConnectConfiguration': {
                'secretsArn': 'string',
                'secretsRole': 'string'
            }
        },
        origins=[
            'string',
        ],
        browserExtensionConfiguration={
            'enabledBrowserExtensions': [
                'FIREFOX'|'CHROME',
            ]
        },
        customizationConfiguration={
            'customCSSUrl': 'string',
            'logoUrl': 'string',
            'fontUrl': 'string',
            'faviconUrl': 'string'
        }
    )
    
  :type applicationId: string
  :param applicationId: **[REQUIRED]** 

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

    

  
  :type webExperienceId: string
  :param webExperienceId: **[REQUIRED]** 

    The identifier of the Amazon Q Business web experience.

    

  
  :type roleArn: string
  :param roleArn: 

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

    

  
  :type authenticationConfiguration: dict
  :param authenticationConfiguration: 

    The authentication configuration of the Amazon Q Business web experience.

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``samlConfiguration``. 

  
    - **samlConfiguration** *(dict) --* 

      Provides the SAML 2.0 compliant identity provider (IdP) configuration information Amazon Q Business needs to deploy a Amazon Q Business web experience.

      

    
      - **metadataXML** *(string) --* **[REQUIRED]** 

        The metadata XML that your IdP generated.

        

      
      - **roleArn** *(string) --* **[REQUIRED]** 

        The Amazon Resource Name (ARN) of an IAM role assumed by users when they authenticate into their Amazon Q Business web experience, containing the relevant Amazon Q Business permissions for conversing with Amazon Q Business.

        

      
      - **userIdAttribute** *(string) --* **[REQUIRED]** 

        The user attribute name in your IdP that maps to the user email.

        

      
      - **userGroupAttribute** *(string) --* 

        The group attribute name in your IdP that maps to user groups.

        

      
    
  
  :type title: string
  :param title: 

    The title of the Amazon Q Business web experience.

    

  
  :type subtitle: string
  :param subtitle: 

    The subtitle of the Amazon Q Business web experience.

    

  
  :type welcomeMessage: string
  :param welcomeMessage: 

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

    

  
  :type samplePromptsControlMode: string
  :param samplePromptsControlMode: 

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

    

  
  :type identityProviderConfiguration: dict
  :param identityProviderConfiguration: 

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

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``samlConfiguration``, ``openIDConnectConfiguration``. 

  
    - **samlConfiguration** *(dict) --* 

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

      

    
      - **authenticationUrl** *(string) --* **[REQUIRED]** 

        The URL where Amazon Q Business end users will be redirected for authentication.

        

      
    
    - **openIDConnectConfiguration** *(dict) --* 

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

      

    
      - **secretsArn** *(string) --* **[REQUIRED]** 

        The Amazon Resource Name (ARN) of a Secrets Manager secret containing the OIDC client secret.

        

      
      - **secretsRole** *(string) --* **[REQUIRED]** 

        An IAM role with permissions to access KMS to decrypt the Secrets Manager secret containing your OIDC client secret.

        

      
    
  
  :type origins: list
  :param origins: 

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

     

    .. note::

      

      
      * Any values except ``null`` submitted as part of this update will replace all previous values.
       
      * You must only submit a *base URL* and not a full path. For example, ``https://docs.aws.amazon.com``.
      

      

    

  
    - *(string) --* 

    

  :type browserExtensionConfiguration: dict
  :param browserExtensionConfiguration: 

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

     

    .. note::

      

      For Amazon Q Business application using external OIDC-compliant identity providers (IdPs). The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application. For more information, see `Configure external OIDC identity provider for your browser extensions. <https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/browser-extensions.html>`__.

      

    

  
    - **enabledBrowserExtensions** *(list) --* **[REQUIRED]** 

      Specify the browser extensions allowed for your Amazon Q web experience.

       

      
      * ``CHROME`` — Enables the extension for Chromium-based browsers (Google Chrome, Microsoft Edge, Opera, etc.).
       
      * ``FIREFOX`` — Enables the extension for Mozilla Firefox.
       
      * ``CHROME`` and ``FIREFOX`` — Enable the extension for Chromium-based browsers and Mozilla Firefox.
      

      

    
      - *(string) --* 

      
  
  
  :type customizationConfiguration: dict
  :param customizationConfiguration: 

    Updates the custom logo, favicon, font, and color used in the Amazon Q web experience.

    

  
    - **customCSSUrl** *(string) --* 

      Provides the URL where the custom CSS file is hosted for an Amazon Q web experience.

      

    
    - **logoUrl** *(string) --* 

      Provides the URL where the custom logo file is hosted for an Amazon Q web experience.

      

    
    - **fontUrl** *(string) --* 

      Provides the URL where the custom font file is hosted for an Amazon Q web experience.

      

    
    - **faviconUrl** *(string) --* 

      Provides the URL where the custom favicon file is hosted for an Amazon Q web experience.

      

    
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`QBusiness.Client.exceptions.InternalServerException`

  
  *   :py:class:`QBusiness.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`QBusiness.Client.exceptions.ConflictException`

  
  *   :py:class:`QBusiness.Client.exceptions.ThrottlingException`

  
  *   :py:class:`QBusiness.Client.exceptions.ValidationException`

  
  *   :py:class:`QBusiness.Client.exceptions.AccessDeniedException`

  