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

************************
create_resource_snapshot
************************



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

  

  This action allows you to create an immutable snapshot of a specific resource, such as an opportunity, within the context of an engagement. The snapshot captures a subset of the resource's data based on the schema defined by the provided template.

  

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


  **Request Syntax**
  ::

    response = client.create_resource_snapshot(
        Catalog='string',
        EngagementIdentifier='string',
        ResourceType='Opportunity',
        ResourceIdentifier='string',
        ResourceSnapshotTemplateIdentifier='string',
        ClientToken='string'
    )
    
  :type Catalog: string
  :param Catalog: **[REQUIRED]** 

    Specifies the catalog where the snapshot is created. Valid values are ``AWS`` and ``Sandbox``.

    

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

    The unique identifier of the engagement associated with this snapshot. This field links the snapshot to a specific engagement context.

    

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

    Specifies the type of resource for which the snapshot is being created. This field determines the structure and content of the snapshot. Must be one of the supported resource types, such as: ``Opportunity``.

    

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

    The unique identifier of the specific resource to be snapshotted. The format and constraints of this identifier depend on the ``ResourceType`` specified. For example: For ``Opportunity`` type, it will be an opportunity ID.

    

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

    The name of the template that defines the schema for the snapshot. This template determines which subset of the resource data will be included in the snapshot. Must correspond to an existing and valid template for the specified ``ResourceType``.

    

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

    Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. This token helps prevent duplicate snapshot creations.

    This field is autopopulated if not provided.

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

    
    ::

      {
          'Arn': 'string',
          'Revision': 123
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        Specifies the Amazon Resource Name (ARN) that uniquely identifies the snapshot created.

        
      

      - **Revision** *(integer) --* 

        Specifies the revision number of the created snapshot. This field provides important information about the snapshot's place in the sequence of snapshots for the given resource.

        
  
  **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`

  