

L'AWS Marketplace API Reference è stato ristrutturato. Per ulteriori informazioni sulle operazioni API supportate, consulta l'[AWS Marketplace API Reference](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di Marketplace AWS Catalogo API
<a name="catalog-apis"></a>

Il AWS Marketplace Catalog API servizio fornisce un'interfaccia API da gestire Marketplace AWS per la tua AWS organizzazione o Account AWS. Per i venditori approvati, puoi gestire i prodotti in modo programmatico, comprese le funzionalità di pubblicazione self-service su. [Portale di gestione Marketplace AWS](https://aws.amazon.com/marketplace/management) Per gli amministratori del marketplace privato, puoi gestire il tuo marketplace privato in modo programmatico.

Con le azioni dell'API Catalog, puoi visualizzare e aggiornare il prodotto esistente in modo programmatico. Puoi automatizzare il processo di aggiornamento del prodotto integrandolo AWS Marketplace Catalog API con le pipeline di sviluppo o distribuzione del Marketplace AWS prodotto. Puoi anche creare le tue applicazioni utilizzando l'API Catalog per gestire i tuoi prodotti. Marketplace AWS Puoi gestire i prodotti che gli utenti della tua Account AWS AWS organizzazione possono vedere e acquistare tramite il tuo marketplace privato.

Il AWS Marketplace Catalog API servizio fornisce funzionalità AWS API standard. Puoi utilizzare direttamente le azioni dell'API REST descritte in [Azioni](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_Operations.html) oppure puoi utilizzare un AWS SDK per accedere a un'API personalizzata per il linguaggio di programmazione o la piattaforma che stai utilizzando. Per ulteriori informazioni sullo sviluppo di AWS applicazioni, consulta [Getting Started with AWS](https://aws.amazon.com/getting-started/). Per ulteriori informazioni sull'uso degli AWS SDK, consulta [SDK AWS](https://aws.amazon.com/tools/#SDKs).

## Entità API del catalogo
<a name="catalog-api-entities"></a>

Marketplace AWS le entità sono contenitori di dati che servono a diversi scopi aziendali, come un prodotto o un'offerta. Le entità sono classificate per tipi. Ogni tipo di entità incapsula i dati relativi a un dominio aziendale specifico (ad esempio, un prodotto o un account venditore).

Per semplificare questo paradigma, le entità sono progettate con un certo livello di comunanza nelle loro strutture. Di conseguenza, l'introduzione di un nuovo dominio aziendale non richiede l'apprendimento di una struttura completamente nuova.

### Struttura generale
<a name="general-structure"></a>

La struttura generale di qualsiasi entità è:
+ Un tipo denominato con una versione
+ Un identificatore per l'istanza specifica del tipo
+ Una o più sfaccettature che includono gli attributi dell'entità

### Digita il controllo delle versioni
<a name="versioning"></a>

Ad ogni tipo denominato sono associati un tipo e una versione, `{{Entity}}Product@1.0` ad esempio. Il *tipo* ({{Entity}}Prodotto) rappresenta la classificazione del contenuto. La *versione* (1.0) rappresenta la struttura del {{Entity}} prodotto.

La versione fornisce dettagli sulla struttura dell'entità. Di seguito viene descritto quando verrà modificata una versione:
+ Le entità esistenti non verranno ristrutturate senza modificare la versione. L'aggiunta di nuovi campi opzionali comporterà un aggiornamento minore della versione.
+ Qualsiasi funzionalità che modifica radicalmente la struttura di un tipo comporta un aggiornamento importante della versione. Gli esempi includono:
  + Rimozione di un campo
  + Ridenominazione di un campo (nome diverso per la stessa semantica)
  + Modifica della semantica di un campo esistente (ad esempio, modifica del tipo previsto)
+ Un aggiornamento principale della versione può mantenere un sottoinsieme di sfaccettature della versione precedente. 
+ Agli utenti vengono fornite notifiche e documentazione per le nuove versioni.

### Identificatore
<a name="identifier"></a>

Ogni entità rappresenta un *elemento* unico all'interno di un dominio aziendale. Per identificare l'oggetto unico, utilizziamo un identificatore che associa un `EntityId` a`RevisionId`, {{prod-ad8EXAMPLE651}} ad esempio @. {{3}} In questo esempio, l'`EntityId`è `prod-ad8EXAMPLE651` e il `RevisionId` è. `3` Ogni richiesta di modifica andata a buon fine all'entità aggiornerà la revisione.

Di seguito sono riportati dettagli importanti sull'identificatore:
+ Ogni entità è identificata in modo univoco dal suo`EntityId`, che è la chiave per distinguere globalmente un'entità dall'altra.
+ Ogni revisione pubblicata di un'entità ha un. `RevisionId` Inoltre `RevisionId``EntityId`, distinguono una revisione pubblicata da un'altra.
+ Marketplace AWS genera `EntityId` s e `RevisionId` s.

È possibile utilizzare l'`DescribeEntity`azione per trovare i dettagli e l'identificatore più recenti`revisionId`.

`RevisionId`È una parte facoltativa delle richieste a `StartChangeSet` (vedi[Utilizzo dei set di modifiche](#working-with-change-sets)). Se includi a`RevisionId`, la richiesta a `StartChangeSet` avrà esito negativo con a `ValidationException` se non `RevisionId` è la revisione più recente dell'entità. Ciò consente di implementare il blocco ottimistico nell'applicazione.

**Nota**  
Quando ne includi una `RevisionId` che non è la revisione più recente, il `ValidationException` messaggio include l'ultima. `RevisionId`

Se si omette la`RevisionId`, la richiesta viene eseguita automaticamente sulla revisione più recente dell'entità.

**avvertimento**  
È possibile che due richieste di modifica dello stesso oggetto una richiesta sovrascriva le modifiche dell'altra richiesta, poiché la seconda richiesta riscrive i dati modificati dalla prima richiesta. L'utilizzo di `RevisionId` s nelle richieste previene questo problema impedendo che una modifica a una revisione precedente sovrascriva la revisione corrente.

### Facet
<a name="facets"></a>

Un facet è un raggruppamento logico di attributi. Un'entità include in genere diverse sfaccettature che rappresentano aspetti diversi dell'entità. Gli attributi all'interno di un facet hanno le seguenti proprietà:
+ Ogni attributo ha un nome univoco all'interno dell'ambito del contenitore a cui appartiene. 
+ Gli attributi possono essere di tipo semplice (stringa, numero intero o numero mobile).
+ Gli attributi possono essere di tipo complesso (container/structure o matrice).

### Tipo di entità
<a name="product-entity"></a>

Il tipo di entità definisce ciò che l'entità rappresenta. Un'entità può essere un prodotto venduto su un marketplace privato Marketplace AWS o un marketplace privato. Per ulteriori informazioni, consulta [Lavorare con i prodotti del venditore](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/seller-products.html) e [Lavorare con un marketplace privato](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/private-marketplace.html).

## Utilizzo dei set di modifiche
<a name="working-with-change-sets"></a>

Quando si utilizza l'API Catalog, le richieste vengono create e aggiornate tramite entità e completate utilizzando le richieste di modifica. Ogni modifica specifica l'entità da modificare, il tipo di modifica da eseguire e i dettagli della modifica. Il tipo di modifica da eseguire si chiama a`ChangeType`. Una raccolta di `ChangeType` s si chiama a`ChangeSet`.

 Esistono quattro azioni che consentono di lavorare con i set di modifiche: 
+  `StartChangeSet`— Richiede una serie di modifiche. Le modifiche vengono aggiunte a una coda ed elaborate. Per maggiori informazioni, consulta [Lavorare con i prodotti del venditore](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/seller-products.html) e [Lavorare con un marketplace privato](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/private-marketplace.html).
+  `DescribeChangeSet`— Ottiene i dettagli di una serie di modifiche, incluso lo stato della richiesta. Gli stati includono: 
  + `PREPARING`— Prepararsi ad applicare le modifiche.
  + `APPLYING`— In fase di apporto delle modifiche richieste.
  + `SUCCEEDED`— La richiesta è stata completata con successo.
  + `CANCELLED`— La richiesta è stata annullata dall'utente.
  + `FAILED`— La richiesta è stata completata senza successo. Ulteriori dettagli sono disponibili nella risposta.
+  `ListChangeSets`— Ottiene un elenco dei set di modifiche attualmente in corso. 
+  `CancelChangeSet`— Richiede l'annullamento di un set di modifiche. Le modifiche possono essere annullate solo mentre si trova nello stato. `PREPARING` 

 Un tipico flusso di lavoro consiste nel richiedere una modifica con `StartChangeSet` e quindi utilizzare il valore restituito `ChangeSetId` per controllare l'`DescribeChangeSet`azione fino al completamento della modifica.

Di seguito è riportato un esempio della `DescribeChangeSet` risposta.

```
{
  "ChangeSet":
  [
    {
      "ChangeName": "myChangeName",
      "ChangeType": "UpdateInformation",
      "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\"  ]}",
      "DetailsDocument":
      {
        "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"
        ]
      },
      "Entity":
      {
        "Identifier": "example1-abcd-1234-5ef6-7890abcdef12",
        "Type": "AmiProduct@1.0"
      },
      "ErrorDetailList":
      []
    }
  ],
  "ChangeSetArn": "arn:aws:aws-marketplace:[exampleARN]",
  "ChangeSetId": "example123456789012abcdef",
  "ChangeSetName": "myChangeSetName",
  "EndTime": "2023-03-03T00:00:00Z",
  "FailureCode": null,
  "FailureDescription": null,
  "StartTime": "2023-03-02T00:00:00Z",
  "Status": "SUCCEEDED"
}
```

**Nota**  
Quando si esegue il polling o si utilizza un set di modifiche a livello di codice, è necessario rispettare i limiti del servizio. Per ulteriori informazioni, consulta [Quote di servizio per Marketplace AWS Catalogo API](catalog-service-quotas.md).

Una volta completata la modifica, puoi usarla `ListEntities` per trovare l'entità che hai creato o modificato (e la relativa entità associata). `EntityID` Puoi quindi utilizzarla `DescribeEntity` con `EntityID` per ottenere dettagli al riguardo.

Per maggiori informazioni su come gestire le richieste di modifica nella console per i venditori, consulta [Creare una richiesta di modifica](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-creating-change-request) nella *Guida al Marketplace AWS venditore*. 

### Effettuare più richieste di modifica contemporaneamente
<a name="parallel-requests"></a>

All'interno di un **unico set di modifiche**, è possibile raggruppare tutti i tipi di modifiche ed eseguirli insieme. L'API Catalog è progettata per apportare più modifiche contemporaneamente per fornire le migliori prestazioni. I venditori e i partner di canale possono richiamare le modifiche `ChangeTypes` raggruppandone più di una in una. `ChangeSet` Puoi richiamare più modifiche su una o più entità all'interno della stessa entità. `ChangeSet` L'API del catalogo valuta l'ordine in cui devono essere applicate le modifiche e le apporta.

Tuttavia, se le richieste vengono effettuate come **set di modifiche separati**, non è Marketplace AWS possibile avviare richieste di modifica in conflitto sullo stesso prodotto. In questi casi, Marketplace AWS restituisce un `ResourceInUseException` errore.
+ Per modificare AMI e prodotti container, la maggior parte delle modifiche può essere apportata senza errori, con le seguenti eccezioni:
  + Se due richieste sono uguali `ChangeType` sullo stesso prodotto, la seconda richiesta restituisce un errore.
  + Se una richiesta riguarda l'aggiornamento delle informazioni sulla versione e l'altra la limitazione o l'aggiunta di una versione, la seconda richiesta restituisce un errore.
  + Se si tratta di una richiesta`PREPARING`, è possibile effettuare un'altra richiesta sullo stesso prodotto. Tuttavia, una modifica attualmente in vigore `APPLYING` può bloccare altre richieste, restituendo un errore.
+ Per altri tipi di prodotti e marketplace privati, puoi ricevere una sola richiesta per un prodotto alla volta. Se viene effettuata una richiesta diversa per aggiornare lo stesso prodotto mentre è in corso una prima richiesta, la seconda restituisce un errore.
+ Se c'è una richiesta per un prodotto in sospeso presso il team Operativo del Marketplace AWS venditore, qualsiasi altra richiesta relativa a quel prodotto restituisce un errore.

Se ricevi un `ResourceInUseException` errore relativo a una richiesta di modifica, puoi riprovare la richiesta in un secondo momento. A seconda dello stato della richiesta in corso, puoi anche annullare la prima richiesta, per consentire che la seconda richiesta inviata nuovamente venga completata prima.

### Richiamo di più tipi di modifiche in un unico set di modifiche
<a name="multiple-change-types"></a>

Puoi utilizzare l'API Catalog per combinare e concatenare fino a 20 modifiche in una `StartChangeSet` richiesta rivolta a una o più entità diverse. 

Un caso d'uso tipico consiste nel creare una `SaaSProduct@1.0` bozza di prodotto, una `Offer@1.0` bozza di offerta e anche inserire le informazioni sui metadati del prodotto e dell'offerta. Questa operazione viene eseguita includendo i seguenti quattro tipi di modifiche in un unico set di modifiche:
+ `CreateProduct` - `SaaSProduct@1.0`

  Specifica il parametro `ChangeName`. È quindi possibile fare riferimento al prodotto creato in questo tipo di modifica nello stesso set di modifiche mediante modifiche successive. 

  Ad esempio, `CreateProductChange`.
+ `UpdateInformation`sul `SaaSProduct@1.0` creato nello stesso set di modifiche

  Nel `Entity.Identifier` campo, puoi fare riferimento al prodotto creato dal tipo di `CreateProduct` modifica utilizzando il nome della modifica in questo formato: 

  `${ChangeName}.Entity.Identifier`

  Ad esempio, `$CreateProductChange.Entity.Identifier`.
+ `CreateOffer``Offer@1.0`è legato al `SaaSProduct@1.0` creato nello stesso set di modifiche

  Specifica il parametro `ChangeName`. È quindi possibile fare riferimento al prodotto creato con questo tipo di modifica nello stesso set di modifiche mediante modifiche successive. Ad esempio, `CreateOfferChange`.

  Per il `ProductId` parametro nel payload of `CreateOffer` change type, puoi anche fare riferimento al prodotto SaaS creato `CreateProduct` in change type utilizzando `${ChangeName}.Entity.Identifier` la sintassi.

  Ad esempio, `{"ProductId":"$CreateProductChange.Entity.Identifier"}`.
+ `UpdateInformation`sul `Offer@1.0` creato nello stesso set di modifiche

  Nel `Entity.Identifier` campo, puoi fare riferimento all'offerta creata dal tipo di `CreateOffer` modifica utilizzando il nome della modifica in questo formato:

  `${ChangeName}.Entity.Identifier`

  Ad esempio, `$CreateOfferChange.Entity.Identifier`.

Di seguito è riportato un esempio di set di modifiche combinato.

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "CreateProduct",
      "Entity": {
        "Type": "SaaSProduct@1.0"
      },
      "ChangeName": "CreateProductChange",
      "DetailsDocument": {}
    },
    {
      "ChangeType": "UpdateInformation",
      "Entity": {
        "Type": "SaaSProduct@1.0",
        "Identifier": "$CreateProductChange.Entity.Identifier"
      },
      "ChangeName": "UpdateProductInformationChange",
      "DetailsDocument": {
        "ProductTitle": "My Product Title",
        "ShortDescription": "My product short description.",
        "LongDescription": "My product longer description.",
        "Sku": "123example456",
        "LogoUrl": "https://s3.amazonaws.com/presigned-or-public-url-to-logo-stored-in-s3",
        "VideoUrls": [
          "https://example.com"
        ],
        "Highlights": [
          "123example45"
        ],
        "AdditionalResources": "123example456",
        "SupportDescription": "Need help? Contact our experts at support@example.com \n\nYour purchase includes 24x7 support.",        
        "Categories": [
          "Operating Systems",
          "Network Infrastructure",
          "Application Development"
        ],
        "SearchKeywords": [
          "123example45"
        ],
      }
    },
    {
      "ChangeType": "CreateOffer",
      "Entity": {
        "Type": "Offer@1.0"
      },
      "ChangeName": "CreateOfferChange",
      "DetailsDocument": {
        "ProductId": "$CreateProductChange.Entity.Identifier"
      }
    },
    {
      "ChangeType": "UpdateInformation",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "$CreateOfferChange.Entity.Identifier"
      },
      "DetailsDocument": {
        "Name": "Offer created together with SaaSProduct",
        "Description": "Test offer created together with SaaSProduct in the same Catalog API change set"
      }
    }
  ]
}
```

## Utilizzo dell'attributo `Details` (Legacy)
<a name="working-with-details"></a>

**Nota**  
Questa sezione descrive l'`Details`attributo legacy nella richiesta di modifica, che richiede una formattazione aggiuntiva per i dettagli della modifica. Si consiglia di utilizzare l'`DetailsDocument`attributo alternative. Non richiede alcuna formattazione aggiuntiva e non è necessario modificare i dettagli della modifica. Per esempi dell'`DetailsDocument`attributo, consulta [Lavorare con i prodotti del venditore](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/seller-products.html) e [Lavorare con un marketplace privato](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/private-marketplace.html).

L'`Details`attributo dell'`StartChangeSet`operazione è un valore di stringa. I suoi contenuti sono oggetti JSON. Per inserire un oggetto JSON in un attributo di stringa, è necessario convertire l'oggetto in una stringa a riga singola eliminando tutti i caratteri di controllo JSON e rimuovendo le interruzioni di riga.

Ad esempio, se utilizzi l'`StartChangeSet`operazione with per `UpdateProcurementPolicy` disabilitare le richieste degli utenti nel tuo marketplace privato, effettua una richiesta come la seguente.

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
   "Catalog": "AWSMarketplace",
   "ChangeSet": [ 
      { 
         "ChangeType": "UpdateProcurementPolicy",
         "Details": "{{<string>}}",
         "Entity": {
            "Type": "Experience@1.0",
            "Identifier" : "{{exp-1234example@5}}"
         }
      }
   ]
}
```

