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

***********************
update_flow_permissions
***********************



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

  

  Updates permissions against principals on a flow.

  

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


  **Request Syntax**
  ::

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

    The ID of the Amazon Web Services account that contains the flow you are updating permissions against.

    

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

    The unique identifier of the flow to update permissions for.

    

  
  :type GrantPermissions: list
  :param GrantPermissions: 

    The permissions that you want to grant on this flow.

    

  
    - *(dict) --* 

      A structure that contains the permission information for one principal against one flow.

      

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

        A list of actions that the principal can perform against the flow.

         

        The following are the list of values to set a principal as a flow owner:

         

        
        * quicksight:PublishFlow
         
        * quicksight:GetFlow
         
        * quicksight:UpdateFlowPermissions
         
        * quicksight:GetFlowSession
         
        * quicksight:StartFlowSession
         
        * quicksight:StopFlowSession
         
        * quicksight:UpdateFlowSession
         
        * quicksight:UnpublishFlow
         
        * quicksight:GetFlowStages
         
        * quicksight:DeleteFlow
         
        * quicksight:DescribeFlowPermissions
         
        * quicksight:UpdateFlow
         
        * quicksight:CreatePresignedUrl
        

         

        The following are the list of values to set a principal as a flow viewer:

         

        
        * quicksight:GetFlow
         
        * quicksight:UpdateFlowSession
         
        * quicksight:StartFlowSession
         
        * quicksight:StopFlowSession
         
        * quicksight:GetFlowSession
         
        * quicksight:CreatePresignedUrl
         
        * quicksight:GetFlowStages
        

        

      
        - *(string) --* 

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

        The Amazon Resource Name (ARN) of the principal. This can be an Amazon Quick Suite user, group or namespace associated with the flow. Namespace principal can only be set as a viewer and will grant everyone in the same namespace viewer permissions.

        

      
    

  :type RevokePermissions: list
  :param RevokePermissions: 

    The permissions that you want to revoke from this flow.

    

  
    - *(dict) --* 

      A structure that contains the permission information for one principal against one flow.

      

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

        A list of actions that the principal can perform against the flow.

         

        The following are the list of values to set a principal as a flow owner:

         

        
        * quicksight:PublishFlow
         
        * quicksight:GetFlow
         
        * quicksight:UpdateFlowPermissions
         
        * quicksight:GetFlowSession
         
        * quicksight:StartFlowSession
         
        * quicksight:StopFlowSession
         
        * quicksight:UpdateFlowSession
         
        * quicksight:UnpublishFlow
         
        * quicksight:GetFlowStages
         
        * quicksight:DeleteFlow
         
        * quicksight:DescribeFlowPermissions
         
        * quicksight:UpdateFlow
         
        * quicksight:CreatePresignedUrl
        

         

        The following are the list of values to set a principal as a flow viewer:

         

        
        * quicksight:GetFlow
         
        * quicksight:UpdateFlowSession
         
        * quicksight:StartFlowSession
         
        * quicksight:StopFlowSession
         
        * quicksight:GetFlowSession
         
        * quicksight:CreatePresignedUrl
         
        * quicksight:GetFlowStages
        

        

      
        - *(string) --* 

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

        The Amazon Resource Name (ARN) of the principal. This can be an Amazon Quick Suite user, group or namespace associated with the flow. Namespace principal can only be set as a viewer and will grant everyone in the same namespace viewer permissions.

        

      
    

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

    
    ::

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

    

    - *(dict) --* 
      

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

        The HTTP status of the request.

        
      

      - **Arn** *(string) --* 

        The Amazon Resource Name (ARN) of the flow you are updating permissions against.

        
      

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

        The permissions on the flow after they are updated.

        
        

        - *(dict) --* 

          A structure that contains the permission information for one principal against one flow.

          
          

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

            A list of actions that the principal can perform against the flow.

             

            The following are the list of values to set a principal as a flow owner:

             

            
            * quicksight:PublishFlow
             
            * quicksight:GetFlow
             
            * quicksight:UpdateFlowPermissions
             
            * quicksight:GetFlowSession
             
            * quicksight:StartFlowSession
             
            * quicksight:StopFlowSession
             
            * quicksight:UpdateFlowSession
             
            * quicksight:UnpublishFlow
             
            * quicksight:GetFlowStages
             
            * quicksight:DeleteFlow
             
            * quicksight:DescribeFlowPermissions
             
            * quicksight:UpdateFlow
             
            * quicksight:CreatePresignedUrl
            

             

            The following are the list of values to set a principal as a flow viewer:

             

            
            * quicksight:GetFlow
             
            * quicksight:UpdateFlowSession
             
            * quicksight:StartFlowSession
             
            * quicksight:StopFlowSession
             
            * quicksight:GetFlowSession
             
            * quicksight:CreatePresignedUrl
             
            * quicksight:GetFlowStages
            

            
            

            - *(string) --* 
        
          

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

            The Amazon Resource Name (ARN) of the principal. This can be an Amazon Quick Suite user, group or namespace associated with the flow. Namespace principal can only be set as a viewer and will grant everyone in the same namespace viewer permissions.

            
      
    
      

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

        The Amazon Web Services request ID for this operation.

        
      

      - **FlowId** *(string) --* 

        The unique identifier of the flow with updated permissions.

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

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

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

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

  