:doc:`WorkSpacesWeb <../../workspaces-web>` / Client / update_identity_provider

************************
update_identity_provider
************************



.. py:method:: WorkSpacesWeb.Client.update_identity_provider(**kwargs)

  

  Updates the identity provider.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateIdentityProvider>`_  


  **Request Syntax**
  ::

    response = client.update_identity_provider(
        identityProviderArn='string',
        identityProviderName='string',
        identityProviderType='SAML'|'Facebook'|'Google'|'LoginWithAmazon'|'SignInWithApple'|'OIDC',
        identityProviderDetails={
            'string': 'string'
        },
        clientToken='string'
    )
    
  :type identityProviderArn: string
  :param identityProviderArn: **[REQUIRED]** 

    The ARN of the identity provider.

    

  
  :type identityProviderName: string
  :param identityProviderName: 

    The name of the identity provider.

    

  
  :type identityProviderType: string
  :param identityProviderType: 

    The type of the identity provider.

    

  
  :type identityProviderDetails: dict
  :param identityProviderDetails: 

    The details of the identity provider. The following list describes the provider detail keys for each identity provider type.

     

    
    * For Google and Login with Amazon: 

      
      * ``client_id``
       
      * ``client_secret``
       
      * ``authorize_scopes``
      

    
     
    * For Facebook: 

      
      * ``client_id``
       
      * ``client_secret``
       
      * ``authorize_scopes``
       
      * ``api_version``
      

    
     
    * For Sign in with Apple: 

      
      * ``client_id``
       
      * ``team_id``
       
      * ``key_id``
       
      * ``private_key``
       
      * ``authorize_scopes``
      

    
     
    * For OIDC providers: 

      
      * ``client_id``
       
      * ``client_secret``
       
      * ``attributes_request_method``
       
      * ``oidc_issuer``
       
      * ``authorize_scopes``
       
      * ``authorize_url`` if not available from discovery URL specified by ``oidc_issuer`` key
       
      * ``token_url`` if not available from discovery URL specified by ``oidc_issuer`` key
       
      * ``attributes_url`` if not available from discovery URL specified by ``oidc_issuer`` key
       
      * ``jwks_uri`` if not available from discovery URL specified by ``oidc_issuer`` key
      

    
     
    * For SAML providers: 

      
      * ``MetadataFile`` OR ``MetadataURL``
       
      * ``IDPSignout`` (boolean) *optional*
       
      * ``IDPInit`` (boolean) *optional*
       
      * ``RequestSigningAlgorithm`` (string) *optional* - Only accepts ``rsa-sha256``
       
      * ``EncryptedResponses`` (boolean) *optional*
      

    
    

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type clientToken: string
  :param clientToken: 

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

     

    If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

    This field is autopopulated if not provided.

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

    
    ::

      {
          'identityProvider': {
              'identityProviderArn': 'string',
              'identityProviderName': 'string',
              'identityProviderType': 'SAML'|'Facebook'|'Google'|'LoginWithAmazon'|'SignInWithApple'|'OIDC',
              'identityProviderDetails': {
                  'string': 'string'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **identityProvider** *(dict) --* 

        The identity provider.

        
        

        - **identityProviderArn** *(string) --* 

          The ARN of the identity provider.

          
        

        - **identityProviderName** *(string) --* 

          The identity provider name.

          
        

        - **identityProviderType** *(string) --* 

          The identity provider type.

          
        

        - **identityProviderDetails** *(dict) --* 

          The identity provider details. The following list describes the provider detail keys for each identity provider type.

           

          
          * For Google and Login with Amazon: 

            
            * ``client_id``
             
            * ``client_secret``
             
            * ``authorize_scopes``
            

          
           
          * For Facebook: 

            
            * ``client_id``
             
            * ``client_secret``
             
            * ``authorize_scopes``
             
            * ``api_version``
            

          
           
          * For Sign in with Apple: 

            
            * ``client_id``
             
            * ``team_id``
             
            * ``key_id``
             
            * ``private_key``
             
            * ``authorize_scopes``
            

          
           
          * For OIDC providers: 

            
            * ``client_id``
             
            * ``client_secret``
             
            * ``attributes_request_method``
             
            * ``oidc_issuer``
             
            * ``authorize_scopes``
             
            * ``authorize_url`` *if not available from discovery URL specified by oidc_issuer key*
             
            * ``token_url`` *if not available from discovery URL specified by oidc_issuer key*
             
            * ``attributes_url`` *if not available from discovery URL specified by oidc_issuer key*
             
            * ``jwks_uri`` *if not available from discovery URL specified by oidc_issuer key*
            

          
           
          * For SAML providers: 

            
            * ``MetadataFile`` OR ``MetadataURL``
             
            * ``IDPSignout`` (boolean) *optional*
             
            * ``IDPInit`` (boolean) *optional*
             
            * ``RequestSigningAlgorithm`` (string) *optional* - Only accepts ``rsa-sha256``
             
            * ``EncryptedResponses`` (boolean) *optional*
            

          
          

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
    
  
  **Exceptions**
  
  *   :py:class:`WorkSpacesWeb.Client.exceptions.InternalServerException`

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

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

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

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

  