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

*******************
put_signing_profile
*******************



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

  

  Creates a signing profile. A signing profile is a code-signing template that can be used to carry out a pre-defined signing job.

  

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


  **Request Syntax**
  ::

    response = client.put_signing_profile(
        profileName='string',
        signingMaterial={
            'certificateArn': 'string'
        },
        signatureValidityPeriod={
            'value': 123,
            'type': 'DAYS'|'MONTHS'|'YEARS'
        },
        platformId='string',
        overrides={
            'signingConfiguration': {
                'encryptionAlgorithm': 'RSA'|'ECDSA',
                'hashAlgorithm': 'SHA1'|'SHA256'
            },
            'signingImageFormat': 'JSON'|'JSONEmbedded'|'JSONDetached'
        },
        signingParameters={
            'string': 'string'
        },
        tags={
            'string': 'string'
        }
    )
    
  :type profileName: string
  :param profileName: **[REQUIRED]** 

    The name of the signing profile to be created.

    

  
  :type signingMaterial: dict
  :param signingMaterial: 

    The AWS Certificate Manager certificate that will be used to sign code with the new signing profile.

    

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

      The Amazon Resource Name (ARN) of the certificates that is used to sign your code.

      

    
  
  :type signatureValidityPeriod: dict
  :param signatureValidityPeriod: 

    The default validity period override for any signature generated using this signing profile. If unspecified, the default is 135 months.

    

  
    - **value** *(integer) --* 

      The numerical value of the time unit for signature validity.

      

    
    - **type** *(string) --* 

      The time unit for signature validity.

      

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

    The ID of the signing platform to be created.

    

  
  :type overrides: dict
  :param overrides: 

    A subfield of ``platform``. This specifies any different configuration options that you want to apply to the chosen platform (such as a different ``hash-algorithm`` or ``signing-algorithm``).

    

  
    - **signingConfiguration** *(dict) --* 

      A signing configuration that overrides the default encryption or hash algorithm of a signing job.

      

    
      - **encryptionAlgorithm** *(string) --* 

        A specified override of the default encryption algorithm that is used in a code-signing job.

        

      
      - **hashAlgorithm** *(string) --* 

        A specified override of the default hash algorithm that is used in a code-signing job.

        

      
    
    - **signingImageFormat** *(string) --* 

      A signed image is a JSON object. When overriding the default signing platform configuration, a customer can select either of two signing formats, ``JSONEmbedded`` or ``JSONDetached``. (A third format value, ``JSON``, is reserved for future use.) With ``JSONEmbedded``, the signing image has the payload embedded in it. With ``JSONDetached``, the payload is not be embedded in the signing image.

      

    
  
  :type signingParameters: dict
  :param signingParameters: 

    Map of key-value pairs for signing. These can include any information that you want to use during signing.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type tags: dict
  :param tags: 

    Tags to be associated with the signing profile that is being created.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


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

    
    ::

      {
          'arn': 'string',
          'profileVersion': 'string',
          'profileVersionArn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **arn** *(string) --* 

        The Amazon Resource Name (ARN) of the signing profile created.

        
      

      - **profileVersion** *(string) --* 

        The version of the signing profile being created.

        
      

      - **profileVersionArn** *(string) --* 

        The signing profile ARN, including the profile version.

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

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

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

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

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

  