Work with container-based products using the AWS Marketplace APIs
You can use the AWS Marketplace Catalog API to automate tasks for working with container-based products.
For information about creating a container-based product using the Catalog API, see Create a product.
The following topics describe how to use the Catalog API to perform actions on your container-based products:
Topics
Add a new version
If you already have a container-based product in AWS Marketplace, you can use the AWS Marketplace Catalog API to add a new version. This requires that you have already created repositories in AWS Marketplace for each container image or artifact that is part of your product, and that you can copy them from your local Docker and Helm files.
Note
For details about creating a container-based product using the AWS Marketplace Management Portal, see Getting started with container products in the AWS Marketplace Seller Guide.
For details about adding a new version, including creating repositories and building Docker and Helm files into those repositories, by using the AWS Marketplace Management Portal, see Add a new version of your product in the AWS Marketplace Seller Guide.
If you have not already created new repositories, you can create them using the Catalog API, see Create repositories and resources.
To add a new version, call the StartChangeSet
API operation with the
AddDeliveryOptions
change type, as shown in the following
example.
Note
A version of a container-based product is made up of one or more delivery
options. For example, you might have two delivery options, one that works with a
noSQL database, and another that works with MySQL, so that your users can choose
how they want to work with your product. You create the version of your product
and add multiple delivery options in a single request with
AddDeliveryOptions
.
Container Image Delivery Request Syntax
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "AWSMarketplace",
"ChangeSet":
[
{
"ChangeType": "AddDeliveryOptions",
"Entity":
{
"Identifier": "example1-abcd-1234-5ef6-7890abcdef12",
"Type": "ContainerProduct@1.0"
},
"DetailsDocument":
{
"Version":
{
"VersionTitle": "1.1",
"ReleaseNotes": "Minor bug fix"
},
"DeliveryOptions":
[
{
"DeliveryOptionTitle": "EKS Container image only delivery option",
"Details":
{
"EcrDeliveryOptionDetails":
{
"ContainerImages":
[
"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1"
],
"DeploymentResources":
[
{
"Name": "HelmDeploymentTemplate",
"Url": "111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1"
}
],
"CompatibleServices":
[
"EKS"
],
"Description": "Sample Description",
"UsageInstructions": "helm pull 111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1"
}
}
}
]
}
}
]
}
Helm Chart Delivery Request Syntax
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "AWSMarketplace",
"ChangeSet":
[
{
"ChangeType": "AddDeliveryOptions",
"Entity":
{
"Identifier": "example1-abcd-1234-5ef6-7890abcdef12",
"Type": "ContainerProduct@1.0"
},
"DetailsDocument":
{
"Version":
{
"VersionTitle": "1.1",
"ReleaseNotes": "Minor bug fix"
},
"DeliveryOptions":
[
{
"DeliveryOptionTitle": "HelmChartDeliveryOption",
"Details":
{
"HelmDeliveryOptionDetails":
{
"CompatibleServices":
[
"EKS",
"EKS-Anywhere"
],
"ContainerImages":
[
"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1"
],
"HelmChartUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1",
"Description": "Helm chart description",
"UsageInstructions": "Usage instructions",
"QuickLaunchEnabled": true,
"MarketplaceServiceAccountName": "Service account name",
"ReleaseName": "Optional release name",
"Namespace": "Optional Kubernetes namespace",
"OverrideParameters":
[
{
"Key": "HelmKeyName1",
"DefaultValue": "${AWSMP_LICENSE_SECRET}",
"Metadata":
{
"Label": "AWS CloudFormation template field label",
"Description": "AWS CloudFormation template field description",
"Obfuscate": false
}
},
{
"Key": "HelmKeyName2",
"DefaultValue": "${AWSMP_SERVICE_ACCOUNT}",
"Metadata":
{
"Label": "AWS CloudFormation template field label",
"Description": "AWS CloudFormation template field description",
"Obfuscate": false
}
}
]
}
}
}
]
}
}
]
}
Amazon EKS Add-On Delivery Request Syntax
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "AWSMarketplace",
"ChangeSet": [
{
"ChangeType": "AddDeliveryOptions",
"Entity": {
"Type": "ContainerProduct@1.0",
"Identifier": "$CreateProductChange.Entity.Identifier"
},
"DetailsDocument": {
"Version": {
"VersionTitle": "1.1",
"ReleaseNotes": "New Addon Release"
},
"DeliveryOptions": [
{
"DeliveryOptionTitle": "AWS Marketplace Test AddOn from CAPI 1",
"Visibility": "Limited",
"Details": {
"EksAddOnDeliveryOptionDetails": {
"ContainerImages": [
"111122223333.dkr.ecr.us-east-1.amazonaws.com/test-seller/canary-test-repo-product-6:mongo"
],
"HelmChartUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/rocket/rocket-product-helm:1.0",
"Description": "Description for delivery option provided by ISV",
"UsageInstructions": "Usage instructions with launch instructions",
"AddOnName": "aws-mp-test",
"AddOnVersion": "1.2.1",
"AddOnType": "networking",
"CompatibleKubernetesVersions": [
"1.25",
"1.26"
],
"SupportedArchitectures": [
"amd64",
"arm64"
],
"Namespace": "my-test-namespace",
"EnvironmentOverrideParameters": [
{
"Key": "cluster-name",
"Value": "${AWS_EKS_CLUSTER_NAME}"
},
{
"Key": "region-name",
"Value": "${AWS_REGION}"
}
]
}
}
}
]
},
"ChangeName": "PublishAddonNew"
}
]
}
Provide information for the fields to add the AddDeliveryOptions
change type:
-
Entity
(object) (required) – Your container-based product.-
Identifier
(string) (required) – Your product ID. For more information, see Identifier. -
Type
(string) (required) – TheType
is based on the delivery method (product type) that your product will be using:ContainerProduct@1.0
.
-
-
DetailsDocument
(object) (required) – Details of the request. It includes all the information about the version that you are adding. This field is a string field.-
Version
(object) – Details about the version that you are adding to your product.-
VersionTitle
(string) – The title of the version that you are creating. Typically this is a description of the version, likeVersion 1.1
or simply1.1
. Your buyers will be able to choose the version to deploy from a list of version titles. -
ReleaseNotes
(string) – The detailed notes about this version. Must be less than 30,000 characters.
-
-
DeliveryOptions
(array of objects) – An array of delivery options, where each is a method of delivery for your product version. For example, if you have one delivery option for Amazon Elastic Container Service (Amazon ECS) and another for Amazon Elastic Kubernetes Service (Amazon EKS), you will need to have two delivery options.-
DeliveryOptionTitle
(string) – A short description that helps your buyer to choose between your delivery options. -
Details
(object) – The resources used for this delivery option. This is a details field within the details field. You do not need to doubly escape characters in this field.-
AddOnName –
A unique add-on name that buyers will see in the Amazon EKS catalog. This name will add a prefix later using SellerAlias. For example, whereisv-alias_
is the ISV provided add-on name. -
AddOnType –
The type of add-on chosen from a list of supported values from Amazon EKS: Gitops | monitoring | logging | cert-management | policy-management | cost-management | autoscaling | storage | kubernetes-management | service-mesh | etcd-backup | ingress-service-type | load-balancer | local-registry| networking | Security | backup | ingress-controller | observability -
AddOnVersion –
A semantic version so that buyer can choose a specific version of AddOn they need to install or upgrade. -
CompatibleKubernetesVersions –
The Amazon EKS Kubernetes versions that this software is compatible with. -
CompatibleServices
(array of strings) – An array of services that the release is compatible with. Valid options areECS
andEKS
. -
ContainerImages
(array of strings) – An array of container image URLs used by this version. The path will be the repository that you have uploaded the image to, with the tag for the image used by this version. The list must include all needed images, even images that have not changed from previous versions. See the next section for information about creating repositories using the Catalog API. -
Description
(string) – A longer description of the delivery option to give details to your buyer. You can also include a link to more instructions provided elsewhere. -
EcrDeliveryOptionDetails –
DeploymentResources (array of objects) – An array of other resources needed for the version, such as Helm charts. Each resource includes aName
to describe it, and aURL
that points at the resource. -
EnvironmentOverrideParameters –
List of system parameters to be used by the add-on. Some of the ISV provided AddOn (HelmChart) might require configurations with information derived from the Amazon EKS execution environment state (/system information). For example, EksClusterRegion, EKSClusterName, and others. You can avoid additional actions from Buyer by dynamically substituting these values at Amazon EKS AddOn launch. Amazon EKS System already supports automatic substitutions of system param for addons. AWS Marketplace ISV experience can be extended to collect this params which would require substitution.The generic system information to be substituted can be indicated by providing a AWS Marketplace specified constant following convention similar to Helm substitution. The supported values are
${AWS_REGION}
and${AWS_EKS_CLUSTER_NAME}
."EnvironmentOverrideParameters" : [ { "Key" : "my-field.region" "Value" : "${AWS_REGION}" }, { "Key" : "my-second-field" "Value" : "${AWS_EKS_CLUSTER_NAME}" },
-
HelmDeliveryOptionDetails –
HelmChartUri (string) – The URL to the Helm chart hosted in Amazon ECR that the buyer will install to launch the software. -
HelmDeliveryOptionDetails –
QuickLaunchEnabled (boolean) – A boolean to determine if buyers can use QuickLaunch to launch the software. For more information about QuickLaunch, see QuickLaunch in AWS Marketplace. -
HelmDeliveryOptionDetails –
MarketplaceServiceAccountName (string) – Optional – The name of the Kubernetes service account. The service account will be used to connect to AWS Identity and Access Management (IAM) for permissions to call AWS services. -
HelmDeliveryOptionDetails –
ReleaseName (string) – Optional – The name for the Helm release provided to thehelm install
command that buyers use to launch the software. If not included, Helm will provide an automatically generated release name for you. -
HelmDeliveryOptionDetails –
Namespace (string) – Optional – The Kubernetes namespace where the Helm chart will be installed. -
HelmDeliveryOptionDetails –
OverrideParameters (array of objects) – Parameters that will be used in the Helm commands that launch the application. Buyers can override the default values.Note
For Amazon EKS Anywhere products, provide at least 1 override parameter for the license secret. Provide
DefaultValue
of"${AWSMP_LICENSE_SECRET}"
.For paid products, provide at least 1 override parameter for service account configuration. Provide
DefaultValue
of"${AWSMP_SERVICE_ACCOUNT}"
.-
Key
(string) – The key for the parameter in dot notation (override.example.key). -
DefaultValue
(string) – The default value for this override parameter. -
Metadata
(array of objects)– Required if QuickLaunchEnabled is set to true – An array of objects that include details about the override parameter, including AWS CloudFormation template information.-
Label
(string) – The name of the field in the AWS CloudFormation stack creation form that buyers use during QuickLaunch. -
Description
(string) – The description of the field in the AWS CloudFormation stack creation form that buyers use during QuickLaunch. -
Obfuscate
(boolean) – A boolean to determine if sensitive information such as secrets and passwords are masked in AWS CloudFormation consoles, commands, and APIs.
-
-
-
Namespace –
The ISV provided namespace for add-on installation. -
SupportedArchitectures –
The list of supported architectures, like amd64 and arm64. -
UsageInstructions
(string) – Provide instructions about the usage for this delivery option. Can be up to 4,000 characters.
-
-
-
Response Syntax
A change set is created for your request. The response to this request gives you
the ChangeSetId
and ChangeSetArn
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 container images and other information to ensure that it meets the AWS Marketplace guidelines for container products. This process can take a few minutes to hours, depending on the number and size of your containers.
You can check the status of the request through the AWS Marketplace Management Portal, or directly through
Catalog API using the DescribeChangeSet
API operation.
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.
Asynchronous Errors
The following errors are specific to AddDeliveryOptions
actions in
the AWS Marketplace Catalog API. These errors are returned when you call
DescribeChangeSet
after a change set is processing. For more
information about using DescribeChangeSet
to get the status of a change
request, see Working with change sets.
Error code | Error message |
---|---|
INCOMPATIBLE_PRODUCT_STATUS |
Use an existing limited or public product. |
INCOMPATIBLE_SERVICES |
The service list contains incompatible services. [incompatible_services] Provide a valid list of compatible services. |
NO_SERVICE_SPECIFIED |
Provide at least 1 compatible service. |
DUPLICATE_COMPATIBLE_AWS_SERVICES |
The service list contains duplicate entries. Remove them. Each entry must be unique. |
INVALID_VERSION_TITLE |
Remove spaces before the trademark symbol. |
INVALID_VERSION_TITLE |
Remove the following unsupported characters: [x, y, z] |
INVALID_VERSION_TITLE |
Remove spaces from the beginning of the version title. |
INVALID_VERSION_TITLE |
Provide version title with fewer than [x] characters. |
DUPLICATE_VERSION_TITLE |
The version title [duplicate_version_title] is a duplicate. Remove or change the title. |
INVALID_RELEASE_NOTES |
Remove spaces before the trademark symbol. |
INVALID_RELEASE_NOTES |
Remove unsupported characters: [x, y, z] |
INVALID_RELEASE_NOTES |
Remove spaces from the beginning of release notes. |
INVALID_RELEASE_NOTES |
Provide release notes with fewer than (x) characters. |
INVALID_USAGE_INSTRUCTIONS |
Remove spaces before the trademark symbol. |
INVALID_USAGE_INSTRUCTIONS |
Remove unsupported characters: [x, y, z] |
INVALID_USAGE_INSTRUCTIONS |
Provide usage instructions with fewer than (x) characters. |
INVALID_USAGE_INSTRUCTIONS |
Provide usage instructions. |
MISSING_CONTAINER_IMAGES |
Provide at least 1 container image. |
NO_LICENSE_SECRET_KEYS |
For Amazon EKS Anywhere products, provide 1 override parameter for
license secret. Needs DefaultValue of
"${AWSMP_LICENSE_SECRET}" , see example in section.
|
TOO_MANY_CONTAINER_IMAGES |
Provide fewer than 50 container images. |
DUPLICATE_CONTAINER_IMAGES |
The container image list contains duplicate images: [duplicate_images]. Provide a list with unique images. |
INVALID_CONTAINER_IMAGES |
Provide a valid URI for the container image. |
INVALID_CONTAINER_IMAGE_URI |
The image [invalid_image_uri] doesn't have access to this product. Upload the image to its corresponding product repository. For information about uploading, see Getting started with container products. |
INVALID_CONTAINER_IMAGE_TAG |
Avoid using 'latest' tag. |
DUPLICATE_DELIVERY_OPTION_TITLES |
Duplicate delivery option titles: [duplicate_titles]. Remove the duplicates |
INVALID_DELIVERY_OPTION_TITLES |
The delivery option titles [existing_titles] already exist. Provide a different title. |
INVALID_FULFILLMENT_OPTION_TITLE |
Provide delivery option title with fewer than (x) characters. |
NO_SERVICE_ACCOUNT_CONFIGURATION |
For paid products, provide 1 override parameter for service
account configuration. Needs DefaultValue of
"${AWSMP_SERVICE_ACCOUNT}" , see example in section.
|
INVALID_DETAILS |
Provided Details is not valid. |
EMPTY_RESOURCE_NAME |
Provide resource name. |
EMPTY_RESOURCE_URL |
Provide resource URL. |
INVALID_RESOURCE_NAME |
Provide resource name with fewer than 256 characters. |
INVALID_RESOURCE_URL |
Provide resource URL with fewer than 256 characters. |
INVALID_SHORT_DESCRIPTION |
Provide a short description with fewer than 1,000 characters. |
INVALID_SHORT_DESCRIPTION |
Provide short description. |
SCAN_ERROR |
Fix security vulnerability ""[y]"" on Image ""[x]"". |
IMAGE_NOT_FOUND |
The public image URI [invalid_image_uri] is invalid. Provide a valid URI. |
INVALID_ARN |
Provide a valid ARN for image access. |
IMAGE_INACCESSIBLE |
Provide a valid ARN for image access. |
DUPLICATE_ADDON_NAME |
The AddOn name you provided is already in use by a different product. Provide a different name. |
DUPLICATE_ADDON_VERSION |
The add-on version title [duplicate_version_title] is already in use. Provide a different title. |
INVALID_ADDON_TYPE |
The add-on types [invalid_types] are invalid. Provide a type from the supported list: [eks_addon_do_supported_types]. |
INVALID_KUBERNETES_VERSION |
The Kubernetes versions [invalid_versions] are invalid. Provide versions from the supported list: [eks_addon_do_supported_kubernetes_versions]. |
DUPLICATE_KUBERNETES_VERSIONS |
Duplicate Kubernetes versions: [duplicate_versions]. Provide a list with unique versions. |
INVALID_ARCHITECTURE |
The architectures [invalid_architectures] are invalid. Provide architectures from the Amazon EKS supported architectures : [eks_addon_do_supported_architectures]. |
DUPLICATE_SUPPORTED_ARCHITECTURES |
Duplicate architectures: [duplicate_architectures]. Provide a list of unique, supported architectures. |
INVALID_VISIBILITY_STATE |
The states [invalid_states] are invalid for the {EKS_DO} delivery option. Provide a valid visibility state from the following allowed values: Limited. |
INVALID_ENVIRONMENT_OVERRIDE_PARAMETER_VALUE |
The override parameter values [invalid_values] are invalid. Provide a valid value from the following list: [eks_addon_do_environment_override_parameter_values]. |
DUPLICATE_ENVIRONMENT_OVERRIDE_PARAMETER_KEY |
The environment override parameters contain duplicate keys: [duplicate_keys]. Remove them. |
TOO_MANY_EKS_ADDON_DELIVERY_OPTIONS |
Provide only one Amazon EKS add-on delivery option for the version. |
INCOMPATIBLE_ADDON_NAME |
The add-on name [provided_name] does not match the existing name. Reuse the existing name from the public version, or previous versions, of this add-on. You can only use one add-on name for each product. |
INCOMPATIBLE_ADDON_TYPE |
The add-on type [provided_type] does not match the existing type. Reuse the existing type from the public version, or previous versions, of this add-on. You can only use one add-on type for each product. |
INCOMPATIBLE_ADDON_NAMESPACE |
The add-on namespace [provided_namespace] does not match the existing namespace . Reuse the existing namespace from the public version, or previous versions, of this add-on. You can only use one add-on namespace for each product. |
INVALID_HELM_CHART_URI |
The Helm chart URI [invalid_uri] is invalid. Provide a URI in the SemVer 2 format. |
INCOMPATIBLE_HELM_OBJECTS(INVALID_HELM_OBJECTS) |
Provide a Helm chart without using the following unsupported Helm Objects: <unsupported-objects>. |
INVALID_DEPENDENT_HELM_CHARTS |
Provide a Helm chart that contains the following dependent charts directly in the parent chart directory and not externally sourced: <invalid-subcharts>. |
INVALID_HELM_SENSITIVE_CONFIG |
Provide an advanced configuration schema without sensitive information or secrets. Keywords: <sensitive-parameters-identified> |
INVALID_HELM_UNDECLARED_IMAGES |
Provide the following Helm chart images within the delivery option of the request: <list-of-images>. |
INVALID_HELM_CHART_IMAGES |
Provide a Helm chart containing images within repositories created via the AddRepositories change type. External images: <images-identified>. |
INVALID_HELM_LINT |
Provide a Helm chart that successfully passes Helm lint. |
INVALID_HELM_TEMPLATE |
Provide a Helm chart that successfully passes Helm template. |
INVALID_HELM_CHART |
Provide a Helm chart that adheres to AWS Marketplace guidance identified in Helm Charts bulleted list in the AWS Marketplace Seller Guide. |
INVALID_ADDON_NAME |
Provide an AddOn name that follows the following regex pattern: xx |
INVALID_ADDON_NAMESPACE |
The namespace values [invalid_namespaces] are invalid. The namespace must follow the {EKS_ADD_ON_NAMESPACE_REGEX} regular expression. For example, namespace, namespace-test. |
INVALID_ADDON_NAME_PATTERN |
Provide an add-on name that starts with a letter or digit, and then a combination of letters, digits, and hyphens. For example, test-addon, eksaddon |
INVALID_ADDON_VERSION_PATTERN |
Provide an add-on version using the following pattern: "<major>.<minor>.<patch>" (for example, 1.2.3, 0.1.2, 0.1.1) |
EMPTY_DELIVERY_OPTION_IDS |
Provide a list of delivery option IDs. |
INVALID_DELIVERY_OPTIONS_INPUT |
The list contains one or more invalid delivery options. Provide a valid list, and ensure that each option has a single delivery method. |
OVERRIDE_PARAMETER_KEYS_CONTAINS_SPECIAL_CHARS |
The override parameter keys [invalid_keys] contain invalid characters. You keys must use only letters, numbers, double quotes (“ ”) and plus signs (+). |
INVALID_CONTAINER_IMAGE_REPOSITORY |
The repositories [invalid_repositories] are invalid. Provide repositories created through the AddRepositories change type. |
INVALID_CONTAINER_IMAGE_TAG_FORMAT |
The container image tag [invalid_image_tag] is invalid. Provide a tag conforming to the {CONTAINER_IMAGE_TAG_REGEX} regular expression. |
DUPLICATE_OVERRIDE_PARAMETER_KEYS |
The override parameters contain duplicate keys [duplicate_keys]. Remove the duplicates. |
UNSUPPORTED_CONTAINER_IMAGE_URI |
The container image [unsupported_image] is unsupported. Provide an image that follows the https://docs.docker.com/registry/spec/manifest-v2-1/#example-manifest schema. |
DUPLICATE_REPOSITORY_NAMES |
Duplicate repository names: [duplicate_repo_names]. Provide unique names. |
INVALID_NAMESPACE |
The namespace values [invalid_namespaces] are invalid. Provide values that conform to the {HELM_RELEASE_PARAM_REGEX} regular expression. |
INVALID_RELEASE_NAME |
The releaseName values [invalid_release_names] are invalid. Provide values that conform to the {HELM_RELEASE_PARAM_REGEX} regular expression. |
OVERRIDE_PARAMETER_KEYS_CONTAINS_RESERVED_PARAMETER_KEYS |
The override parameter key for delivery option titles [invalid_keys] is reserved. Reserved keys: [reserved_param_keys]. Provide a different key. |
Update the visibility for an Amazon EKS add-on
You can use the Catalog API to update visibility for an Amazon EKS add-on delivery option of your product version in AWS Marketplace. Container and Helm delivery options for your container product are automatically created with ‘Public’ visibility status.
Note
The ability to update visibility of your product version is supported only for the Amazon EKS add-on delivery option from the listed versions. If your product isn't 'Public' already, submit a request to publish the product with 'Public' visibility status by using the AWS Marketplace Management Portal.
By default, when you create a version with the Amazon EKS add-on delivery option, it's
published in ‘Limited’ status. A ‘Limited’ status means the product isn't publicly
available across all the Regions for your buyers to use and deploy in an Amazon EKS
cluster. You can update the visibility of the delivery option from ‘Limited’ to
‘Public’ by calling the StartChangeSet
API operation with the
UpdateDeliveryOptionsVisibility
change type. Specify the
DeliveryOptions Id
from your product version that corresponds to
the Amazon EKS add-on delivery option.
Request Syntax
{ "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateDeliveryOptionsVisibility", "Entity": { "Identifier": "prod-example12345", "Type": "ContainerProduct@1.0" }, "DetailsDocument": { "DeliveryOptions": [ { "Id": "do-1234567891234567891234", "TargetVisibility": "Public" } ] } } ] }
To add the UpdateDeliveryOptionsVisibility
change type, provide
information for the following fields :
-
Entity
(object) (required) – Your container-based product.-
Identifier
(string) (required) – Your product ID. For more information, see Identifier. -
Type
(string) (required) – TheType
is based on the delivery method (product type) that your product uses:ContainerProduct@1.0
.
-
-
DetailsDocument
(object) (required) – Details of the request, including the information about the repositories that you want to create. The following fields are all required.-
DeliveryOptions
(list of objects) – List ofDeliveryOption
objects, including the details of each:-
Id
(string) – Unique identifier for theDeliveryOption
. (To get the unique identifier for theDeliveryOption
, call theDescribeEntity
action on the product that you're updating. -
TargetVisibility
– The intended new visibility of the product.
-
-
Response Syntax
A change set is created for your request. The response to this request gives you
the ChangeSetId
and ChangeSetArn
for the change
set.
{ "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 container images and other information to ensure that it meets the AWS Marketplace guidelines for container products. This process can take a few minutes to hours, depending on the number and size of your containers.
You can check the status of the request through the AWS Marketplace Management Portal, or through the
AWS Marketplace Catalog API by using the DescribeChangeSet
API operation.
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.
Asynchronous Errors
The following table shows errors that are specific to
AddDeliveryOptions
actions in the AWS Marketplace Catalog API. These errors are
returned when you call DescribeChangeSet
after a change set is
processing. For more information about using DescribeChangeSet
to get
the status of a change request, see Working with change sets.
Error code | Error message |
---|---|
EMPTY_DELIVERY_OPTION_IDS |
Provide a list of delivery option IDs. |
INVALID_VISIBILITY_STATE |
The TargetVisibility option you provided is not
supported. Please try again with an allowed option. The allowed
option(s) are: Public |
INVALID_DELIVERY_OPTION_IDS |
You provided invalid delivery option details. Provide delivery option IDs that can be found in the product. IDs not found: [x] |
DUPLICATE_DELIVERY_OPTION_IDS |
Duplicate delivery option IDs: [duplicate_ids]. Provide unique delivery option IDs. |
AUDIT_ERROR |
You haven't completed independent software vendor (ISV) testing for all compatible Amazon EKS cluster versions for your Amazon EKS add-on version(s). You must complete testing before we can release the delivery option(s). |
INVALID_DELIVERY_OPTION_TYPE |
The delivery option type you provided is not valid. Ensure that
your delivery option is of type: EksAddOn and try
again. |
INCOMPATIBLE_HELM_OBJECTS |
Provide a Helm chart without unsupported Helm Objects: Unsupported Helm objects are as follows: all Release objects (except .Name and .Namespace), Helm hooks, and lookup functions. |
INCOMPATIBLE_ADDON_NAME |
The add-on name [provided_name] does not match the public version name. Update the public name before releasing. |
NCOMPATIBLE_ADDON_TYPE |
The add-on types don't match. Reuse the existing add-on type from the public add-on version or previous add-on versions of this product. Only one add-on is supported for each product. |
INCOMPATIBLE_ADDON_NAMESPACE |
The provided add-on namespace [provided_namespace] does not match the public version namespace. Update the add-on namespace before releasing. |
Create repositories and resources
To create a new version of a container-based product, you must have the resources for the version available in AWS Marketplace repositories. You create the repositories and then push (upload) the Docker (and Helm) resources into the repositories. To learn how to create the repositories through the AWS Marketplace Management Portal, see Add a new version of your product in the AWS Marketplace Seller Guide.
To create new repositories, call StartChangeSet
with the
AddRepositories
change type, as shown in the following
example.
Request Syntax
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "AWSMarketplace",
"ChangeSet":
[
{
"ChangeType": "AddRepositories",
"Entity":
{
"Identifier": "example1-abcd-1234-5ef6-7890abcdef12",
"Type": "ContainerProduct@1.0"
},
"DetailsDocument":
{
"Repositories":
[
{
"RepositoryName": "new-repo-1",
"RepositoryType": "ECR"
},
{
"RepositoryName": "new-repo-2",
"RepositoryType": "ECR"
}
]
}
}
]
}
Provide information for the fields to add the AddRepositories
change
type:
For more information about creating repositories, see Adding a new version in the AWS Marketplace Seller Guide.
-
Entity (object) (required) – Your container-based product.
-
Identifier (string) (required) – Your product ID. For more information, see Identifier.
-
Type (string) (required) – The
Type
is based on the delivery method (product type) that your product will be using:ContainerProduct@1.0
.
-
-
DetailsDocument (object) (required) – Details of the request. It includes the information about the repositories that you want to create. The included fields are all required.
-
Repositories (array of structures) – A list of repository objects. Each repository object includes a name and type.
-
RepositoryName (string) – The name of the repository to create.
-
RepositoryType (string) – The type of the repository to create. The only allowed value is
ECR
.
-
-
Note
You can only have 50 repositories per product, although you can add multiple resources (and versions of resources) to a single repository by giving them different tags when you push them.
After you have created one or more repositories for your resources, you add your resources to the repositories. For general information about how to push resources to repositories, see Pushing an image in the Amazon Elastic Container Registry User Guide. For instructions about how to get the specific push commands needed for one of your repositories, see Adding a new version in the AWS Marketplace Seller Guide.
Asynchronous Errors
The following errors are specific to AddRepositories
actions in the
AWS Marketplace Catalog API. These errors are returned when you call DescribeChangeSet
after a change set is processing. For more information about using
DescribeChangeSet
to get the status of a change request, see Working with change sets.
Error code | Error message |
---|---|
INVALID_ECR_REPOSITORY_NAME |
Provide repository name in the format: 'nginx-web-app' |
DUPLICATE_ECR_REPOSITORY_NAME |
The repository [duplicate_repo_names] already exists. Choose a different name. |
MISSING_REPOSITORY_INFORMATION |
Provide at least 1 repository name. |
INVALID_ECR_REPOSITORY_NAME |
Maximum character length 256 reached. Character length count is inclusive of the seller namespace. |
Update version information
You can use the Catalog API to update the details of an existing version of your container-based product in AWS Marketplace.
Note
When a product is publicly available, you cannot update the version title, container images, delivery option title, or deployment resources for the version. If you need to update these aspects of a product, create a new version instead.
To update an existing version of your container-based product, call the
StartChangeSet
API operation with the
UpdateDeliveryOptions
change type, as shown in the following
example. This updates the detail information for the delivery options that you
specify, as well as the associated version. You must include at least one delivery
option.
Container Image Delivery Request Syntax
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog":"AWSMarketplace",
"ChangeSet":[
{
"ChangeType":"UpdateDeliveryOptions",
"Entity":{
"Identifier":"example1-abcd-1234-5ef6-7890abcdef12",
"Type":"ContainerProduct@1.0"
},
"DetailsDocument":{
"Version":{
"ReleaseNotes":"New release notes",
"VersionTitle":"Version 1.2"
},
"DeliveryOptions":[
{
"Id":"example4-2222-cccc-2222-cccccccccccc",
"Details":{
"EcrDeliveryOptionDetails":{
"DeliveryOptionTitle":"New Delivery Option Title",
"Description":"New description",
"UsageInstructions":"New usage instructions",
"CompatibleServices":[
"EKS"
]
}
}
}
]
}
}
]
}
Helm Chart Delivery Request Syntax
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog":"AWSMarketplace",
"ChangeSet":[
{
"ChangeType":"UpdateDeliveryOptions",
"Entity":{
"Identifier":"example1-abcd-1234-5ef6-7890abcdef12",
"Type":"ContainerProduct@1.0"
},
"DetailsDocument":{
"Version":{
"ReleaseNotes":"New release notes",
"VersionTitle":"Version 1.2"
},
"DeliveryOptions":[
{
"Id":"example5-2222-cccc-2222-cccccccccccc",
"Details":{
"HelmDeliveryOptionDetails":{
"DeliveryOptionTitle":"New Delivery Option Title",
"ContainerImages":[
"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/imagename:1.0"
],
"HelmChartUri":"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/helmname:1.0",
"CompatibleServices":[
"EKS-Anywhere"
],
"Description":"New description",
"UsageInstructions":"New usage instructions",
"MarketplaceServiceAccountName":"new-service-account-name",
"ReleaseName":"new-release-name",
"Namespace":"new-cluster-namespace",
"QuickLaunchEnabled":true,
"OverrideParameters":[
{
"Key":"new.parameter.key",
"DefaultValue":"New parameter default value",
"Metadata":{
"Label":"New metadata label",
"Description":"New metadata description",
"Obfuscate":false
}
}
]
}
}
}
]
}
}
]
}
Amazon EKS Add-On Delivery Request Syntax
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog":"AWSMarketplace",
"ChangeSet":[
{
"ChangeType":"UpdateDeliveryOptions",
"Entity":{
"Identifier":"example1-abcd-1234-5ef6-7890abcdef12",
"Type":"ContainerProduct@1.0"
},
"DetailsDocument":{
"Version":{
"ReleaseNotes":"New release notes",
"VersionTitle":"Version 1.2"
},
"DeliveryOptions":[
{
"Id":"example4-2222-cccc-2222-cccccccccccc",
"Details":{
"EksAddOnDeliveryOptionDetails":{
"ContainerImages":[
"709825985650.dkr.ecr.us-east-1.amazonaws.com/test-seller/canary-test-repo-product-6:mongo"
],
"Description":"Description for delivery option provided by ISV",
"UsageInstructions":"Usage instructions with launch instructions",
"HelmChartUri":"709825985650.dkr.ecr.us-east-1.amazonaws.com/rocket/rocket-product-helm:1.0",
"AddOnName":"aws-mp-test",
"AddOnVersion":"1.2.1",
"AddOnType":"networking",
"CompatibleKubernetesVersions":[
"1.19",
"1.20"
],
"SupportedArchitectures":[
"amd64",
"arm64"
],
"Namespace":"my-test-namespace",
"EnvironmentOverrideParameters":[
{
"Key":"my-field",
"Value":"${AWS_EKS_CLUSTER_NAME}"
}
]
}
}
}
]
}
}
]
}
Provide information for the fields to add the UpdateDeliveryOptions
change type:
For more information about these fields, see Adding a new version in the AWS Marketplace Seller Guide.
-
Entity (object) (required) – Your container-based product.
-
Identifier (string) (required) – Your product ID. For more information, see Identifier.
-
Type (string) (required) – The
Type
is based on the delivery method (product type) that your product will be using:ContainerProduct@1.0
.
-
-
DetailsDocument (object) (required) – Details of the request. It includes any information about the version of your container-based product that you would like to update. The included fields are all optional, but you must include at least one field to update.
-
Version (object) – Details about the software version.
-
VersionTitle (string) – The title of the version that you are creating. Typically this is a description of the version, such as
Version 1.1
or simply1.1
. Your buyers will be able to choose the version to deploy from a list of all version titles.This property can't be updated if the product is already published publicly.
-
ReleaseNotes (string) – Notes for buyers to tell them about changes from one version to the next.
-
-
DeliveryOptions (list 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 a delivery option. Note that this nested details object does not need to be double-escaped.
-
EcrDeliveryOptionDetails (object) – The details of the container image delivery option.
-
DeliveryOptionTitle (string) – A short description that allows your buyer to choose between your delivery options.
This property can't be updated if the product is already published publicly.
-
ContainerImages (array of strings) – An array of container image URLs used by this version. The path will be the repository that you have uploaded the image to, with the tag for the image used by this version. If this field is included, the list must include all needed images, even images that are not changing.
This property can't be updated if the product is already published publicly.
-
DeploymentResources (array of objects) – An array of other deployment resources needed for the version, such as links to Helm charts or other documentation. Each resource includes a name to describe it and a URL that points at the resource. On the launch page for your version, this displays as a list of links.
This property can't be updated if the product is already published publicly.
-
Name (string) – The text of the hyperlink that is shown to the buyer.
-
Url (string) – The URL of the hyperlink shown to the buyer.
-
-
CompatibleServices (array of strings) – A list of services that the release is compatible with. Valid options are
ECS
andEKS
. -
Description (string) – A longer description of the delivery option to give details to your buyer. You can also include a link to more instructions hosted elsewhere.
-
UsageInstructions (string) – Provide instructions on how to deploy and use your product. You can also add a link to usage instructions hosted elsewhere. Can be up to 4,000 characters.
-
-
-
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 a delivery option. Note that this nested details object does not need to be double-escaped.
-
HelmDeliveryOptionDetails (object) – The details of the Helm chart delivery option.
-
DeliveryOptionTitle (string) – A short description that allows your buyer to choose between your delivery options.
This property can't be updated if the product is already published publicly.
-
ContainerImages (array of strings) – An array of container image URLs used by this version. The path will be the repository that you have uploaded the image to, with the tag for the image used by this version. The list must include all needed images, even images that have not changed from previous versions. See the next section for information about creating repositories using the Catalog API.
-
HelmChartUri (string) – The URL to the Helm chart hosted in Amazon ECR that the buyer will install to launch the software.
-
CompatibleServices (array of strings) – An array of services that the release is compatible with. Valid options are
ECS
andEKS
. -
Description (string) – A longer description of the delivery option to give details to your buyer. You can also include a link to more instructions provided elsewhere.
-
UsageInstructions (string) – Provide instructions about the usage for this delivery option. Can be up to 4,000 characters.
-
MarketplaceServiceAccountName (string) – The name of the Kubernetes service account. The service account will be used to connect to AWS Identity and Access Management for permissions to call AWS services.
-
ReleaseName (string) – The name for the Helm release provided to the
helm install
command that buyers use to launch the software. -
Namespace (string) – The Kubernetes namespace where the Helm chart will be installed.
-
QuickLaunchEnabled (boolean) – A boolean to determine if buyers can use QuickLaunch to launch the software. For more information about QuickLaunch, see QuickLaunch in AWS Marketplace.
-
OverrideParameters (array of objects) – Parameters that will be used in the Helm commands that launch the application. Buyers can override the default values.
-
Key (string)– The key for the parameter in dot notation (override.example.key).
-
DefaultValue (string) – The default value for this override parameter.
-
Metadata (array of objects) – Only required if QuickLaunchEnabled is set to true – An array of objects that include details about the override parameter, including AWS CloudFormation template information.
-
Label (string) – The name of the field in the AWS CloudFormation stack creation form that buyers use during QuickLaunch.
-
Description (string) – The description of the field in the AWS CloudFormation stack creation form that buyers use during QuickLaunch.
-
Obfuscate (boolean) – A boolean to determine if sensitive information such as secrets and passwords are masked in AWS CloudFormation consoles, commands, and APIs.
-
-
-
-
-
-
Response Syntax
A change set is created for your request. The response to this request gives you
the ChangeSetId
and ChangeSetArn
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 container images and other information to ensure that it meets the AWS Marketplace guidelines for container products. This process can take a few minutes to hours, depending on the number and size of your containers.
You can check the status of the request through the AWS Marketplace Management Portal, or directly through
Catalog API using the DescribeChangeSet
API operation.
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.
Asynchronous Errors
The following errors are specific to UpdateDeliveryOptions
actions in
the AWS Marketplace Catalog API. These errors are returned when you call
DescribeChangeSet
after a change set is processing. For more
information about using DescribeChangeSet
to get the status of a change
request, see Working with change sets.
Error code | Error message |
---|---|
INCOMPATIBLE_PRODUCT_STATUS |
Use an existing limited or public product. |
INCOMPATIBLE_SERVICES |
The service list contains incompatible services. [incompatible_services] Provide a valid list of compatible services. |
NO_SERVICE_SPECIFIED |
Provide at least 1 compatible service. |
DUPLICATE_COMPATIBLE_AWS_SERVICES |
The service list contains duplicate entries. Remove them. Each entry must be unique. |
INVALID_VERSION_TITLE |
Remove spaces before the trademark symbol. |
INVALID_VERSION_TITLE |
Remove the following unsupported characters: [x, y, z] |
INVALID_VERSION_TITLE |
Remove spaces from the beginning of the version title. |
INVALID_VERSION_TITLE |
Provide version title with fewer than [x] characters. |
DUPLICATE_VERSION_TITLE |
The version title [duplicate_version_title] is a duplicate. Remove or change the title. |
INVALID_RELEASE_NOTES |
Remove spaces before the trademark symbol. |
INVALID_RELEASE_NOTES |
Remove unsupported characters: [x, y, z] |
INVALID_RELEASE_NOTES |
Remove spaces from the beginning of release notes. |
INVALID_RELEASE_NOTES |
Provide release notes with fewer than (x) characters. |
INVALID_USAGE_INSTRUCTIONS |
Remove spaces before the trademark symbol. |
INVALID_USAGE_INSTRUCTIONS |
Remove unsupported characters: [x, y, z] |
INVALID_USAGE_INSTRUCTIONS |
Provide usage instructions with fewer than (x) characters. |
INVALID_USAGE_INSTRUCTIONS |
Provide usage instructions. |
MISSING_CONTAINER_IMAGES |
Provide at least 1 container image. |
TOO_MANY_CONTAINER_IMAGES |
Provide fewer than 50 container images. |
DUPLICATE_CONTAINER_IMAGES |
The container image list contains duplicate images: [duplicate_images]. Provide a list with unique images. |
INVALID_CONTAINER_IMAGES |
Provide a valid URI for the container image. |
INVALID_CONTAINER_IMAGE_URI |
The image [invalid_image_uri] doesn't have access to this product. Upload the image to its corresponding product repository. For information about uploading, see Getting started with container products. |
INVALID_CONTAINER_IMAGE_TAG |
Avoid using 'latest' tag. |
MISSING_DELIVERY_OPTION_IDS |
Provide delivery option from existing list of Ids. |
EMPTY_DELIVERY_OPTION_IDS |
Provide non-empty list of delivery option IDs. |
DUPLICATE_DELIVERY_OPTION_IDS |
Duplicate delivery option IDs: [duplicate_ids]. Provide unique delivery option IDs. |
DUPLICATE_DELIVERY_OPTION_TITLES |
Duplicate delivery option titles: [duplicate_titles]. Remove the duplicates |
INVALID_DELIVERY_OPTION_TITLES |
The delivery option titles [existing_titles] already exist. Provide a different title. |
INVALID_FULFILLMENT_OPTION_TITLE |
Provide delivery option title with fewer than (x) characters. |
EMPTY_RESOURCE_NAME |
Provide resource name. |
EMPTY_RESOURCE_URL |
Provide resource URL. |
INVALID_RESOURCE_NAME |
Provide resource name with fewer than 256 characters. |
INVALID_RESOURCE_URL |
Provide resource URL with fewer than 256 characters. |
INVALID_SHORT_DESCRIPTION |
Provide a short description with fewer than 1,000 characters. |
INVALID_SHORT_DESCRIPTION |
Provide short description. |
NO_LICENSE_SECRET_KEYS |
For Amazon EKS Anywhere products, provide 1 override parameter for
license secret. Needs DefaultValue of
"${AWSMP_LICENSE_SECRET}" , see example in section.
|
NO_SERVICE_ACCOUNT_CONFIGURATION |
For paid products, provide 1 override parameter for service
account configuration. Needs DefaultValue of
"${AWSMP_SERVICE_ACCOUNT}" , see example in section.
|
SCAN_ERROR |
Fix security vulnerability ""[y]"" on Image ""[x]"". |
FIELD_NOT_ALLOWED_TO_CHANGE |
Field [x] cannot be changed. |
INVALID_DELIVERY_OPTIONS_STATUS |
The delivery option IDs [invalid_ids] are invalid. Provide delivery options in the limited or public state. |
NO_CHANGE_FOUND |
Provide at least 1 change. |
MULTIPLE_VERSION_UPDATE |
Provide delivery option IDs from the same version. |
OVERRIDE_PARAMETER_KEYS_CONTAINS_SPECIAL_CHARS |
The override parameter keys [invalid_keys] contain invalid characters. You keys must use only letters, numbers, double quotes (“ ”) and plus signs (+). |
INVALID_CONTAINER_IMAGE_REPOSITORY |
The repositories [invalid_repositories] are invalid. Provide repositories created through the AddRepositories change type. |
INVALID_CONTAINER_IMAGE_TAG_FORMAT |
The container image tag [invalid_image_tag] is invalid. Provide a tag conforming to the {CONTAINER_IMAGE_TAG_REGEX} regular expression. |
DUPLICATE_OVERRIDE_PARAMETER_KEYS |
The override parameters contain duplicate keys [duplicate_keys]. Remove the duplicates. |
UNSUPPORTED_CONTAINER_IMAGE_URI |
The container image [unsupported_image] is unsupported. Provide an image that follows the https://docs.docker.com/registry/spec/manifest-v2-1/#example-manifest schema. |
INVALID_NAMESPACE |
The namespace values [invalid_namespaces] are invalid. Provide values that conform to the {HELM_RELEASE_PARAM_REGEX} regular expression. |
INVALID_RELEASE_NAME |
The releaseName values [invalid_release_names] are invalid. Provide values that conform to the {HELM_RELEASE_PARAM_REGEX} regular expression. |
OVERRIDE_PARAMETER_KEYS_CONTAINS_RESERVED_PARAMETER_KEYS |
The override parameter key for delivery option titles [invalid_keys] is reserved. Reserved keys: [reserved_param_keys]. Provide a different key. |
INCOMPATIBLE_ADDON_NAME |
The add-on name [provided_name] does not match the existing name. Reuse the existing name from the public version, or previous versions, of this add-on. You can only use one add-on name for each product. |
INCOMPATIBLE_ADDON_NAMESPACE |
The add-on namespace [provided_namespace] does not match the existing namespace . Reuse the existing namespace from the public version, or previous versions, of this add-on. You can only use one add-on namespace for each product. |
Restrict a version
You can use the Catalog API to restrict a version of your container-based product in AWS Marketplace. This prevents new buyers from being able to use that version. There must be at least one publicly available version in a product. You cannot restrict the only remaining publicly available version for a product.
To restrict a version, call the StartChangeSet
API operation with the
RestrictDeliveryOptions
change type, as shown in the following
example.
Note
Restricting one or more, but not all, delivery options from a version will remove those options from being available to your buyers. Restricting all delivery options for a version will remove that version from the AWS Marketplace catalog.
Restricting an Amazon EKS add-on is currently not supported through the Catalog API.
Restricted versions are still available for existing customers.
Request Syntax
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "AWSMarketplace",
"ChangeSet":
[
{
"ChangeType": "RestrictDeliveryOptions",
"Entity":
{
"Identifier": "example1-abcd-1234-5ef6-7890abcdef12",
"Type": "ContainerProduct@1.0"
},
"DetailsDocument":
{
"DeliveryOptionIds":
[
"example1-2222-cccc-2222-cccccccccccc"
]
}
}
]
}
Provide information for the fields to add the RestrictDeliveryOptions
change type:
-
Entity (object) (required) – Your container-based product.
-
Identifier (string) (required) – Your product ID. For more information, see Identifier.
-
Type (string) (required) – The
Type
is based on the delivery method (product type) that your product will be using:ContainerProduct@1.0
.
-
-
DetailsDocument (object) (required) – Details of the request. It includes IDs for the delivery options of your container-based product that you would like to restrict.
-
DeliveryOptionIds (array of strings) – 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 product you are restricting.
-
Response Syntax
A change set is created for your request. The response to this request gives you
the ChangeSetId
and ChangeSetArn
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 directly through
Catalog API using the DescribeChangeSet
API operation.
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.
Asynchronous Errors
The following errors are specific to RestrictDeliveryOptions
actions
in the AWS Marketplace Catalog API. These errors are returned when you call
DescribeChangeSet
after a change set is processing. For more
information about using DescribeChangeSet
to get the status of a change
request, see Working with change sets.
Error code | Error message |
---|---|
INCOMPATIBLE_PRODUCT_STATUS |
Use a public product. |
MISSING_DELIVERY_OPTION_IDS |
Provide delivery option from existing list of IDs. |
INVALID_DELIVERY_OPTIONS_STATUS |
The delivery option IDs [invalid_ids] are invalid. Provide delivery options in the public state. |
EMPTY_DELIVERY_OPTION_IDS |
Provide non-empty list of delivery option IDs. |
INVALID_MINIMUM_PUBLIC_DELIVERY_OPTIONS |
Cannot restrict all delivery option IDs. |
DUPLICATE_DELIVERY_OPTION_IDS |
Duplicate delivery option IDs: [duplicate_ids]. Provide unique delivery option IDs. |