In questo caso, l'oggetto JSON che utilizzi per l'`Details`attributo è simile al seguente (prima della conversione in una stringa).

```
{
    "Configuration": {
        "PolicyResourceRequests": "Deny"
    }
}
```

Ma l'`Details`attributo richiede una stringa, non JSON. Dopo aver convertito questo oggetto JSON in una stringa a riga singola, ha il seguente aspetto.

```
"{\"Configuration\" : {\"PolicyResourceRequests\" : \"Deny\"}}"
```

Con questa stringa, è possibile creare la richiesta completa del set di modifiche, come segue.

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
   "Catalog": "AWSMarketplace",
   "ChangeSet": [ 
      { 
         "ChangeType": "UpdateProcurementPolicy",
         "Details": "{\"Configuration\" : {\"PolicyResourceRequests\" : \"Deny\"}}",
         "Entity": {
            "Type": "Experience@1.0",
            "Identifier" : "{{exp-1234example@5}}"
         }
      }
   ]
}
```

In genere, gli esempi in questo riferimento all'API mostrano l'oggetto JSON già convertito in una stringa. In alcuni casi, vengono inclusi esempi più complicati con nuove righe per migliorare la comprensione.

**Automatizza la conversione di JSON in una stringa**

La conversione di un oggetto JSON in una stringa può essere automatizzata utilizzando strumenti come [jq, un leggero processore JSON](https://stedolan.github.io/jq/) a riga di comando. L'esempio seguente mostra l'utilizzo `jq` per convertire un oggetto JSON in una stringa che può essere utilizzata nell'attributo. `Details`

```
DETAILS_JSON='{
  "ProductTitle": "My Product Title",
  "ShortDescription": "My product short description.",
  "LongDescription": "My product long description."
}';

