通过CLI自动化AWS Marketplace发布



我通过Hashicorp的Packer将我的产品作为AMI上传到AWS。现在,我想自动化最后一步,将其发布到市场上。该产品已经存在,只是添加了一个修订版。

阅读本文后,API_StartChangeSet文档,此添加修订版用户指南&摆弄市场控制台,我想我只需要

aws marketplace-catalog start-change-set --catalog AWSMarketplace --change-set-name "$VERSION" --change-set '[ {"ChangeType": "AddRevisions", "Entity": {"Identifier": "REDACTED@29","Type": "ServerProduct@1.0"}, "Details": "{"DataSetArn": "?????", "RevisionArns": ["?????"] }" ]'

我很难想出";细节";部分我有我的AMI id。我想RevisionsAns里有吧?我应该在DataSetArn中放入什么;EntityArn";从aws marketplace-catalog describe-entity --catalog AWSMarketplace --entity-id REDACTED的输出?

Details方面这里只是一个特定于产品类型的方面,编码为json字符串。对于您在AWS Marketplace中提供的AMI,它可能包括支持信息、地区可用性或任何其他提供有关您的更改的描述性文本的信息。例如:

"Details": "{"Description":{}, "PromotionalResources":{}, "RegionAvailability":{}, "SupportInformation":{}}",

您发现的示例并不一定意味着您必须具有EntityArnRevisionsArnsDetails方面用作描述更改细节的信息。

请在此处查看。

原来我没有找到好的文档,我的最后一个链接是关于AWS数据交换的;细节";菲尔德的内容令人困惑。

这里有相关的文档:Marketplace目录AMI添加版本,这是我在寻找的片段

"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"
]
}
]
}
}
}
]
}"