:doc:`DataZone <../../datazone>` / Client / update_account_pool

*******************
update_account_pool
*******************



.. py:method:: DataZone.Client.update_account_pool(**kwargs)

  

  Updates the account pool.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/UpdateAccountPool>`_  


  **Request Syntax**
  ::

    response = client.update_account_pool(
        domainIdentifier='string',
        identifier='string',
        name='string',
        description='string',
        resolutionStrategy='MANUAL',
        accountSource={
            'accounts': [
                {
                    'awsAccountId': 'string',
                    'supportedRegions': [
                        'string',
                    ],
                    'awsAccountName': 'string'
                },
            ],
            'customAccountPoolHandler': {
                'lambdaFunctionArn': 'string',
                'lambdaExecutionRoleArn': 'string'
            }
        }
    )
    
  :type domainIdentifier: string
  :param domainIdentifier: **[REQUIRED]** 

    The domain ID where the account pool that is to be updated lives.

    

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

    The ID of the account pool that is to be updated.

    

  
  :type name: string
  :param name: 

    The name of the account pool that is to be updated.

    

  
  :type description: string
  :param description: 

    The description of the account pool that is to be udpated.

    

  
  :type resolutionStrategy: string
  :param resolutionStrategy: 

    The mechanism used to resolve the account selection from the account pool.

    

  
  :type accountSource: dict
  :param accountSource: 

    The source of accounts for the account pool. In the current release, it's either a static list of accounts provided by the customer or a custom Amazon Web Services Lambda handler.

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

  
    - **accounts** *(list) --* 

      The static list of accounts within an account pool.

      

    
      - *(dict) --* 

        The account information within an account pool.

        

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

          The account ID.

          

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

          The regions supported for an account within an account pool.

          

        
          - *(string) --* 

          
      
        - **awsAccountName** *(string) --* 

          The account name.

          

        
      
  
    - **customAccountPoolHandler** *(dict) --* 

      The custom Amazon Web Services Lambda handler within an account pool.

      

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

        The ARN of the Amazon Web Services Lambda function for the custom Amazon Web Services Lambda handler.

        

      
      - **lambdaExecutionRoleArn** *(string) --* 

        The ARN of the IAM role that enables Amazon SageMaker Unified Studio to invoke the Amazon Web Services Lambda funtion if the account source is the custom account pool handler.

        

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

    
    ::

      {
          'domainId': 'string',
          'name': 'string',
          'id': 'string',
          'description': 'string',
          'resolutionStrategy': 'MANUAL',
          'accountSource': {
              'accounts': [
                  {
                      'awsAccountId': 'string',
                      'supportedRegions': [
                          'string',
                      ],
                      'awsAccountName': 'string'
                  },
              ],
              'customAccountPoolHandler': {
                  'lambdaFunctionArn': 'string',
                  'lambdaExecutionRoleArn': 'string'
              }
          },
          'createdBy': 'string',
          'createdAt': datetime(2015, 1, 1),
          'lastUpdatedAt': datetime(2015, 1, 1),
          'updatedBy': 'string',
          'domainUnitId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **domainId** *(string) --* 

        The domain ID where the account pool that is to be updated lives.

        
      

      - **name** *(string) --* 

        The name of the account pool that is to be updated.

        
      

      - **id** *(string) --* 

        The ID of the account pool that is to be updated.

        
      

      - **description** *(string) --* 

        The description of the account pool that is to be udpated.

        
      

      - **resolutionStrategy** *(string) --* 

        The mechanism used to resolve the account selection from the account pool.

        
      

      - **accountSource** *(dict) --* 

        The source of accounts for the account pool. In the current release, it's either a static list of accounts provided by the customer or a custom Amazon Web Services Lambda handler.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``accounts``, ``customAccountPoolHandler``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


      
        

        - **accounts** *(list) --* 

          The static list of accounts within an account pool.

          
          

          - *(dict) --* 

            The account information within an account pool.

            
            

            - **awsAccountId** *(string) --* 

              The account ID.

              
            

            - **supportedRegions** *(list) --* 

              The regions supported for an account within an account pool.

              
              

              - *(string) --* 
          
            

            - **awsAccountName** *(string) --* 

              The account name.

              
        
      
        

        - **customAccountPoolHandler** *(dict) --* 

          The custom Amazon Web Services Lambda handler within an account pool.

          
          

          - **lambdaFunctionArn** *(string) --* 

            The ARN of the Amazon Web Services Lambda function for the custom Amazon Web Services Lambda handler.

            
          

          - **lambdaExecutionRoleArn** *(string) --* 

            The ARN of the IAM role that enables Amazon SageMaker Unified Studio to invoke the Amazon Web Services Lambda funtion if the account source is the custom account pool handler.

            
      
    
      

      - **createdBy** *(string) --* 

        The user who created the account pool.

        
      

      - **createdAt** *(datetime) --* 

        The timestamp at which the account pool was created.

        
      

      - **lastUpdatedAt** *(datetime) --* 

        The timestamp at which the account pool was last updated.

        
      

      - **updatedBy** *(string) --* 

        The user who last updated the account pool.

        
      

      - **domainUnitId** *(string) --* 

        The domain ID in which the account pool that is to be updated lives.

        
  
  **Exceptions**
  
  *   :py:class:`DataZone.Client.exceptions.InternalServerException`

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

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

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

  
  *   :py:class:`DataZone.Client.exceptions.ServiceQuotaExceededException`

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

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

  
  *   :py:class:`DataZone.Client.exceptions.UnauthorizedException`

  