[ aws . servicecatalog ]



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.

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

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


[--accept-language <value>]
--source-product-arn <value>
[--target-product-id <value>]
[--target-product-name <value>]
[--source-provisioning-artifact-identifiers <value>]
[--copy-options <value>]
[--idempotency-token <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]


--accept-language (string)

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

--source-product-arn (string)

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

--target-product-id (string)

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

--target-product-name (string)

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

--source-provisioning-artifact-identifiers (list)

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


key -> (string)

value -> (string)

Shorthand Syntax:


Where valid key names are:

JSON Syntax:

  {"Id": "string"

--copy-options (list)

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



"string" "string" ...

Where valid values are:

--idempotency-token (string)

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.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.


To copy a product

The following copy-product example makes a copy of the specified product, using a JSON file to pass parameters.

aws servicecatalog copy-product --cli-input-json file://copy-product-input.json

Contents of copy-product-input.json:

    "SourceProductArn": "arn:aws:catalog:us-west-2:123456789012:product/prod-tcabcd3syn2xy",
    "TargetProductName": "copy-of-myproduct",
    "CopyOptions": [


    "CopyProductToken": "copyproduct-abc5defgjkdji"


CopyProductToken -> (string)

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