:doc:`QuickSight <../../quicksight>` / Client / update_template_permissions

***************************
update_template_permissions
***************************



.. py:method:: QuickSight.Client.update_template_permissions(**kwargs)

  

  Updates the resource permissions for a template.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplatePermissions>`_  


  **Request Syntax**
  ::

    response = client.update_template_permissions(
        AwsAccountId='string',
        TemplateId='string',
        GrantPermissions=[
            {
                'Principal': 'string',
                'Actions': [
                    'string',
                ]
            },
        ],
        RevokePermissions=[
            {
                'Principal': 'string',
                'Actions': [
                    'string',
                ]
            },
        ]
    )
    
  :type AwsAccountId: string
  :param AwsAccountId: **[REQUIRED]** 

    The ID of the Amazon Web Services account that contains the template.

    

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

    The ID for the template.

    

  
  :type GrantPermissions: list
  :param GrantPermissions: 

    A list of resource permissions to be granted on the template.

    

  
    - *(dict) --* 

      Permission for the resource.

      

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

        The Amazon Resource Name (ARN) of the principal. This can be one of the following:

         

        
        * The ARN of an Quick Sight user or group associated with a data source or dataset. (This is common.)
         
        * The ARN of an Quick Sight user, group, or namespace associated with an analysis, dashboard, template, or theme. Namespace sharing is not supported for action connectors. (This is common.)
         
        * The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a Quick Sight ARN. Use this option only to share resources (templates) across Amazon Web Services accounts. Account root sharing is not supported for action connectors. (This is less common.)
        

        

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

        The IAM action to grant or revoke permissions on.

        

      
        - *(string) --* 

        
    
    

  :type RevokePermissions: list
  :param RevokePermissions: 

    A list of resource permissions to be revoked from the template.

    

  
    - *(dict) --* 

      Permission for the resource.

      

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

        The Amazon Resource Name (ARN) of the principal. This can be one of the following:

         

        
        * The ARN of an Quick Sight user or group associated with a data source or dataset. (This is common.)
         
        * The ARN of an Quick Sight user, group, or namespace associated with an analysis, dashboard, template, or theme. Namespace sharing is not supported for action connectors. (This is common.)
         
        * The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a Quick Sight ARN. Use this option only to share resources (templates) across Amazon Web Services accounts. Account root sharing is not supported for action connectors. (This is less common.)
        

        

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

        The IAM action to grant or revoke permissions on.

        

      
        - *(string) --* 

        
    
    

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

    
    ::

      {
          'TemplateId': 'string',
          'TemplateArn': 'string',
          'Permissions': [
              {
                  'Principal': 'string',
                  'Actions': [
                      'string',
                  ]
              },
          ],
          'RequestId': 'string',
          'Status': 123
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **TemplateId** *(string) --* 

        The ID for the template.

        
      

      - **TemplateArn** *(string) --* 

        The Amazon Resource Name (ARN) of the template.

        
      

      - **Permissions** *(list) --* 

        A list of resource permissions to be set on the template.

        
        

        - *(dict) --* 

          Permission for the resource.

          
          

          - **Principal** *(string) --* 

            The Amazon Resource Name (ARN) of the principal. This can be one of the following:

             

            
            * The ARN of an Quick Sight user or group associated with a data source or dataset. (This is common.)
             
            * The ARN of an Quick Sight user, group, or namespace associated with an analysis, dashboard, template, or theme. Namespace sharing is not supported for action connectors. (This is common.)
             
            * The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a Quick Sight ARN. Use this option only to share resources (templates) across Amazon Web Services accounts. Account root sharing is not supported for action connectors. (This is less common.)
            

            
          

          - **Actions** *(list) --* 

            The IAM action to grant or revoke permissions on.

            
            

            - *(string) --* 
        
      
    
      

      - **RequestId** *(string) --* 

        The Amazon Web Services request ID for this operation.

        
      

      - **Status** *(integer) --* 

        The HTTP status of the request.

        
  
  **Exceptions**
  
  *   :py:class:`QuickSight.Client.exceptions.ThrottlingException`

  
  *   :py:class:`QuickSight.Client.exceptions.InvalidParameterValueException`

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

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

  
  *   :py:class:`QuickSight.Client.exceptions.UnsupportedUserEditionException`

  
  *   :py:class:`QuickSight.Client.exceptions.LimitExceededException`

  
  *   :py:class:`QuickSight.Client.exceptions.InternalFailureException`

  