:doc:`signer <../../signer>` / Client / add_profile_permission

**********************
add_profile_permission
**********************



.. py:method:: signer.Client.add_profile_permission(**kwargs)

  

  Adds cross-account permissions to a signing profile.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/AddProfilePermission>`_  


  **Request Syntax**
  ::

    response = client.add_profile_permission(
        profileName='string',
        profileVersion='string',
        action='string',
        principal='string',
        revisionId='string',
        statementId='string'
    )
    
  :type profileName: string
  :param profileName: **[REQUIRED]** 

    The human-readable name of the signing profile.

    

  
  :type profileVersion: string
  :param profileVersion: 

    The version of the signing profile.

    

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

    For cross-account signing. Grant a designated account permission to perform one or more of the following actions. Each action is associated with a specific API's operations. For more information about cross-account signing, see `Using cross-account signing with signing profiles <http://docs.aws.amazon.com/signer/latest/developerguide/signing-profile-cross-account.html>`__ in the *AWS Signer Developer Guide*.

     

    You can designate the following actions to an account.

     

    
    * ``signer:StartSigningJob``. This action isn't supported for container image workflows. For details, see  StartSigningJob.
     
    * ``signer:SignPayload``. This action isn't supported for AWS Lambda workflows. For details, see  SignPayload
     
    * ``signer:GetSigningProfile``. For details, see  GetSigningProfile.
     
    * ``signer:RevokeSignature``. For details, see  RevokeSignature.
    

    

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

    The AWS principal receiving cross-account permissions. This may be an IAM role or another AWS account ID.

    

  
  :type revisionId: string
  :param revisionId: 

    A unique identifier for the current profile revision.

    

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

    A unique identifier for the cross-account permission statement.

    

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

    
    ::

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

    

    - *(dict) --* 
      

      - **revisionId** *(string) --* 

        A unique identifier for the current profile revision.

        
  
  **Exceptions**
  
  *   :py:class:`signer.Client.exceptions.ValidationException`

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

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

  
  *   :py:class:`signer.Client.exceptions.ServiceLimitExceededException`

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

  
  *   :py:class:`signer.Client.exceptions.TooManyRequestsException`

  
  *   :py:class:`signer.Client.exceptions.InternalServiceErrorException`

  