:doc:`PartnerCentralSellingAPI <../../partnercentral-selling>` / Client / create_resource_snapshot_job

****************************
create_resource_snapshot_job
****************************



.. py:method:: PartnerCentralSellingAPI.Client.create_resource_snapshot_job(**kwargs)

  

  Use this action to create a job to generate a snapshot of the specified resource within an engagement. It initiates an asynchronous process to create a resource snapshot. The job creates a new snapshot only if the resource state has changed, adhering to the same access control and immutability rules as direct snapshot creation.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/partnercentral-selling-2022-07-26/CreateResourceSnapshotJob>`_  


  **Request Syntax**
  ::

    response = client.create_resource_snapshot_job(
        Catalog='string',
        ClientToken='string',
        EngagementIdentifier='string',
        ResourceType='Opportunity',
        ResourceIdentifier='string',
        ResourceSnapshotTemplateIdentifier='string',
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    )
    
  :type Catalog: string
  :param Catalog: **[REQUIRED]** 

    Specifies the catalog in which to create the snapshot job. Valid values are ``AWS`` and ``Sandbox``.

    

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

    A client-generated UUID used for idempotency check. The token helps prevent duplicate job creations.

    This field is autopopulated if not provided.

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

    Specifies the identifier of the engagement associated with the resource to be snapshotted.

    

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

    The type of resource for which the snapshot job is being created. Must be one of the supported resource types i.e. ``Opportunity``

    

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

    Specifies the identifier of the specific resource to be snapshotted. The format depends on the ``ResourceType``.

    

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

    Specifies the name of the template that defines the schema for the snapshot.

    

  
  :type Tags: list
  :param Tags: 

    A map of the key-value pairs of the tag or tags to assign.

    

  
    - *(dict) --* 

      The key-value pair assigned to a specified resource.

      

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

        The key in the tag.

        

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

        The value in the tag.

        

      
    

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

    
    ::

      {
          'Id': 'string',
          'Arn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Id** *(string) --* 

        The unique identifier for the created snapshot job.

        
      

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

        The Amazon Resource Name (ARN) of the created snapshot job.

        
  
  **Exceptions**
  
  *   :py:class:`PartnerCentralSellingAPI.Client.exceptions.ConflictException`

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

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

  
  *   :py:class:`PartnerCentralSellingAPI.Client.exceptions.InternalServerException`

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

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

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

  