DETAILS_JSON_STRING="$(echo "${DETAILS_JSON}" | jq 'tostring';)";
```

 Se fai eco`"${DETAILS_JSON_STRING}"`, il risultato è la seguente stringa con JSON correttamente escapitato: `{\"ProductTitle\":\"My Product\",\"ShortDescription\":\"My product short description.\",\"LongDescription\":\"My product long description.\"}`

## Utilizzo DescribeEntity per ottenere informazioni sulle entità
<a name="using-describe-entity"></a>

Puoi ottenere in modo programmatico informazioni sulle tue entità esistenti, compresi i prodotti e il marketplace privato, tramite l'API Catalog.

L'`ListEntities`azione restituisce un elenco di entità. Quindi, puoi utilizzare l'`DescribeEntity`azione per ottenere dettagli su una singola entità. Questo può essere direttamente utile, ad esempio, per catalogare i prodotti che vendi. Può anche essere utile quando si aggiornano le entità, poiché è possibile ottenere lo stato corrente dell'entità prima di aggiornare solo le parti che si desidera aggiornare.

L'esempio seguente mostra l'utilizzo `ListEntities` per ottenere un elenco di prodotti container e quindi l'utilizzo `DescribeEntity` per ottenere informazioni su uno dei prodotti specifici.

```
POST /ListEntities HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "EntityType": "ContainerProduct"
}
```

Per il tipo di entità, è necessario utilizzare il tipo di entità senza la versione. Restituisce tutte le entità di quel tipo (e non filtra in base alla versione).

Ecco un esempio della risposta all'`ListEntities`azione.

```
{
    "EntitySummaryList": [
        {
            "Name": "Container Product 1",
            "EntityType": "ContainerProduct",
            "EntityId": "example1-abcd-1234-5ef6-7890abcdef12",
            "EntityArn": "arn:aws:aws-marketplace:[exampleARN]",
            "LastModifiedDate": "2021-03-01T00:00:00Z",
            "Visibility": "Public"
        },
        {
            "Name": "Container Product 2",
            "EntityType": "ContainerProduct",
            "EntityId": "example2-abcd-1234-5ef6-7890abcdef12",
            "EntityArn": "arn:aws:aws-marketplace:[exampleARN]",
            "LastModifiedDate": "2021-03-02T00:00:00Z",
            "Visibility": "Public"
        }
    ],
    "NextToken": "exampleabcdef12345..."
}
```

Per ottenere i dettagli di uno di questi prodotti, utilizza l'`DescribeEntity`azione. L'esempio seguente mostra come ottenere dettagli sul primo prodotto restituito sopra.

```
GET /DescribeEntity?catalog=AWSMarketplace&entityId={{example1-abcd-1234-5ef6-7890abcdef12}} HTTP/1.1
```

Di seguito viene mostrata la risposta a`DescribeEntity`.

```
{
  "EntityType": "ContainerProduct@1.0",
  "EntityIdentifier": "example1-abcd-1234-5ef6-7890abcdef12@9",
  "EntityArn": "arn:aws:aws-marketplace:[exampleARN]",
  "LastModifiedDate": "2021-03-02T20:19:14Z",
  "Details": "{\"Versions\":[{\"Id\":\"example2-0000-aaaa-5ef6-7890abcdef12\",\"ReleaseNotes\":\"My release notes\",\"UpgradeInstructions\":\"N/A\",\"VersionTitle\":\"1.0\",\"CreationDate\":\"2021-03-02T00:00:00.000Z\",\"Sources\":[{\"Type\":\"DockerImages\",\"Id\":\"example3-1111-bbbb-5ef6-7890abcdef12\",\"Images\":[\"111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1:some-tag\"],\"Compatibility\":{\"Platform\":\"Linux\"}}],\"DeliveryOptions\":[{\"Id\":\"example4-2222-cccc-2222-cccccccccccc\",\"Type\":\"ElasticContainerRegistry\",\"SourceId\":\"example3-1111-bbbb-5ef6-7890abcdef12\",\"Title\":\"New delivery option 1\",\"ShortDescription\":\"Delivery option 1\",\"isRecommended\":false,\"Compatibility\":{\"AWSServices\":[\"ECS\",\"EKS\"]},\"Instructions\":{\"Usage\":\"test\"},\"Recommendations\":{\"AdditionalArtifacts\":[]},\"Visibility\":\"Limited\"}]}],\"Description\":{\"Highlights\":[\"Some highlight\"],\"LongDescription\":\"Description of my product\",\"ProductCode\":\"123456789012abcdef1234567\",\"Manufacturer\":null,\"Visibility\":\"Limited\",\"AssociatedProducts\":null,\"Sku\":null,\"SearchKeywords\":[\"some keyword\"],\"ProductTitle\":\"Container Product 1\",\"ShortDescription\":\"Description of my product\",\"Categories\":[\"Operating Systems\"]},\"PromotionalResources\":{\"LogoUrl\":\"https://awsmp-logos.s3.amazonaws.com/PLACEHOLDER_Logo_for_Containers_products.png\",\"AdditionalResources\":[],\"Videos\":[]},\"SupportInformation\":{\"Description\":\"Description of support information.\",\"Resources\":[]},\"RegionAvailability\":{\"Regions\":[\"ap-south-1\",\"eu-west-3\",\"eu-north-1\",\"eu-west-2\",\"eu-west-1\",\"ap-northeast-2\",\"ap-northeast-1\",\"me-south-1\",\"ca-central-1\",\"sa-east-1\",\"ap-east-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"eu-central-1\",\"us-east-1\",\"us-east-2\",\"us-west-1\",\"us-west-2\"],\"FutureRegionSupport\":null},\"Repositories\":[{\"Url\":\"111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1\",\"Type\":\"ECR\"}]}",
  "DetailsDocument":
  {
    "Versions":
    [
      {
        "Id": "example2-0000-aaaa-5ef6-7890abcdef12",
        "ReleaseNotes": "My release notes",
        "UpgradeInstructions": "N/A",
        "VersionTitle": "1.0",
        "CreationDate": "2021-03-02T00:00:00.000Z",
        "Sources":
        [
          {
            "Type": "DockerImages",
            "Id": "example3-1111-bbbb-5ef6-7890abcdef12",
            "Images":
            [
              "111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1:some-tag"
            ],
            "Compatibility":
            {
              "Platform": "Linux"
            }
          }
        ],
        "DeliveryOptions":
        [
          {
            "Id": "example4-2222-cccc-2222-cccccccccccc",
            "Type": "ElasticContainerRegistry",
            "SourceId": "example3-1111-bbbb-5ef6-7890abcdef12",
            "Title": "New delivery option 1",
            "ShortDescription": "Delivery option 1",
            "isRecommended": false,
            "Compatibility":
            {
              "AWSServices":
              [
                "ECS",
                "EKS"
              ]
            },
            "Instructions":
            {
              "Usage": "test"
            },
            "Recommendations":
            {
              "AdditionalArtifacts":
              []
            },
            "Visibility": "Limited"
          }
        ]
      }
    ],
    "Description":
    {
      "Highlights":
      [
        "Some highlight"
      ],
      "LongDescription": "Description of my product",
      "ProductCode": "123456789012abcdef1234567",
      "Manufacturer": null,
      "Visibility": "Limited",
      "AssociatedProducts": null,
      "Sku": null,
      "SearchKeywords":
      [
        "some keyword"
      ],
      "ProductTitle": "Container Product 1",
      "ShortDescription": "Description of my product",
      "Categories":
      [
        "Operating Systems"
      ]
    },
    "PromotionalResources":
    {
      "LogoUrl": "https://awsmp-logos.s3.amazonaws.com/PLACEHOLDER_Logo_for_Containers_products.png",
      "AdditionalResources":
      [],
      "Videos":
      []
    },
    "SupportInformation":
    {
      "Description": "Description of support information.",
      "Resources":
      []
    },
    "RegionAvailability":
    {
      "Regions":
      [
        "ap-south-1",
        "eu-west-3",
        "eu-north-1",
        "eu-west-2",
        "eu-west-1",
        "ap-northeast-2",
        "ap-northeast-1",
        "me-south-1",
        "ca-central-1",
        "sa-east-1",
        "ap-east-1",
        "ap-southeast-1",
        "ap-southeast-2",
        "eu-central-1",
        "us-east-1",
        "us-east-2",
        "us-west-1",
        "us-west-2"
      ],
      "FutureRegionSupport": null
    },
    "Repositories":
    [
      {
        "Url": "111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1",
        "Type": "ECR"
      }
    ]
  }
}
```

**Nota**  
L'`DetailsDocument`attributo contiene i dettagli dell'entità come oggetto JSON. L'`Details`attributo legacy contiene lo stesso oggetto JSON di una stringa.