In this video you’ll see how to automate updates to your product listings in AWS Marketplace using Catalog API.
With this API, you can automate your publishing pipeline, reduce the manual effort to update listings on AWS Marketplace, and perform bulk updates more easily.
To use Catalog API to manage your product, you'll need to have a seller account and a product that has already been published in the AWS Marketplace.
Please see the seller guide link in the description below this video for more information.
For the purposes of this demonstration, this is our product detail page on AWS Marketplace that we want to modify.
To get started, we’ll navigate to the AWS Marketplace Management Portal for sellers.
From here, we’ll navigate to our server products.
Catalog API for AWS Marketplace is currently available for software packaged as single Amazon Machine Images (AMI) or containers.
Let’s select our AMI product and copy its product ID so we can use it when we make our API calls.
To call Catalog API, we will use AWS CloudShell, a browser-based shell with the AWS Command Line Interface (AWS CLI) pre-installed.
Catalog API is available in various AWS SDKs.
Please see the documentation link in the video description for more information.
Since we are already logged in to our seller account, AWS CloudShell will inherit the permissions to edit our product listings.
Let's set a variable to the product ID we copied earlier.
The first change we'll make to our product is to update its title and descriptions.
To do this, we'll call the StartChangeSet API.
However, before we can do that, we'll need to prepare our request parameters.
Let's set a variable to a JSON object that includes the new title and description.
Please find the link to the documentation for a full list of possible fields we can update.
Any omitted fields will default to the value in the latest version.
In order to use this JSON object in the StartChangeSet API request, we’ll need to convert it to a JSON string and set a variable to it.
We'll use a command line application called "jq" to stringify the JSON object.
Now, let's put it all together.
The change type for this StartChangeSet API request is "UpdateInformation".
We will include the variables for the product ID and the details property that includes the changes.
After we call the StartChangeSet API, the change will take some time.
We can call the DescribeChangeSet API to see the progress status using the change set ID outputted here.
Let’s copy its value.
Now, let’s call the DescribeChangeSet API and paste in the change set ID we copied.
When the change set status changes to "SUCCEEDED," we can see our changes immediately on our live product detail page in AWS Marketplace.
Let’s refresh the page.
As you can see, our title and short and long descriptions have been updated.
Next, let's add a new AMI version to our AMI product.
Back in AWS CloudShell, we’ll call the StartChangeSet API again, but this time with the change type "AddDeliveryOptions".
We’ll set a variable to the JSON object that includes the details of our new version, including usage instructions and other properties.
For a full list of properties for adding a new version, please visit the link to the Catalog API documentation in the description below.
As before, we’ll convert the object to a JSON string in order to use it in the StartChangeSet API request and set a variable to it.
Now, let's put it all together.
Again, the change set will take time.
Let’s check its status.
Right now, the change set status is “PREPARING,” so we’ll need to wait.
Let’s fast forward a bit.
Now that the change set status is “SUCCEEDED,” we can see our changes immediately on our live product detail page in AWS Marketplace.
Let's refresh the page.
We can now see that the latest version is 3.0.1.
Let’s continue to the subscription page and from there to the configuration page.
Notice that the software version defaults to 3.0.1, which is the one we just added.
The previous version is also available in the drop-down menu.
You can also use the StartChangeSet API for other types of changes,
such as to update details of a particular product version or to prevent new subscribers from launching to older versions.
You’ve just seen how to automate updates to your product listings in AWS Marketplace using Catalog API.
You can learn more about this topic in the description and links for this video.
Thanks for watching. Now it’s your turn to try.