:doc:`ServiceCatalog <../../servicecatalog>` / Client / copy_product

************
copy_product
************



.. py:method:: ServiceCatalog.Client.copy_product(**kwargs)

  

  Copies the specified source product to the specified target product or a new product.

   

  You can copy a product to the same account or another account. You can copy a product to the same Region or another Region. If you copy a product to another account, you must first share the product in a portfolio using  CreatePortfolioShare.

   

  This operation is performed asynchronously. To track the progress of the operation, use  DescribeCopyProductStatus.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProduct>`_  


  **Request Syntax**
  ::

    response = client.copy_product(
        AcceptLanguage='string',
        SourceProductArn='string',
        TargetProductId='string',
        TargetProductName='string',
        SourceProvisioningArtifactIdentifiers=[
            {
                'string': 'string'
            },
        ],
        CopyOptions=[
            'CopyTags',
        ],
        IdempotencyToken='string'
    )
    
  :type AcceptLanguage: string
  :param AcceptLanguage: 

    The language code.

     

    
    * ``jp`` - Japanese
     
    * ``zh`` - Chinese
    

    

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

    The Amazon Resource Name (ARN) of the source product.

    

  
  :type TargetProductId: string
  :param TargetProductId: 

    The identifier of the target product. By default, a new product is created.

    

  
  :type TargetProductName: string
  :param TargetProductName: 

    A name for the target product. The default is the name of the source product.

    

  
  :type SourceProvisioningArtifactIdentifiers: list
  :param SourceProvisioningArtifactIdentifiers: 

    The identifiers of the provisioning artifacts (also known as versions) of the product to copy. By default, all provisioning artifacts are copied.

    

  
    - *(dict) --* 

    
      - *(string) --* 

      
        - *(string) --* 

        
  


  :type CopyOptions: list
  :param CopyOptions: 

    The copy options. If the value is ``CopyTags``, the tags from the source product are copied to the target product.

    

  
    - *(string) --* 

    

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

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    This field is autopopulated if not provided.

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

    
    ::

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

    

    - *(dict) --* 
      

      - **CopyProductToken** *(string) --* 

        The token to use to track the progress of the operation.

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

  
  *   :py:class:`ServiceCatalog.Client.exceptions.InvalidParametersException`

  