2

我通过 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。我想这在 RevisionsArns 中?我应该在 DataSetArn 中放入什么,即输出中的“EntityArn” aws marketplace-catalog describe-entity --catalog AWSMarketplace --entity-id REDACTED

4

2 回答 2

0

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

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

您找到的示例并不一定意味着您必须拥有EntityArnand RevisionsArnsDetails构面用作描述更改细节的信息。

在这里检查。

于 2021-03-23T10:49:12.380 回答
0

结果我没有找到好的文档,我的最后一个链接是关于 AWS Data Exchange,其“详细信息”字段的内容令人困惑。

这里是相关文档:Marketplace catalog AMI add version,这是我正在寻找的片段

      "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\"
                    ]
                  }
                ]
              }
            }
          }
        ]
      }"
于 2021-03-24T14:22:59.190 回答