:doc:`Transfer <../../transfer>` / Client / update_web_app

**************
update_web_app
**************



.. py:method:: Transfer.Client.update_web_app(**kwargs)

  

  Assigns new properties to a web app. You can modify the access point, identity provider details, endpoint configuration, and the web app units.

   

  For more information about using VPC endpoints with Transfer Family, see `Create a Transfer Family web app in a VPC <https://docs.aws.amazon.com/transfer/latest/userguide/create-webapp-in-vpc.html>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateWebApp>`_  


  **Request Syntax**
  ::

    response = client.update_web_app(
        WebAppId='string',
        IdentityProviderDetails={
            'IdentityCenterConfig': {
                'Role': 'string'
            }
        },
        AccessEndpoint='string',
        WebAppUnits={
            'Provisioned': 123
        },
        EndpointDetails={
            'Vpc': {
                'SubnetIds': [
                    'string',
                ]
            }
        }
    )
    
  :type WebAppId: string
  :param WebAppId: **[REQUIRED]** 

    Provide the identifier of the web app that you are updating.

    

  
  :type IdentityProviderDetails: dict
  :param IdentityProviderDetails: 

    Provide updated identity provider values in a ``WebAppIdentityProviderDetails`` object.

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

  
    - **IdentityCenterConfig** *(dict) --* 

      A structure that describes the values to use for the IAM Identity Center settings when you update a web app.

      

    
      - **Role** *(string) --* 

        The IAM role used to access IAM Identity Center.

        

      
    
  
  :type AccessEndpoint: string
  :param AccessEndpoint: 

    The ``AccessEndpoint`` is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.

    

  
  :type WebAppUnits: dict
  :param WebAppUnits: 

    A union that contains the value for number of concurrent connections or the user sessions on your web app.

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

  
    - **Provisioned** *(integer) --* 

      An integer that represents the number of units for your desired number of concurrent connections, or the number of user sessions on your web app at the same time.

       

      Each increment allows an additional 250 concurrent sessions: a value of ``1`` sets the number of concurrent sessions to 250; ``2`` sets a value of 500, and so on.

      

    
  
  :type EndpointDetails: dict
  :param EndpointDetails: 

    The updated endpoint configuration for the web app. You can modify the endpoint type and VPC configuration settings.

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

  
    - **Vpc** *(dict) --* 

      The VPC configuration details for updating a web app endpoint hosted within a VPC. This includes the subnet IDs for endpoint deployment.

      

    
      - **SubnetIds** *(list) --* 

        The list of subnet IDs within the VPC where the web app endpoint should be deployed during the update operation.

        

      
        - *(string) --* 

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

    
    ::

      {
          'WebAppId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **WebAppId** *(string) --* 

        Returns the unique identifier for the web app being updated.

        
  
  **Exceptions**
  
  *   :py:class:`Transfer.Client.exceptions.ConflictException`

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

  
  *   :py:class:`Transfer.Client.exceptions.InvalidRequestException`

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

  
  *   :py:class:`Transfer.Client.exceptions.InternalServiceError`

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

  