Working with single-AMI products
You can use the AWS Marketplace Catalog API to automate tasks for working with single Amazon Machine Image (AMI-based) products.
With the Catalog API, you can automate updating your existing AMI-based products. You can perform the following actions through the API:
-
Update product details
-
Add a new version
-
Update version information
-
Restrict a version
As a prerequisite for updating AMI-based products, you must have one or more existing AMI-based products, and you should be familiar with working with the AWS Marketplace Catalog API.
For details about creating an AMI product through the AWS Marketplace Management Portal, see Single-AMI products in the AWS Marketplace Seller Guide.
For a walk-through showing how to automate updating your AMI-based product, you can
also refer to the video,
Automating updates to your product listings in AWS Marketplace with Catalog API
Updating product details for an AMI-based product
If you already have an AMI-based product in AWS Marketplace, you can use the Catalog API to modify the product details.
You update product details by calling StartChangeSet
with the
UpdateInformation
change type and the details that you want to change,
as shown in the following example.
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "AWSMarketplace",
"ChangeSet": [
{
"ChangeType":"UpdateInformation",
"Entity":{
"Identifier":"example1-abcd-1234-5ef6-7890abcdef12
",
"Type":"AmiProduct@1.0"
},
"Details": "{
\"ProductTitle\": \"My Product Title
\",
\"ShortDescription\": \"My product short description.
\",
\"LongDescription\": \"My product longer description.
\",
\"Sku\": \"123example456
\",
\"SupportDescription\": \"Need help? Contact our experts at support@example.com \n\nYour purchase includes 24x7 support.\",
\"Categories\": [
\"Operating Systems\",
\"Network Infrastructure\",
\"Application Development\"
]
}"
}
]
}
This example has line wraps added for readability and will not work as-is. The
Details
attribute is a string, and it should be converted from a
JSON object to a string in your call to StartChangeSet
. In this case,
the string is "{ \"ProductTitle\": \"My Product Title\", \"ShortDescription\":
\"My product short description.\", \"LongDescription\": \"My product longer
description.\", \"Sku\": \"123example456\", \"SupportDescription\": \"Need help?
Contact our experts at support@example.com \n\nYour purchase includes 24x7
support.\", \"Categories\": [ \"Operating Systems\", \"Network Infrastructure\",
\"Application Development\" ] }"
. For more information, see Working with the Details
attribute.
The following is information about the input fields you provide for adding the
UpdateInformation
change type:
-
Entity (object) – Your AMI-based product. The
Identifier
is your product ID, and the type is alwaysAmiProduct@1.0
. For information about using the Identifier, see Identifier. -
Details (string) – Details of the request. It includes all the information you want to update for your product. Each field is optional, but you must include at least one change to update. This field is a string field. The string is JSON, but it must be formatted properly for a single-line string field, including escaping characters (such as quotation marks) that cannot directly be in a string. For more information, see Working with the Details attribute.
-
ProductTitle (string) – Name of the product to be displayed to buyers.
-
ShortDescription (string) – Description of key aspects of the product to be displayed to buyers. Typically 2–3 sentences.
-
LongDescription (string) – Longer description of your product to be displayed to buyers. Typically 1–3 paragraphs.
-
Sku (string) – A free-form string for you to define as a reference for your own use.
-
LogoUrl (string) – A URL to an image in a publicly accessible Amazon Simple Storage Service (Amazon S3) bucket. For more details about image formats, see Company and product logo requirements in the AWS Marketplace Seller Guide.
-
VideoUrls (array of strings) – A list of URLs to publicly available, externally hosted videos to be provided as a reference to buyers in your product information.
-
Highlights (array of strings) – A list of short callouts for key product features.
-
AdditionalResources (array of structures) – List of references to additional resources to learn about your product. Each reference is made up of a text name and a URL:
-
Text (string) – The name or title of the resource.
-
Url (string) – A URL to a resource that is helpful for a buyer to understand your product.
-
-
SupportDescription (string) – Details about your support offerings for your product.
-
Categories (array of strings) – A list of AWS Marketplace defined product categories that describe your product. For a list, see Product categories in the AWS Marketplace Seller Guide.
-
SearchKeywords (array of strings) – A list of additional keywords for your product for the search experience. Seller name, product name, and product categories are automatically included in search keywords and do not need to be repeated here.
-
A change set is created for your request. The response to this request gives you the ID for the change set and looks like the following.
{
"ChangeSetId": "example123456789012abcdef",
"ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
The change request is added to a queue and processed, including scanning the files and
information to ensure that it meets the AWS Marketplace guidelines for products. This process can
take a few minutes to hours. You can check the status of the request through the
AWS Marketplace Management Portal, or in the Catalog API with the DescribeChangeSet
action. For
more information about change sets, see Working with change sets. For more information about errors in
seller product change sets, see Change set status and errors.
Adding a new version to an AMI-based product
You can use the Catalog API to add a new version to an existing AMI-based product in AWS Marketplace. For more information about adding new AMI versions to your product using the AWS Marketplace Management Portal, see Adding a new version in the AWS Marketplace Seller Guide.
You add a new version in the Catalog API by calling StartChangeSet
with
the AddDeliveryOptions
change type for single-AMI products, as shown in the
following example.
For single-AMI products, a version is made up of a single delivery option, which is the AMI that you are making available. In the Catalog API, working with delivery options for single-AMI products modifies versions of your product.
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "AWSMarketplace",
"ChangeSet": [
{
"ChangeType":"AddDeliveryOptions",
"Entity":{
"Identifier":"example1-abcd-1234-5ef6-7890abcdef12
",
"Type":"AmiProduct@1.0"
},
"Details": "{
\"Version\": {
\"VersionTitle\": \"*My new title
*\",
\"ReleaseNotes\": \"*My new Release notes
*\"
},
\"DeliveryOptions\": [
{
\"Details\": {
\"AmiDeliveryOptionDetails\": {
\"AmiSource\": {
\"AmiId\": \"ami-1234567890abcdef
\",
\"AccessRoleArn\": \"arn:aws:iam::12345678901:role/AwsMarketplaceAmiIngestion
\",
\"UserName\": \"ec2-user
\",
\"OperatingSystemName\": \"AMAZONLINUX
\",
\"OperatingSystemVersion\": \"Amazon Linux 2 AMI 2.0.20210126.0 x86_64 HVM gp2
\"
},
\"UsageInstructions\": \"Easy to use AMI
\",
\"RecommendedInstanceType\": \"m4.xlarge
\",
\"SecurityGroups\": [
{
\"IpProtocol\": \"tcp
\",
\"FromPort\": 443
,
\"ToPort\": 443
,
\"IpRanges\": [
\"0.0.0.0/0
\"
]
}
]
}
}
}
]
}"
}
]
}
This example has line wraps added for readability and will not work as-is. The
Details
attribute is a string, and it should be converted from a
JSON object to a string in your call to StartChangeSet
. In this case,
the string is "{ \"Version\": { \"VersionTitle\": \"*My new title*\",
\"ReleaseNotes\": \"*My new Release notes*\" }, \"DeliveryOptions\": [
{\"Details\": { \"AmiDeliveryOptionDetails\": { \"AmiSource\": { \"AmiId\":
\"ami-1234567890abcdef\", \"AccessRoleArn\":
\"arn:aws:iam::12345678901:role/AwsMarketplaceAmiIngestion\", \"UserName\":
\"ec2-user\", \"OperatingSystemName\": \"AMAZONLINUX\",
\"OperatingSystemVersion\": \"Amazon Linux 2 AMI 2.0.20210126.0 x86_64 HVM gp2\"
}, \"UsageInstructions\": \"Easy to use AMI\", \"RecommendedInstanceType\":
\"m4.xlarge\", \"SecurityGroups\": [ { \"IpProtocol\": \"tcp\", \"FromPort\":
443, \"ToPort\": 443, \"IpRanges\": [ \"0.0.0.0/0\" ] } ] } } } ] }"
. For
more information, see Working with the Details
attribute.
The following is information about the input fields you provide for adding the
AddDeliveryOptions
change type. For more information about these
fields, see Adding a new version in the AWS Marketplace Seller Guide.
-
Entity (object) – Your AMI-based product. The
Identifier
is your product ID, and the type is alwaysAmiProduct@1.0
. For information about using the Identifier, see Identifier. -
Details (string) – Details of the request. It includes all the information about the new version of your AMI-based product. This field is a string field. The string is JSON, but it must be formatted properly for a single-line string field, including escaping characters (such as quotation marks) that cannot directly be in a string. For more information, see Working with the Details attribute.
-
Version (object) – Details about the software version you are adding. Made up of a title and release notes.
-
VersionTitle (string) – Unique name of the version. Displayed to end users in product details page and configuration pages for the product in AWS Marketplace.
-
ReleaseNotes (string) – Notes for buyers to tell them about changes from one version to the next.
-
-
DeliveryOptions (array) – List of
DeliveryOption
objects, including the details of each:-
Details (object) – Holds the details of an AMI delivery option. Note that this nested details object does not need to be double-escaped.
-
AmiDeliveryOptionDetails (object) – The details of one AMI delivery option.
-
AmiSource (object) – Details about the AMI to be used for the added version.
-
AmiId (string) – ID for the source AMI, located in the AWS Region where the API is being called (currently must always be US East (N. Virginia) because that is the only Region where the Catalog API is available). Must belong to the caller account.
-
AccessRoleArn (string) – IAM role Amazon Resource Name (ARN) used by AWS Marketplace to access the provided AMI. For details about creating and using this ARN, see Giving AWS Marketplace access to your AMI in the AWS Marketplace Seller Guide.
-
UserName (string) – Login user name to access the operating system (OS) in the AMI. Typically
ec2-user
for Linux AMIs orAdministrator
for Windows. -
ScanningPort (integer) – SSH or RDP port used to access the OS. Used for scanning the provided AMI for security vulnerabilities. Defaults to 22.
-
OperatingSystemName (string) – Name of the operating system displayed to buyers.
-
OperatingSystemVersion (string) – Operating system version string displayed to buyers.
-
-
UsageInstructions (string) – Instructions for using the AMI, or a link to more information about the AMI.
-
AccessEndpointUrl (object) – Used to create a path to access the AMI after it is used.
-
Port (string) – The port number used to access the service running on the AMI.
-
Protocol (string) – The protocol (
http
orhttps
) used to access the service running on the AMI. -
RelativePath (string) – The path from the web root to access the service running on the AMI (for example
/index.html
).
-
-
RecommendedInstanceType (string) – The instance type that is recommended to run the service with the AMI and is the default for 1-click installs of your service. For a list of instance types, see Instance types in the Amazon Elastic Compute Cloud User Guide for Linux Instances.
-
SecurityGroups (array of objects) – A list of objects representing ingress rules for the automatically created groups for the version.
-
FromPort (integer) – The source port.
-
IpProtocol (string) – The protocol to use (
tcp
orudp
). -
IpRanges (array of strings) – IP ranges to allow, in CIDR format (in the form xxx.xxx.xxx.xxx/nn, for example,
192.0.2.0/24
). -
ToPort (integer) – The destination port.
-
-
-
-
-
A change set is created for your request. The response to this request gives you the ID for the change set and looks like the following.
{
"ChangeSetId": "example123456789012abcdef",
"ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
The change request is added to a queue and processed, including scanning the files and
information to ensure that it meets the AWS Marketplace guidelines for AMI products. This process
can take a few minutes to hours. You can check the status of the request through the
AWS Marketplace Management Portal, or in the Catalog API with the DescribeChangeSet
action. For
more information about change sets, see Working with change sets. For more information about errors in
seller product change sets, see Change set status and errors.
When the request is complete, the version is added, and any existing subscribers will receive an email message telling them about the new version. For more information about the process of adding a new version, see Adding a new version in the AWS Marketplace Seller Guide.
Updating version information for an AMI-based product
You can use the Catalog API to update the details of an existing version of your AMI-based product in AWS Marketplace. For more information about updating version information using the AWS Marketplace Management Portal, see Updating version information in the AWS Marketplace Seller Guide. You cannot update the AMI for the version. If you need to update the AMI, create a new version instead.
You add a new version in the Catalog API by calling StartChangeSet
with
the UpdateDeliveryOptions
change type, as shown in the following
example.
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "AWSMarketplace",
"ChangeSet": [
{
"ChangeType":"UpdateDeliveryOptions",
"Entity":{
"Identifier":"example1-abcd-1234-5ef6-7890abcdef12
",
"Type":"AmiProduct@1.0"
},
"Details": "{
\"Version\": {
\"ReleaseNotes\": \"*My new Release notes
*\"
},
\"DeliveryOptions\": [
{
\"Id\": \"example1-2222-cccc-2222-cccccccccccc
\",
\"Details\": {
\"AmiDeliveryOptionDetails\": {
\"UsageInstructions\": \"Easy to use AMI
\"
}
}
}
]
}"
}
]
}
This example has line wraps added for readability and will not work as-is. The
Details
attribute is a string, and it should be converted from a
JSON object to a string in your call to StartChangeSet
. In this case,
the string is "{ \"Version\": { \"ReleaseNotes\": \"*My new Release notes*\"
}, \"DeliveryOptions\": [ { \"Id\": \"example1-2222-cccc-2222-cccccccccccc\",
\"Details\": { \"AmiDeliveryOptionDetails\": { \"UsageInstructions\": \"Easy to
use AMI\" } } } ] }"
. For more information, see Working with the Details
attribute.
The following is information about the input fields you provide for adding the
UpdateDeliveryOptions
change type. For more information about these
fields, see Updating version information in the AWS Marketplace Seller Guide.
-
Entity (object) – Your AMI-based product. The
Identifier
is your product ID, and the type is alwaysAmiProduct@1.0
. For information about using the Identifier, see Identifier. -
Details (string) – Details of the request. It includes any information about the version of your AMI-based product that you would like to update. This field is a string field. The string is JSON, but it must be formatted properly for a single-line string field, including escaping characters (such as quotation marks) that cannot directly be in a string. For more information, see Working with the Details attribute. The included fields are all optional, but you must include at least one field to update.
-
Version (object) – Details about the software version.
-
ReleaseNotes (string) – Notes for buyers to tell them about changes from one version to the next.
-
-
DeliveryOptions (array of objects) – List of
DeliveryOption
objects, including the details of each:-
Id (string) – Unique identifier for the
DeliveryOption
(you can get the unique identifier for theDeliveryOption
by calling theDescribeEntity
action on the product you are updating). -
Details (object) – Holds the details of an AMI delivery option. Note that this nested details object does not need to be double-escaped.
-
AmiDeliveryOptionDetails (object) – The details of one AMI delivery option.
-
UsageInstructions (string) – Instructions for using the AMI, or a link to more information about the AMI.
-
AccessEndpointUrl (object) – Used to create a path to access the AMI after it is used.
-
Port (string) – The port number used to access the service running on the AMI.
-
Protocol (string) – The protocol (
http
orhttps
) used to access the service running on the AMI. -
RelativePath (string) – The path from the web root to access the service running on the AMI (for example
/index.html
).
-
-
RecommendedInstanceType (string) – The instance type that is recommended to run the service with the AMI and is the default for 1-click installs of your service.
-
SecurityGroups (array of objects) – A list of objects representing ingress rules for the automatically created groups for the version:
-
FromPort (integer) – The source port.
-
IpProtocol (string) – The protocol to use (
tcp
oridp
). -
IpRanges (array of strings) – IP ranges to allow, in CIDR format (in the form xxx.xxx.xxx.xxx/nn, for example,
192.0.2.0/24
). -
ToPort (integer) – The destination port.
-
-
-
-
-
A change set is created for your request. The response to this request gives you the ID for the change set and looks like the following.
{
"ChangeSetId": "example123456789012abcdef",
"ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
The change request is added to a queue and processed, including scanning the
information to ensure that it meets the AWS Marketplace guidelines for AMI products. This process
can take a few minutes to hours. You can check the status of the request through the
AWS Marketplace Management Portal, or in the Catalog API with the DescribeChangeSet
action. For
more information about change sets, see Working with change sets. For more information about errors in
seller product change sets, see Change set status and errors.
Restricting a version of an AMI-based product
You can use the Catalog API to restrict a version of your AMI-based product in AWS Marketplace. This prevents new buyers from being able to use that version. There must always be at least one unrestricted version of a product available, so you cannot restrict the last publicly available version for a product. For more information about restricting AMI versions in AWS Marketplace via the AWS Marketplace Management Portal, see Restricting a version in the AWS Marketplace Seller Guide.
You restrict a version in the Catalog API by calling StartChangeSet
with
the RestrictDeliveryOptions
change type, as shown in the following
example.
Restricted versions are not shown to new buyers, but they are still available for existing customers.
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "AWSMarketplace",
"ChangeSet": [
{
"ChangeType":"RestrictDeliveryOptions",
"Entity":{
"Identifier":"example1-abcd-1234-5ef6-7890abcdef12
",
"Type":"AmiProduct@1.0"
},
"Details": "{ \"DeliveryOptionIds\": [ \"example1-2222-cccc-2222-cccccccccccc
\" ] }"
}
]
}
The following is information about the input fields you provide for adding the
RestrictDeliveryOptions
change type:
-
Entity (object) – Your AMI-based product. The
Identifier
is your product ID, and the type is alwaysAmiProduct@1.0
. For information about using the Identifier, see Identifier. -
Details (string) – Details of the request. It includes IDs for the versions of your AMI-based product that you would like to restrict. This field is a string field. The string is JSON, but it must be formatted properly for a single-line string field, including escaping characters (such as quotation marks) that cannot directly be in a string. For more information, see Working with the Details attribute.
-
DeliveryOptionIds (array of objects) – List of
DeliveryOption
IDs for the versions that you want to restrict. You can get the unique identifier for theDeliveryOption
by calling theDescribeEntity
action on the version you are restricting.
-
A change set is created for your request. The response to this request gives you the ID for the change set and looks like the following.
{
"ChangeSetId": "example123456789012abcdef",
"ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
The change request is added to a queue and processed. This process can take a few
minutes to hours. You can check the status of the request through the AWS Marketplace Management Portal, or in
the Catalog API with the DescribeChangeSet
action. For more information
about change sets, see Working with change sets. For more information about errors in
seller product change sets, see Change set status and errors.
Errors in the AMI products API
The following errors are specific to the AMI product actions in the AWS Marketplace Catalog API.
These errors are returned when you call DescribeChangeSet
after a change
set is processing. For more details about using DescribeChangeSet
to get
the status of a change request, see Working with change sets.
Change type | Error code | Error message |
---|---|---|
AddDeliveryOptions |
INVALID_PRODUCT |
Use an existing limited or public product. |
AddDeliveryOptions |
DUPLICATE_VERSION_TITLE |
The version title must be different from any other version titles of this product. |
AddDeliveryOptions |
INVALID_VERSION_TITLE |
Remove spaces before the trademark symbol. |
AddDeliveryOptions |
INVALID_VERSION_TITLE |
Remove unsupported characters: [x, y, z] |
AddDeliveryOptions |
INVALID_VERSION_TITLE |
Remove spaces from the beginning of the version title. |
AddDeliveryOptions |
INVALID_VERSION_TITLE |
Provide version title with fewer than [x] characters. |
AddDeliveryOptions |
INVALID_RELEASE_NOTES |
Remove spaces before the trademark symbol. |
AddDeliveryOptions |
INVALID_RELEASE_NOTES |
Remove unsupported characters: [x, y, z] |
AddDeliveryOptions |
INVALID_RELEASE_NOTES |
Remove spaces from the beginning of release notes. |
AddDeliveryOptions |
INVALID_RELEASE_NOTES |
Provide release notes with fewer than (x) characters. |
AddDeliveryOptions |
INVALID_USAGE_INSTRUCTIONS |
Remove spaces before the trademark symbol. |
AddDeliveryOptions |
INVALID_USAGE_INSTRUCTIONS |
Remove unsupported characters: [x, y, z] |
AddDeliveryOptions |
INVALID_USAGE_INSTRUCTIONS |
Remove spaces from the beginning of release notes. |
AddDeliveryOptions |
INVALID_USAGE_INSTRUCTIONS |
Provide usage instructions with fewer than (x) characters. |
AddDeliveryOptions |
RECOMMENDED_INSTANCE_TYPE_NOT_AVAILABLE |
Provide an existing, available instance type. |
AddDeliveryOptions |
INVALID_RECOMMENDED_INSTANCE_TYPE |
Provide a valid instance type. |
AddDeliveryOptions |
INVALID_SECURITY_GROUP |
Security group ports must be between 1 and [max]. |
AddDeliveryOptions |
INVALID_SECURITY_GROUP |
Provide a value for CIDR IP ranges. |
AddDeliveryOptions |
INVALID_SECURITY_GROUP |
Provide security group start port that is not greater than end port. |
AddDeliveryOptions |
INVALID_SECURITY_GROUP_PROTOCOL |
Security group protocol must either be ‘tcp’ or ‘udp’. |
AddDeliveryOptions |
INVALID_CIDR_IP |
Provide standard CIDR IP range in form '0.0.0.0/0'. |
AddDeliveryOptions |
INVALID_ACCESS_ENDPOINT_PORT |
Provide endpoint port less than [x]. |
AddDeliveryOptions |
INVALID_ACCESS_ENDPOINT_PORT |
Provide endpoint port between 1 and [max]. |
AddDeliveryOptions |
INVALID_ACCESS_ENDPOINT_PORT |
Provide endpoint port. |
AddDeliveryOptions |
INVALID_ACCESS_ENDPOINT_RELATIVE_PATH |
Remove spaces in the relative path. |
AddDeliveryOptions |
INVALID_ACCESS_ENDPOINT_RELATIVE_PATH |
Remove preceding '/' from relative path. |
AddDeliveryOptions |
INCOMPATIBLE_OPERATING_SYSTEM |
Provide operating system name and version that is compatible with instance types: [x] |
AddDeliveryOptions |
INCOMPATIBLE_OPERATING_SYSTEM_NAME |
Provide name with fewer than (x) characters. |
AddDeliveryOptions |
INCOMPATIBLE_OPERATING_SYSTEM_NAME |
Provide operating system name that is supported. |
AddDeliveryOptions |
INCOMPATIBLE_OPERATING_SYSTEM_VERSION |
Provide version with fewer than (x) characters. |
AddDeliveryOptions |
INVALID_SCANNING_PORT |
Provide scanning port between 1 and [max]. |
AddDeliveryOptions |
INVALID_AMI_ID |
Provide valid AMI ID. |
AddDeliveryOptions |
EXISTING_AMI_PRODUCT_CODE |
Remove product code attached to image X. |
AddDeliveryOptions |
INVALID_AMI_ARCHITECTURE |
Provide new AMI with architecture [x]. |
AddDeliveryOptions |
INVALID_AMI_VIRTUALIZATION_TYPE |
Provide new AMI with virtualization type [x]. |
AddDeliveryOptions |
INVALID_AMI_VIRTUALIZATION_TYPE |
Provide expected [z] volume on image [x]. |
AddDeliveryOptions |
INCOMPATIBLE_AMI |
Provide new AMI as architecture [x] on [y] is not supported by following instance types: [z] |
AddDeliveryOptions |
INCOMPATIBLE_AMI |
Provide new AMI as virtualization type [x] on [y] is not supported by following instance types: [z] |
AddDeliveryOptions |
INCOMPATIBLE_AMI |
Enable ENA support for image x because following instance types require ENA support: [y] |
AddDeliveryOptions |
ASSET_NOT_FOUND |
Check if [ami-id] exists in us-east-1 Region of [account-id]
AWS account and the |
AddDeliveryOptions |
ASSET_ACCESS_EXCEPTION |
Unable to copy AMI [x] into AWS Marketplace account. |
AddDeliveryOptions |
SCAN_ERROR |
Fix security vulnerability [y] on Image [x]. |
RestrictDeliveryOptions |
INVALID_PRODUCT |
Use an existing public product. |
RestrictDeliveryOptions |
MISSING_DELIVERY_OPTION_IDS |
Provide at least one delivery option ID. |
RestrictDeliveryOptions |
INVALID_DELIVERY_OPTION_IDS |
Provide delivery option IDs that can be found in the product. IDs not found: [x] |
RestrictDeliveryOptions |
INVALID_DELIVERY_OPTION |
Provide delivery option IDs that are in a public state. IDs not in public state: [x] |
RestrictDeliveryOptions |
ALL_DELIVERY_OPTIONS_RESTRICTED |
Provide fewer delivery options to restrict as at least one must remain in public state. |
UpdateDeliveryOptions |
INVALID_PRODUCT |
Use an existing limited or public product. |
UpdateDeliveryOptions |
MISSING_DELIVERY_OPTION_IDS |
Provide at least one delivery option ID. |
UpdateDeliveryOptions |
INVALID_DELIVERY_OPTION_IDS |
Provide delivery option IDs that can be found in the product. IDs not found: [x] |
UpdateDeliveryOptions |
INVALID_DELIVERY_OPTIONS |
Provide delivery option IDs that belong to the same version. |
UpdateInformation |
MISSING_UPDATES |
Nothing to update. Provide updated information for product. |
UpdateInformation |
MISSING_LOGO_URL |
Provide URL for logo stored in S3. |
UpdateInformation |
LOGO_COPY_FAILURE |
There was an issue copying the logo from S3. Provide a new URL for logo stored in S3. |
UpdateInformation |
INVALID_CATEGORY_NAMES |
Provide valid category names supported by AWS Marketplace. |
UpdateInformation |
INVALID_PRODUCT_TITLE |
Remove spaces before trademark symbol. |
UpdateInformation |
INVALID_PRODUCT_TITLE |
Remove unsupported characters [x, y, z]. |
UpdateInformation |
INVALID_SHORT_DESCRIPTION |
Remove spaces before trademark symbol. |
UpdateInformation |
INVALID_SHORT_DESCRIPTION |
Remove unsupported characters [x, y, z]. |
UpdateInformation |
INVALID_LONG_DESCRIPTION |
Remove spaces before trademark symbol. |
UpdateInformation |
INVALID_LONG_DESCRIPTION |
Remove unsupported characters [x, y, z]. |
UpdateInformation |
INVALID_SUPPORT_DESCRIPTION |
Remove spaces before trademark symbol. |
UpdateInformation |
INVALID_SUPPORT_DESCRIPTION |
Remove unsupported characters [x, y, z]. |
UpdateInformation |
INVALID_HIGHLIGHTS |
Remove spaces before trademark symbol. |
UpdateInformation |
INVALID_HIGHLIGHTS |
Remove unsupported characters [x, y, z]. |
UpdateInformation |
INVALID_ADDITIONAL_RESOURCES |
Remove spaces before trademark symbol. |
UpdateInformation |
INVALID_ADDITIONAL_RESOURCES |
Remove unsupported characters [x, y, z]. |
UpdateInformation |
INVALID_PRODUCT_CATEGORIES |
Provide between 1 and 3 product categories. |
UpdateInformation |
INVALID_IMAGE_PROPERTIES |
Provide an image that meets the product logo requirements. (link) |