[ aws . servicecatalog ]

create-product

Description

Creates a product.

A delegated admin is authorized to invoke this command.

The user or role that performs this operation must have the cloudformation:GetTemplate IAM policy permission. This policy permission is required when using the ImportFromPhysicalId template source in the information data section.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-product
[--accept-language <value>]
--name <value>
--owner <value>
[--description <value>]
[--distributor <value>]
[--support-description <value>]
[--support-email <value>]
[--support-url <value>]
--product-type <value>
[--tags <value>]
--provisioning-artifact-parameters <value>
[--idempotency-token <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--accept-language (string)

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

--name (string)

The name of the product.

--owner (string)

The owner of the product.

--description (string)

The description of the product.

--distributor (string)

The distributor of the product.

--support-description (string)

The support information about the product.

--support-email (string)

The contact email for product support.

--support-url (string)

The contact URL for product support.

^https?:\/\// / is the pattern used to validate SupportUrl.

--product-type (string)

The type of product.

Possible values:

  • CLOUD_FORMATION_TEMPLATE

  • MARKETPLACE

--tags (list)

One or more tags.

(structure)

Information about a tag. A tag is a key-value pair. Tags are propagated to the resources created when provisioning a product.

Key -> (string)

The tag key.

Value -> (string)

The value for this key.

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

[
  {
    "Key": "string",
    "Value": "string"
  }
  ...
]

--provisioning-artifact-parameters (structure)

The configuration of the provisioning artifact.

Name -> (string)

The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed.

Description -> (string)

The description of the provisioning artifact, including how it differs from the previous provisioning artifact.

Info -> (map)

Specify the template source with one of the following options, but not both. Keys accepted: [ LoadTemplateFromURL , ImportFromPhysicalId ]

The URL of the CloudFormation template in Amazon S3. Specify the URL in JSON format as follows:

"LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..."

ImportFromPhysicalId : The physical id of the resource that contains the template. Currently only supports CloudFormation stack arn. Specify the physical id in JSON format as follows: ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId]

key -> (string)

value -> (string)

Type -> (string)

The type of provisioning artifact.

  • CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template

  • MARKETPLACE_AMI - AWS Marketplace AMI

  • MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources

DisableTemplateValidation -> (boolean)

If set to true, AWS Service Catalog stops validating the specified provisioning artifact even if it is invalid.

Shorthand Syntax:

Name=string,Description=string,Info={KeyName1=string,KeyName2=string},Type=string,DisableTemplateValidation=boolean

JSON Syntax:

{
  "Name": "string",
  "Description": "string",
  "Info": {"string": "string"
    ...},
  "Type": "CLOUD_FORMATION_TEMPLATE"|"MARKETPLACE_AMI"|"MARKETPLACE_CAR",
  "DisableTemplateValidation": true|false
}

--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.

See ‘aws help’ for descriptions of global parameters.

Examples

To create a product

The following create-product example creates a product, using a JSON file to pass parameters.

aws servicecatalog create-product \
    --cli-input-json file://create-product-input.json

Contents of create-product-input.json:

{
    "AcceptLanguage": "en",
    "Name": "test-product",
    "Owner": "test-owner",
    "Description": "test-description",
    "Distributor": "test-distributor",
    "SupportDescription": "test-support",
    "SupportEmail": "test@amazon.com",
    "SupportUrl": "https://aws.amazon.com",
    "ProductType": "CLOUD_FORMATION_TEMPLATE",
    "Tags": [
        {
            "Key": "region",
            "Value": "iad"
        }
    ],
    "ProvisioningArtifactParameters": {
        "Name": "test-version-name",
        "Description": "test-version-description",
        "Info": {
            "LoadTemplateFromURL": "https://s3-us-west-1.amazonaws.com/cloudformation-templates-us-west-1/my-cfn-template.template"
        },
        "Type": "CLOUD_FORMATION_TEMPLATE"
    }
}

Output:

{
    "Tags": [
        {
            "Key": "region",
            "Value": "iad"
        }
    ],
    "ProductViewDetail": {
        "CreatedTime": 1576025036.0,
        "ProductARN": "arn:aws:catalog:us-west-2:1234568542028:product/prod-3p5abcdef3oyk",
        "Status": "CREATED",
        "ProductViewSummary": {
            "Type": "CLOUD_FORMATION_TEMPLATE",
            "Distributor": "test-distributor",
            "SupportUrl": "https://aws.amazon.com",
            "SupportEmail": "test@amazon.com",
            "Id": "prodview-abcd42wvx45um",
            "SupportDescription": "test-support",
            "ShortDescription": "test-description",
            "Owner": "test-owner",
            "Name": "test-product2",
            "HasDefaultPath": false,
            "ProductId": "prod-3p5abcdef3oyk"
        }
    },
    "ProvisioningArtifactDetail": {
        "CreatedTime": 1576025036.0,
        "Active": true,
        "Id": "pa-pq3p5lil12a34",
        "Description": "test-version-description",
        "Name": "test-version-name",
        "Type": "CLOUD_FORMATION_TEMPLATE"
    }
}

Output

ProductViewDetail -> (structure)

Information about the product view.

ProductViewSummary -> (structure)

Summary information about the product view.

Id -> (string)

The product view identifier.

ProductId -> (string)

The product identifier.

Name -> (string)

The name of the product.

Owner -> (string)

The owner of the product. Contact the product administrator for the significance of this value.

ShortDescription -> (string)

Short description of the product.

Type -> (string)

The product type. Contact the product administrator for the significance of this value. If this value is MARKETPLACE , the product was created by AWS Marketplace.

Distributor -> (string)

The distributor of the product. Contact the product administrator for the significance of this value.

HasDefaultPath -> (boolean)

Indicates whether the product has a default path. If the product does not have a default path, call ListLaunchPaths to disambiguate between paths. Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary can be used directly with DescribeProvisioningParameters .

SupportEmail -> (string)

The email contact information to obtain support for this Product.

SupportDescription -> (string)

The description of the support for this Product.

SupportUrl -> (string)

The URL information to obtain support for this Product.

Status -> (string)

The status of the product.

  • AVAILABLE - The product is ready for use.

  • CREATING - Product creation has started; the product is not ready for use.

  • FAILED - An action failed.

ProductARN -> (string)

The ARN of the product.

CreatedTime -> (timestamp)

The UTC time stamp of the creation time.

ProvisioningArtifactDetail -> (structure)

Information about the provisioning artifact.

Id -> (string)

The identifier of the provisioning artifact.

Name -> (string)

The name of the provisioning artifact.

Description -> (string)

The description of the provisioning artifact.

Type -> (string)

The type of provisioning artifact.

  • CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template

  • MARKETPLACE_AMI - AWS Marketplace AMI

  • MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources

CreatedTime -> (timestamp)

The UTC time stamp of the creation time.

Active -> (boolean)

Indicates whether the product version is active.

Guidance -> (string)

Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

Tags -> (list)

Information about the tags associated with the product.

(structure)

Information about a tag. A tag is a key-value pair. Tags are propagated to the resources created when provisioning a product.

Key -> (string)

The tag key.

Value -> (string)

The value for this key.