

Se reestructuró la referencia de API de AWS Marketplace. Para obtener más información sobre las operaciones de API compatibles, consulte la [referencia de API de AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Trabaja con AMI-based productos
<a name="work-with-single-ami-products"></a>

Puede utilizarla AWS Marketplace Catalog API para automatizar las tareas de trabajo con productos basados en Amazon Machine Image (AMI). 

Para obtener información sobre cómo crear un AMI-based producto mediante la API de catálogo, consulte[Cree un producto](work-with-seller-products.md#create-product).

En los siguientes temas se describe cómo utilizar la API de catálogo para realizar acciones en sus AMI-based productos:

**Topics**
+ [Agregar una nueva versión](#ami-add-version)
+ [Actualizar la información de la versión](#ami-update-version)
+ [Restringir una versión](#ami-restrict-version)
+ [Actualiza el futuro Región de AWS compatibilidad](#update-future-region-support)
+ [Agrega un compatible Región de AWS](#add-regions)
+ [Restrinja un Región de AWS](#restrict-regions)
+ [Agregar un nuevo tipo de instancia](#add-instance-types)
+ [Restrinja un tipo de instancia](#restrict-instance-types)

## Agregar una nueva versión
<a name="ami-add-version"></a>

Puedes usar la API de catálogo para añadir una nueva versión a un AMI-based producto existente en AWS Marketplace. Para obtener más información sobre cómo añadir nuevas versiones de AMI a tu producto mediante el AWS Marketplace Management Portal, consulta [Añadir una nueva versión](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-adding-version) en la *Guía del AWS Marketplace vendedor*.

 Cuando crea una solicitud que incluye la adición de una nueva AMI a AWS Marketplace, la AMI debe copiarse en el sistema AWS Marketplace y, a continuación, escanearse para detectar problemas de seguridad. Debe conceder a AWS Marketplace acceso a la AMI mediante la creación de un rol de AWS Identity and Access Management (IAM) con permisos para realizar acciones en la AMI. Para obtener más información sobre los permisos necesarios, consulte [Otorgar a AWS Marktplace acceso a su AMI](https://docs.aws.amazon.com/marketplace/latest/userguide/single-ami-marketplace-ami-access.html) en la Guía del *AWS Marketplace vendedor*.

Para añadir una nueva versión, llame a la operación de `StartChangeSet` API con el tipo de `AddDeliveryOptions` cambio para AMI-based los productos, como se muestra en el siguiente ejemplo. Para probar tu llamada a la API sin crear realmente una nueva versión, establece el `Intent` parámetro en`VALIDATE`. Para obtener más información, consulta [Intención](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_StartChangeSet.html#API_StartChangeSet_RequestBody).

**nota**  
En el caso de los productos AMI, una versión se compone de una o más opciones de entrega. Todas las opciones de entrega de la misma versión deben tener el mismo `AmiSource` objeto y los mismos detalles. Todas las opciones de entrega deben añadirse a una versión al crearla. No es posible añadir opciones de entrega a una versión existente.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "AddDeliveryOptions",
      "Entity":
      {
        "Type": "AmiProduct@1.0",
        "Identifier": "prod-example12345"
      },
      "DetailsDocument":
      {
        "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",
                  "AfiIds": ["afi-1234567890abcdefg", "afi-abcdefg1234567890"] //Optional (Required only for FPGA products)
                },
                "UsageInstructions": "Easy to use AMI",
                "RecommendedInstanceType": "m4.xlarge",
                "SecurityGroups":
                [
                  {
                    "IpProtocol": "tcp",
                    "FromPort": 443,
                    "ToPort": 443,
                    "IpRanges":
                    [
                      "0.0.0.0/0"
                    ]
                  }
                ]
              }
            }
          },
          {
            "DeliveryOptionTitle": "My new AMI with CFTdelivery option",
            "Details":
            {
              "DeploymentTemplateDeliveryOptionDetails":
              {
                "ShortDescription": "My new short description",
                "LongDescription": "My new long description",
                "UsageInstructions": "My new usage instructions",
                "RecommendedInstanceType": "m4.xlarge",
                "ArchitectureDiagram": "https://my-bucket.s3.amazonaws.com/my-folder/diagram.png",
                "Template": "https://my-bucket.s3.amazonaws.com/my-folder/cft.template",
                "TemplateSources":
                [
                  {
                    "ParameterName": "MyAmiParam",
                    "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"
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    }
  ],
  "Intent": "APPLY"
}
```

La siguiente lista proporciona información sobre los campos de entrada que se utilizan con el tipo de `AddDeliveryOptions` cambio. Todos los campos son obligatorios a menos que se indique lo contrario. Para obtener más información sobre estos campos, consulta [Cómo añadir una nueva versión](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-adding-version) en la Guía del AWS Marketplace vendedor.
+ **DeliveryOptions**(conjunto de objetos): una lista de los objetos de las opciones de entrega, incluidos los detalles de cada uno. Debe incluir al menos uno.
  + Para la opción de entrega *AMI (independiente)*, especifique un objeto con los siguientes detalles. Solo puede tener una opción de entrega con este tipo.
    + **Detalles** (objeto): contiene los detalles de esta opción de entrega. Tenga en cuenta que este objeto de detalles anidado no necesita tener un doble escape.
      + **AmiDeliveryOptionDetails**(objeto): se utiliza para proporcionar los detalles de cada opción de entrega de la AMI.
        + **AmiSource**(objeto): detalles sobre la AMI que se utilizará en la versión añadida.
          + **AmiId**(string): ID de la AMI de origen, ubicada en el Región de AWS lugar donde se llama a la API. Debe ser siempre EE. UU. Este (Norte de Virginia), ya que es la única región en la que está disponible la API del catálogo. Debe pertenecer a la cuenta de la persona que llama.
          + **AccessRoleArn**(cadena): rol de IAM y nombre de recurso de Amazon (ARN) que utiliza para acceder a la AMI AWS Marketplace proporcionada. Para obtener más información sobre la creación y el uso de este ARN, consulte Cómo [conceder acceso a AWS Marketplace a su AMI](https://docs.aws.amazon.com//marketplace/latest/userguide/ami-single-ami-products.html#single-ami-marketplace-ami-access) en la Guía del *AWS Marketplace vendedor*.
          + **UserName**(cadena): nombre de usuario de inicio de sesión para acceder al sistema operativo (SO) de la AMI. Normalmente, ec2-user para las AMI de Linux o Administrator para Windows.
          + **ScanningPort**(entero): puerto SSH o RDP utilizado para acceder al sistema operativo. Se utiliza para analizar la AMI proporcionada en busca de vulnerabilidades de seguridad. El valor predeterminado es 22.
          + **OperatingSystemName**(cadena): nombre del sistema operativo que se muestra a los compradores.
          + **OperatingSystemVersion**(cadena): cadena de versión del sistema operativo que se muestra a los compradores.
          + **AfiIds**(matriz de cadenas) (opcional): identificadores de imagen FPGA de Amazon (AFI) para habilitar la compatibilidad con FPGA en esta versión. Cuando se proporcionan, permiten que el producto se ejecute en tipos de instancias FPGA-enabled F2. Puede proporcionar hasta 15 ID de AFI por versión. Todos los ID de la AFI que proporcione deben provenir de la región Este de EE. UU. (Norte de Virginia), residir en la cuenta de vendedor de AWS Marketplace y el rol de acceso de IAM proporcionado debe tener permisos para compartir esta AFI con AWS Marketplace. Para obtener más información sobre los permisos necesarios, consulte Cómo conceder [acceso a AWS Marketplace a las imágenes de la FPGA](https://docs.aws.amazon.com/marketplace/latest/userguide/single-ami-marketplace-ami-access.html#single-ami-marketplace-afi-access) en la *Guía del AWS Marketplace vendedor*.
        + **UsageInstructions**(string): instrucciones para usar la AMI o un enlace a más información sobre la AMI.
        + **AccessEndpointUrl**(objeto) (opcional): se utiliza para crear una ruta de acceso a la AMI después de usarla.
          + **Puerto** (cadena): el número de puerto utilizado para acceder al servicio que se ejecuta en la AMI.
          + **Protocolo** (cadena): protocolo (http o https) utilizado para acceder al servicio que se ejecuta en la AMI.
          + **RelativePath**(cadena): la ruta desde la raíz web para acceder al servicio que se ejecuta en la AMI (por ejemplo, /index.html).
        + **RecommendedInstanceType**(string): el tipo de instancia que se recomienda para ejecutar el servicio con la AMI y que es el predeterminado para las instalaciones del servicio con 1 clic. Para obtener una lista de tipos de instancias, consulte [Tipos de instancias](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/instance-types.html) en la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Linux*.
        + **SecurityGroups**(matriz de objetos): lista de objetos que representan las reglas de ingreso de los grupos creados automáticamente para la versión.
          + **IpProtocol**(cadena): el protocolo que se va a utilizar (tcp o udp).
          + **FromPort**(integer): el puerto de origen.
          + **ToPort**(entero): el puerto de destino.
          + **IpRanges**(matriz de cadenas): rangos de IP permitidos, en formato CIDR (con el formato xxx.xxx.xxx). xxx/nn, por ejemplo,). {{192.0.2.0/24}}
  + Para *AMI con* opción de CloudFormation entrega, especifique un objeto con los siguientes detalles. Puede tener hasta tres opciones de entrega de este tipo.
    + **DeliveryOptionTitle**(string): título de la opción de entrega.
    + **Detalles** (objeto): contiene los detalles de una opción de entrega de AMI. Tenga en cuenta que este objeto de detalles anidado no necesita tener un doble escape.
      + **DeploymentTemplateDeliveryOptionDetails**(objeto): se utiliza para proporcionar los detalles de cada opción de entrega mediante CFT.
        + **ShortDescription**(cadena): breve descripción de la opción de entrega de la CloudFormation plantilla.
        + **LongDescription**(cadena): descripción detallada de la opción de entrega de la CloudFormation plantilla.
        + **UsageInstructions**(string): instrucciones para usar la AMI o un enlace a más información sobre la AMI.
        + **RecommendedInstanceType**(string): el tipo de instancia que se recomienda para ejecutar el servicio con la AMI y que es el predeterminado para las instalaciones del servicio con 1 clic. Para obtener una lista de tipos de instancias, consulte [Tipos de instancias](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/instance-types.html) en la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Linux*.
        + **ArchitectureDiagram**(string): URL de la ubicación del diagrama arquitectónico en Amazon S3. 
        + **Plantilla** (cadena): URL de la ubicación de la CloudFormation plantilla en Amazon S3. 
        + **TemplateSources**(matriz de objetos)
          + **ParameterName**(cadena): nombre del parámetro de la CloudFormation plantilla al que se debe pasar la AMI de esta versión. Para obtener más información, consulte [Requisitos para los detalles de la AMI](https://docs.aws.amazon.com//marketplace/latest/userguide/cloudformation.html#ami-requirements-sse).
          + **AmiSource**(objeto)
            + **AmiId**(string): ID de la AMI de origen, ubicada en el Región de AWS lugar donde se llama a la API (actualmente siempre debe ser EE. UU. Este (Norte de Virginia), ya que es la única región en la que está disponible la API de catálogo). Debe pertenecer a la cuenta de la persona que llama.
            + **AccessRoleArn**(cadena): rol de IAM y nombre de recurso de Amazon (ARN) que utiliza para acceder a la AMI Región de AWS proporcionada. Para obtener más información sobre la creación y el uso de este ARN, consulte Cómo [conceder acceso a AWS Marketplace a su AMI](https://docs.aws.amazon.com//marketplace/latest/userguide/ami-single-ami-products.html#single-ami-marketplace-ami-access) en la Guía del *AWS Marketplace vendedor*.
            + **UserName**(cadena): nombre de usuario de inicio de sesión para acceder al sistema operativo (SO) de la AMI. Normalmente, `ec2-user` para las AMI de Linux o `Administrator` para Windows.
            + **OperatingSystemName**(cadena): nombre del sistema operativo que se muestra a los compradores.
            + **OperatingSystemVersion**(cadena): cadena de versión del sistema operativo que se muestra a los compradores.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

```
{
  "ChangeSetId": "example123456789012abcdef",
   "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
```

La solicitud de cambio se agrega a una cola y se procesa. Esto incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

Puede comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal API del catálogo o directamente mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

Para obtener más información sobre los errores en los conjuntos de cambios de productos del vendedor, consulta[Cambia el estado y los errores del conjunto](work-with-seller-products.md#seller-product-change-set-errors).

Cuando se complete la solicitud, se añadirá la versión y los suscriptores actuales recibirán un mensaje de correo electrónico con información sobre la nueva versión. Para obtener más información sobre el proceso de añadir una nueva versión, consulta [Añadir una nueva versión](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-adding-version) en la *Guía del AWS Marketplace vendedor*.

**Errores asíncronos**

Los siguientes errores son específicos de las `AddDeliveryOptions` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error | Mensaje de error | 
| --- | --- | 
| NOMBRE\_AMI\_INVALIDO | El prefijo (x) del nombre de la AMI no es válido. Proporcione un nombre nuevo con el nombre de su empresa o marca como prefijo. | 
| PRODUCTO\_INVÁLIDO | Usa un producto público o limitado existente. | 
| DUPLICATE\_VERSION\_TITLE | El título de la versión debe ser diferente al de cualquier otro título de versión de este producto. | 
| TITLE\_DE\_VERSIÓN\_INVÁLIDO | Elimine los espacios antes del símbolo de la marca comercial. | 
| TITULO\_DE\_VERSIÓN\_INVALIDO | Eliminar caracteres no admitidos: [x, y, z] | 
| TÍTULO\_DE\_VERSIÓN NO VÁLIDO | Elimine los espacios del principio del título de la versión. | 
| TITLE\_DE\_VERSIÓN\_INVÁLIDO | Proporcione el título de la versión con menos de [x] caracteres. | 
| NOTAS DE PUBLICACIÓN NO VÁLIDAS | Elimine los espacios antes del símbolo de la marca comercial. | 
| INVALID\_RELEASE\_NOTES | Eliminar caracteres no admitidos: [x, y, z] | 
| NOTAS DE PUBLICACIÓN NO VÁLIDAS | Elimine los espacios del principio de las notas de la versión. | 
| NOTAS DE PUBLICACIÓN NO VÁLIDAS | Proporcione las notas de la versión con menos de (x) caracteres. | 
| INSTRUCCIONES\_DE\_USO INVÁLIDAS | Elimine los espacios antes del símbolo de la marca comercial. | 
| INSTRUCCIONES DE USO NO VÁLIDAS | Eliminar caracteres no admitidos: [x, y, z] | 
| INSTRUCCIONES\_DE\_USO INVÁLIDAS | Elimine los espacios del principio de las notas de la versión. | 
| INSTRUCCIONES\_DE\_USO INVÁLIDAS | Proporcione instrucciones de uso con menos de (x) caracteres. | 
| TIPO\_DE\_INSTANCIA RECOMENDADO\_NOT\_AVAILABLE | Proporcione un tipo de instancia existente y disponible. | 
| TIPO\_DE\_INSTANCIA\_RECOMENDADA NO VÁLIDO | Proporcione un tipo de instancia válido. | 
| INVALID\_SECURITY\_GROUP | Los puertos de los grupos de seguridad deben estar entre 1 y [max]. | 
| GRUPO\_DE\_SEGURIDAD NO VÁLIDO | Proporcione un valor para los rangos de IP del CIDR. | 
| GRUPO\_DE\_SEGURIDAD NO VÁLIDO | Proporcione el puerto de inicio del grupo de seguridad que no sea mayor que el puerto final. | 
| PROTOCOLO DE GRUPO DE SEGURIDAD NO VÁLIDO | El protocolo del grupo de seguridad debe ser «tcp» o «udp». | 
| INVALID\_CIDR\_IP | Proporcione un rango de IP CIDR estándar con el formato «0.0.0». 0/0'. | 
| INVALID\_ACCESS\_ENDPOINT\_PORT | Proporcione un puerto de punto final inferior a [x]. | 
| INVALID\_ACCESS\_ENDPOINT\_PORT | Proporcione un puerto de punto final entre 1 y [max]. | 
| INVALID\_ACCESS\_ENDPOINT\_PORT | Proporcione el puerto del punto final. | 
| INVÁLID\_ACCESS\_ENDPOINT\_RELATIVE\_PATH | Elimine los espacios de la ruta relativa. | 
| INVALID\_ACCESS\_ENDPOINT\_RELATIVE\_PATH | Elimine la '/' anterior de la ruta relativa. | 
| SISTEMA\_OPERATIVO\_INCOMPATIBLE | Proporcione el nombre y la versión del sistema operativo que sean compatibles con los tipos de instancia: [x] | 
| NOMBRE\_DE\_SISTEMA\_OPERATIVO INCOMPATIBLE\_DE\_SISTEMA OPERATIVO | Proporcione el nombre con menos de (x) caracteres. | 
| NOMBRE\_DE\_SISTEMA\_OPERATIVO INCOMPATIBLE\_DE\_SISTEMA OPERATIVO | Proporcione el nombre del sistema operativo compatible. | 
| VERSIÓN DEL SISTEMA OPERATIVO INCOMPATIBLE | Proporcione la versión con menos de (x) caracteres. | 
| PUERTO\_DE\_ESCANEADO NO VÁLIDO | Proporcione un puerto de escaneo entre 1 y [máx.]. | 
| ID\_AMI\_ID NO VÁLIDO | Proporcione un ID de AMI válido. | 
| AMI\_PRODUCT\_CODE EXISTENTE | Elimine el código de producto adjunto a la imagen X. | 
| INVALID\_AMI\_ARCHITECTURE | Proporcione una nueva AMI con arquitectura [x]. | 
| TIPO\_AMI\_VIRTUALIZATION\_INVALID\_INVALID\_AMI\_VIRTUALIZATION\_TYPE | Proporcione una nueva AMI con el tipo de virtualización [x]. | 
| TIPO\_AMI\_VIRTUALIZACIÓN\_INVÁLIDO | Indique el volumen [z] esperado en la imagen [x]. | 
| INCOMPATIBLE\_AMI | Proporcione una nueva AMI, ya que los siguientes tipos de instancias no admiten la arquitectura [x] en [y]: [z] | 
| INCOMPATIBLE\_AMI | Proporcione una nueva AMI, ya que los siguientes tipos de instancias no admiten el tipo de virtualización [x] en [y]: [z] | 
| INCOMPATIBLE\_AMI | Habilita la compatibilidad con ENA para la imagen x porque los siguientes tipos de instancias requieren la compatibilidad con ENA: [y] | 
| ASSET\_NOT\_FOUND | Compruebe si [ami-id] existe en la región us-east-1 de [account-id] Cuenta de AWS y si el [ARN] AccessARN proporcionado tiene permisos para compartir esta AMI. AWS Marketplace | 
| ASSET\_ACCESS\_EXCEPTION | No se puede copiar AMI [x] en la AWS Marketplace cuenta. | 
| SCAN\_ERROR | Corrige la vulnerabilidad de seguridad [y] en la imagen [x]. | 
| ASSET\_NOT\_FOUND | Comprueba si [afi-id] existe en la región us-east-1 de [account-id] Cuenta de AWS y si el [ARN] AccessARN proporcionado tiene permisos para compartir este AFI. AWS Marketplace | 
| ASSET\_ACCESS\_EXCEPTION | No se puede acceder a AFI. Compruebe si AccessARN proporcionado [ARN] tiene permisos para compartir esta AFI AWS Marketplace y si la cuenta de acceso es propietaria de la AFI. | 
| MISSING\_FPGA\_INSTANCE\_TYPE | No se encontró ningún tipo de instancia basada en FPGA. Use el tipo de AddInstanceTypes cambio para agregar un tipo de instancia basado en FPGA. | 

También puede crear un AMI-based producto con. AWS Marketplace Management Portal Para obtener más información, consulta [los productos AMI](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html) en la *Guía del AWS Marketplace vendedor*.

Si quieres ver un tutorial sobre cómo automatizar la actualización de tus AMI-based productos, también puedes consultar el vídeo sobre cómo [automatizar las actualizaciones de tus listados de productos AWS Marketplace con la API de catálogo](https://www.youtube.com/watch?v=7KpUJ6Wcqrg) (5:08).

## Actualizar la información de la versión
<a name="ami-update-version"></a>

Puedes usar la API de catálogo para actualizar los detalles de una versión existente de tu producto en. AMI-based AWS Marketplace

**nota**  
Para obtener más información sobre cómo actualizar la información de la versión mediante la AWS Marketplace Management Portal, consulta Cómo [actualizar la información de la versión](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-updating-version) en la *Guía del AWS Marketplace vendedor*. 

No puede actualizar la AMI para la versión. Si necesita actualizar la AMI, cree una nueva versión en su lugar.

Para agregar una nueva versión, llame a la operación de `StartChangeSet` API con el tipo de `UpdateDeliveryOptions` cambio, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateDeliveryOptions",
      "Entity":
      {
        "Identifier": "example1-abcd-1234-5ef6-7890abcdef12@1",
        "Type": "AmiProduct@1.0"
      },
      "DetailsDocument":
      {
        "Version":
        {
          "ReleaseNotes": "*My new Release notes*"
        },
        "DeliveryOptions":
        [
          {
            "Id": "example1-2222-cccc-2222-cccccccccccc",
            "Details":
            {
              "AmiDeliveryOptionDetails":
              {
                "UsageInstructions": "Easy to use AMI"
              }
            }
          },
          {
            "Id": "example1-2222-dddd-2222-dddddddddddd",
            "Details":
            {
              "DeploymentTemplateDeliveryOptionDetails":
              {work with ami
                "DeliveryOptionTitle": "My updated delivery option title",
                "UsageInstructions": "Updated usage instructions here."
              }
            }
          }
        ]
      }
    }
  ]
}
```

La siguiente es información sobre los campos de entrada que proporciona para agregar el tipo de `UpdateDeliveryOptions` cambio. Para obtener más información sobre estos campos, consulta Cómo [actualizar la información de la versión](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-updating-version) en la Guía del AWS Marketplace vendedor.
+ **Entidad** (objeto) (obligatorio): tu AMI-based producto. 
  + **Identificador** (cadena) (obligatorio): el identificador del producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + **Tipo** (cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`. 
+ **DetailsDocument**(objeto) (obligatorio): detalles de la solicitud. Incluye toda la información sobre la versión de su AMI-based producto que desee actualizar. Todos los campos incluidos son opcionales, pero debes incluir al menos un campo para actualizarlos.
  + **Versión** (objeto): detalles sobre la versión del software.
    + **ReleaseNotes**(cadena): notas para que los compradores les informen sobre los cambios de una versión a la siguiente. 
  + **DeliveryOptions**(conjunto de objetos): lista de objetos con opciones de entrega. Incluye solo las opciones de entrega que quieras actualizar.
    + Para la opción de entrega *AMI (independiente)*, especifique un objeto con los siguientes detalles. Incluya solo los campos que desee actualizar. Todos los campos son opcionales a menos que se indique lo contrario.
      + **ID** (cadena) (obligatorio): identificador único de la opción de entrega (puedes obtener el identificador único de la opción de entrega realizando la `DescribeEntity` acción correspondiente al producto que estás actualizando).
      + **Detalles** (objeto): contiene los detalles de una opción de entrega de AMI. Tenga en cuenta que este objeto de detalles anidado *no* necesita tener un doble escape.
        + **AmiDeliveryOptionDetails**(objeto): los detalles de una opción de entrega de AMI.
          + **UsageInstructions**(string): instrucciones para usar la AMI o un enlace a más información sobre la AMI.
          + **AccessEndpointUrl**(objeto): se utiliza para crear una ruta de acceso a la AMI después de usarla.
            + **Puerto** (cadena): el número de puerto utilizado para acceder al servicio que se ejecuta en la AMI.
            + **Protocolo** (cadena): el protocolo (`http`o`https`) utilizado para acceder al servicio que se ejecuta en la AMI.
            + **RelativePath**(cadena): la ruta desde la raíz web para acceder al servicio que se ejecuta en la AMI (por ejemplo{{/index.html}}).
          + **RecommendedInstanceType**(string): el tipo de instancia que se recomienda para ejecutar el servicio con la AMI y que es el predeterminado para las instalaciones del servicio con 1 clic.
          + **SecurityGroups**(matriz de objetos): lista de objetos que representan las reglas de entrada para los grupos creados automáticamente para la versión:
            + **FromPort**(entero): el puerto de origen.
            + **IpProtocol**(cadena): el protocolo que se va a utilizar (`tcp`o`idp`).
            + **IpRanges**(matriz de cadenas): rangos de IP permitidos, en formato CIDR (con el formato *xxx.xxx.xxx). xxx/nn*, por ejemplo,). {{192.0.2.0/24}}
            + **ToPort**(entero): el puerto de destino.
    + Para *AMI con* opción de CloudFormation entrega, especifique un objeto con los siguientes detalles. Incluya solo los campos que desee actualizar. Todos los campos son opcionales a menos que se indique lo contrario.
      + **ID** (cadena) (obligatorio): identificador único de la opción de entrega (puedes obtener el identificador único de la opción de entrega realizando la `DescribeEntity` acción correspondiente al producto que estás actualizando).
      + **Detalles** (objeto): contiene los detalles de una opción de entrega de AMI. Tenga en cuenta que este objeto de detalles anidado *no* necesita tener un doble escape.
        + **DeploymentTemplateDeliveryOptionDetails**(objeto): se utiliza para proporcionar los detalles de cada opción de entrega mediante CFT.
          + **DeliveryOptionTitle**(string): título de la opción de entrega.
          + **ShortDescription**(cadena): breve descripción de la opción de envío de la CloudFormation plantilla.
          + **LongDescription**(cadena): descripción detallada de la opción de entrega de la CloudFormation plantilla.
          + **UsageInstructions**(string): instrucciones para usar la AMI o un enlace a más información sobre la AMI.
          + **RecommendedInstanceType**(string): el tipo de instancia que se recomienda para ejecutar el servicio con la AMI y que es el predeterminado para las instalaciones del servicio con 1 clic. Para obtener una lista de tipos de instancias, consulte [Tipos de instancias](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/instance-types.html) en la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Linux*.
          + **ArchitectureDiagram**(string): URL de la ubicación del diagrama arquitectónico en Amazon S3. 
          + **Plantilla** (cadena): URL de la ubicación de la CloudFormation plantilla en Amazon S3. 
          + **TemplateSources**(matriz de objetos)
            + **ParameterName**(cadena): nombre del parámetro de la CloudFormation plantilla al que se debe pasar la AMI de esta versión. Para obtener más información, consulte [Requisitos para los detalles de la AMI](https://docs.aws.amazon.com//marketplace/latest/userguide/cloudformation.html#ami-requirements-sse).
            + **AmiSource**(objeto)
              + **AmiId**(string): ID de la AMI de origen, ubicada en el Región de AWS lugar donde se llama a la API (actualmente siempre debe ser EE. UU. Este (Norte de Virginia), ya que es la única región en la que está disponible la API de catálogo). Debe pertenecer a la cuenta de la persona que llama.
              + **AccessRoleArn**(cadena): rol de IAM y nombre de recurso de Amazon (ARN) que utiliza para acceder a la AMI Región de AWS proporcionada. Para obtener más información sobre la creación y el uso de este ARN, consulte Cómo [conceder acceso a AWS Marketplace a su AMI](https://docs.aws.amazon.com//marketplace/latest/userguide/ami-single-ami-products.html#single-ami-marketplace-ami-access) en la Guía del *AWS Marketplace vendedor*.
              + **UserName**(cadena): nombre de usuario de inicio de sesión para acceder al sistema operativo (SO) de la AMI. Normalmente, `ec2-user` para las AMI de Linux o `Administrator` para Windows.
              + **OperatingSystemName**(cadena): nombre del sistema operativo que se muestra a los compradores.
              + **OperatingSystemVersion**(cadena): cadena de versión del sistema operativo que se muestra a los compradores.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

```
{
  "ChangeSetId": "example123456789012abcdef",
   "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
```

La solicitud de cambio se agrega a una cola y se procesa. Esto incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

Puede comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal API del catálogo o directamente mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

Para obtener más información sobre los conjuntos de cambios, consulte [Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets). Para obtener más información sobre los errores en los conjuntos de cambios de productos del vendedor, consulta[Cambia el estado y los errores del conjunto](work-with-seller-products.md#seller-product-change-set-errors).

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateDeliveryOptions` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).

Puede recuperar `UpdatePricingTerms` las acciones mediante la `DescribeChangeSet` operación una vez que el conjunto de cambios comience a procesarse. Para obtener más información sobre los detalles del error y la solución de problemas[Cambia el estado y los errores del conjunto](work-with-seller-products.md#seller-product-change-set-errors), consulte la sección anterior de esta guía.


| Código de error | Mensaje de error | 
| --- | --- | 
| PRODUCTO\_INVÁLIDO | Usa un producto público o limitado existente. | 
| MISSING\_DELIVERY\_OPTION\_IDS | Proporciona al menos un identificador de opción de entrega. | 
| ID\_DELIVERY\_OPTION\_IDS NO VÁLIDOS | Proporciona los identificadores de las opciones de envío que se encuentran en el producto. No se encontraron los identificadores: [x] | 
| OPCIONES\_DE\_ENTREGA INVÁLIDAS | Proporcione los identificadores de las opciones de entrega que pertenezcan a la misma versión. | 

## Restringir una versión
<a name="ami-restrict-version"></a>

Puedes usar la API del catálogo para restringir una versión de tu AMI-based producto. Esto impide que los nuevos compradores usen esa versión, pero la mantiene disponible para los compradores existentes. Si se restringen todas las opciones de entrega de una versión, se restringe la versión. Al restringir una o más opciones de entrega de una versión, pero no todas, solo se restringen las opciones de entrega de esa versión. Siempre debes tener disponible al menos una versión no restringida de un producto, por lo que no puedes restringir la última versión de un producto disponible públicamente.

**nota**  
Para obtener más información sobre cómo restringir las versiones de AMI AWS Marketplace a través de AWS Marketplace Management Portal, consulta [Restringir una versión](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-restricting-version) en la *Guía del AWS Marketplace vendedor*.

Para restringir una versión, llama a la operación de la `StartChangeSet` API con el tipo de `RestrictDeliveryOptions` cambio, como se muestra en el siguiente ejemplo.

**nota**  
Todos los suscriptores pueden usar la versión actual independientemente del estado de la restricción. AWS Marketplace Las normas exigen que sigas ofreciendo asistencia a los compradores actuales durante 90 días después de restringir la versión. Su AMI se marcará como obsoleta cuando se restrinja la versión. Para obtener más información, consulte [Dar de baja una AM](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ami-deprecate.html) en la *Guía del usuario de Amazon Elastic Compute Cloud para instancias de Windows *.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "RestrictDeliveryOptions",
      "Entity":
      {
        "Identifier": "{{example1-abcd-1234-5ef6-7890abcdef12@1}}",
        "Type": "AmiProduct@1.0"
      },
      "DetailsDocument":
      {
        "DeliveryOptionIds":
        [
          "{{example1-2222-cccc-2222-cccccccccccc}}"
        ]
      }
    }
  ]
}
```

A continuación se incluye información sobre los campos de entrada que se proporcionan para añadir el tipo de `RestrictDeliveryOptions` cambio:
+ **Entidad** (objeto) (obligatorio): tu AMI-based producto. 
  + **Identificador** (cadena) (obligatorio): el identificador del producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + **Tipo** (cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`. 
+ **DetailsDocument**(objeto) (obligatorio): detalles de la solicitud. Incluye los identificadores de las versiones de tu AMI-based producto que deseas restringir. 
  + **DeliveryOptionIds**(conjunto de objetos): lista de `DeliveryOption` identificadores de las versiones que quieres restringir. Para obtener el identificador único de, puede `DeliveryOption` realizar la `DescribeEntity` acción en la versión que está restringiendo.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

```
{
  "ChangeSetId": "example123456789012abcdef",
   "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:{{123456789012}}:AWSMarketplace/ChangeSet/{{example123456789012abcdef}}"
}
```

La solicitud de cambio se agrega a una cola y se procesa. Esto incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

Puede comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal API del catálogo o directamente mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Errores asíncronos**

Los siguientes errores son específicos de las `RestrictDeliveryOptions` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error | Mensaje de error | 
| --- | --- | 
| PRODUCTO\_INVÁLIDO | Usa un producto público existente. | 
| MISSING\_DELIVERY\_OPTION\_IDS | Proporciona al menos un identificador de opción de entrega. | 
| ID\_DELIVERY\_OPTION\_IDS NO VÁLIDOS | Proporciona los identificadores de las opciones de envío que se encuentran en el producto. No se encontraron los identificadores: [x] | 
| OPCIÓN\_DE\_ENTREGA NO VÁLIDA | Proporcione los identificadores de las opciones de entrega que estén en estado público. Los identificadores no están en estado público: [x] | 
| ALL\_DELIVERY\_OPTIONS\_RESTRICTED | Proporcione menos opciones de entrega para restringirlas, ya que al menos una debe permanecer en estado público. | 

## Actualiza el futuro Región de AWS compatibilidad
<a name="update-future-region-support"></a>

Puede utilizar la API de catálogo para cambiar las futuras preferencias de Región de AWS soporte de su AMI-based producto en AWS Marketplace. 

**nota**  
Para obtener más información sobre cómo cambiar el soporte de futuras regiones mediante el AWS Marketplace Management Portal, consulta [Actualizar el soporte para futuras regiones de AWS](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-updating-future-region-support) en la *Guía del AWS Marketplace vendedor*. 

**nota**  
El tipo de `UpdateFutureRegionSupport` cambio solo está disponible en`AmiProduct@1.0`.

Para cambiar las preferencias de Región de AWS soporte en el futuro, llama a la operación de `StartChangeSet` API con el tipo de `UpdateFutureRegionSupport` cambio, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateFutureRegionSupport",
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "AmiProduct@1.0"
      },
      "DetailsDocument":
      {
        "FutureRegionSupport":
        {
          "SupportedRegions":
          [
            "All"
          ]
        }
      }
    }
  ]
}
```

Proporcione información sobre los campos para añadir el tipo de `UpdateFutureRegionSupport` cambio:
+ `Entity`(objeto) (obligatorio): tu AMI-based producto. 
  + `Identifier`(cadena) (obligatorio): tu identificador de producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`. 
+ `DetailsDocument`(objeto) (obligatorio): los detalles necesarios para ejecutar el ChangeSet.
  + `FutureRegionSupport`— Objeto
    + `SupportedRegions`— Single-element matriz de cadenas

      Valores admitidos por el elemento: uno de [`"All"`,`"US"`,`"None”`]

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

```
{
  "ChangeSetId": "{{example123456789012abcdef}}",
  "ChangeSetArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/ChangeSet/{{example123456789012abcdef}}"
}
```

La solicitud de cambio se agrega a una cola y se procesa. Esto incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

Puede comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal API del catálogo o directamente mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateFutureRegionSupport` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error  | Mensaje de error | 
| --- | --- | 
| MUCHAS\_REGIONES | Actualmente, solo se admite un valor para FutureRegionSupport: Todos, EE. UU. o Ninguno | 
| REGIONES\_INVÁLIDAS | Las regiones solicitadas [a, b, c] no son válidas o no están disponibles. Los únicos valores admitidos son [x, y, z]. | 
| INVALID\_INPUT | SupportedRegions no puede estar vacío. | 

## Agrega un compatible Región de AWS
<a name="add-regions"></a>

Puedes usar la API del catálogo para añadir nuevos productos compatibles con Regiones de AWS tu AMI-based producto en AWS Marketplace. 

**nota**  
Para obtener más información sobre cómo añadir nuevas regiones compatibles mediante el AWS Marketplace Management Portal, consulta [Añadir una región de AWS](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-adding-regions) en la *Guía del AWS Marketplace vendedor*. 

**nota**  
El tipo de `AddRegions` cambio solo está disponible en`AmiProduct@1.0`.

Para añadir nuevas regiones compatibles, llame a la operación de `StartChangeSet` API con el tipo de `AddRegions` cambio, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "AddRegions",
      "DetailsDocument": {
        "Regions": [
          "{{us-east-1}}",
          "{{ap-northeast-2}}"
        ]
      },
      "Entity": {
        "Identifier": "{{prod-123456@1}}",
        "Type": "AmiProduct@1.0"
      }
    }
  ]
}
```

Proporcione información sobre los campos para agregar el tipo de `AddRegions` cambio. 
+ `Entity`(objeto) (obligatorio): tu AMI-based producto. 
  + `Identifier`(cadena) (obligatorio): tu identificador de producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`. 
+   
**Example**  
  + `Regions`: matriz de cadenas

    Valores admitidos por el elemento: cadenas Región de AWS de código válidas. 

    Por ejemplo, [`"us-east- 1"`].

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

```
{
  "ChangeSetId": "{{example123456789012abcdef}}",
   "ChangeSetArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/ChangeSet/{{example123456789012abcdef}}"
}
```

La solicitud de cambio se agrega a una cola y se procesa. Esto incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

Puede comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal API del catálogo o directamente mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.
+ Si el estado de ejecución del conjunto de cambios es`SUCCEEDED`: se genera una nueva entidad `Identifier` (o`EntityId`). Puede utilizar la operación de la [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeEntity.html](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeEntity.html)API en la entidad del producto para comprobar el resultado. 
+ Si el estado de ejecución del conjunto de cambios es`CLIENT_ERROR`: la `DescribeChangeSet` respuesta proporciona los detalles del error, así como las medidas correspondientes que se deben tomar para corregirlo.

**Errores asíncronos**

Los siguientes errores son específicos de las `AddRegions` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error  | Mensaje de error | 
| --- | --- | 
| REGIONES\_INVÁLIDAS | Las regiones solicitadas [a, b, c] no son válidas o no están disponibles. Los únicos valores admitidos son [x, y, z]. | 
| INVALID\_INPUT | Las regiones no pueden estar vacías. | 

## Restrinja un Región de AWS
<a name="restrict-regions"></a>

Puede utilizar la API de catálogo para restringir el soporte anterior Regiones de AWS para su AMI-based producto en AWS Marketplace. 

**nota**  
Para obtener más información sobre cómo restringir el uso de las regiones anteriormente admitidas AWS Marketplace Management Portal, consulte [Restringir una región de AWS](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-restricting-regions) en la *Guía del AWS Marketplace vendedor*. 

**nota**  
El tipo de `RestrictRegions` cambio solo está disponible en`AmiProduct@1.0`.

Para restringir las regiones admitidas anteriormente, llame a la operación de `StartChangeSet` API con el tipo de `RestrictRegions` cambio, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "RestrictRegions",
      "DetailsDocument": {
        "Regions": [
          "{{us-east-1}}",
          "{{ap-northeast-2}}"
        ]
      },
      "Entity": {
        "Identifier": "{{prod-123456@1}}",
        "Type": "AmiProduct@1.0"
      }
    }
  ]
}
```

Proporcione información sobre los campos para agregar el tipo de `AddRegions` cambio. 
+ `Entity`(objeto) (obligatorio): tu AMI-based producto. 
  + `Identifier`(cadena) (obligatorio): tu identificador de producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`. 
+ **DetailsDocument**(objeto) (obligatorio): los detalles necesarios para ejecutar el ChangeSet.
  + `Regions`— Matriz de cadenas

    Valores admitidos por el elemento: cadenas de Región de AWS código válidas, como`"us-east-1"`.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

```
{
  "ChangeSetId": "{{example123456789012abcdef}}",
   "ChangeSetArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/ChangeSet/{{example123456789012abcdef}}"
}
```

La solicitud de cambio se agrega a una cola y se procesa. Esto incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

Puede comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal API del catálogo o directamente mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.
+ Si el estado de ejecución del conjunto de cambios es`SUCCEEDED`: se genera una nueva entidad `Identifier` (o`EntityId`). Puede utilizarla `DescribeEntity` en la entidad del producto para comprobar el resultado. Para obtener más información, consulte [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeEntity.html](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeEntity.html).
+ Si el estado de ejecución del conjunto de cambios es`CLIENT_ERROR`: la `DescribeChangeSet` respuesta proporciona los detalles del error, así como las acciones correspondientes que se deben tomar para corregirlo.

**Errores asíncronos**

Los siguientes errores son específicos de las `AddRegions` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error  | Mensaje de error | 
| --- | --- | 
| REGIONES\_INVÁLIDAS | Las regiones solicitadas [a, b, c] no son válidas o no están disponibles. Los únicos valores admitidos son [x, y, z]. | 
| INVALID\_INPUT | Las regiones no pueden estar vacías. | 

## Agregar un nuevo tipo de instancia
<a name="add-instance-types"></a>

Puedes usar la API de catálogo para añadir nuevos tipos de instancias para tu AMI-based producto AWS Marketplace. 

**nota**  
Para obtener más información sobre cómo añadir tipos de instancias mediante la AWS Marketplace Management Portal, consulta [Añadir una instancia](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-adding-instance-types) en la *Guía del AWS Marketplace vendedor*. 

`AddInstanceTypes`añadirá nuevos tipos de instancias a los productos existentes y a los productos recién creados al crear un producto. El tipo de cambio actualizará todas las versiones del documento del producto con un nuevo tipo de instancia.

**nota**  
El tipo de `AddInstanceTypes` cambio solo está disponible en`AmiProduct@1.0`.

Al añadir un tipo de instancia restringido, el tipo de instancia se puede eliminar de la lista restringida y añadir a la lista de tipos de instancia disponibles. De este modo, los vendedores tienen más control para cambiar sus restricciones de producto. La lista de tipos de instancias es intercambiable y no constituye un estado restringido permanente para un producto.

En el caso de los productos con contador interno, los vendedores deben solicitar distintos tipos de cambio `AddDimensions` y `UpdatePricingTerms` actualizar los precios de cada tipo de instancia.

Para añadir nuevos tipos de instancias, llama a la operación de `StartChangeSet` API con el tipo de `RestrictRegions` cambio, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

A continuación, solo se muestra el tipo de `AddInstanceTypes` cambio. Aunque la AMI se mide internamente, los vendedores deben llamar `AddInstanceTypes` y `UpdatePricingTerms` cambiar el tipo de su AMI.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "AddInstanceTypes",
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "AmiProduct@1.0"
      },
      "DetailsDocument":
      {
        "InstanceTypes":
        [
          "m1.medium"
        ]
      }
    }
  ]
}
```

Proporcione información sobre los campos para añadir el tipo de `AddInstanceTypes` cambio:
+ `Entity`(objeto) (obligatorio): tu AMI-based producto. 
  + `Identifier`(cadena) (obligatorio): tu identificador de producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`. 
+ **DetailsDocument**(objeto) (obligatorio): los detalles necesarios para ejecutar el`ChangeSet`, en este caso`InstanceTypes`.
  + `InstanceTypes`(conjunto de cadenas) (obligatorio): lista de elementos `InstanceTypes` que se van a añadir al producto. Estas instancias se añadirán a las existentes`InstanceTypes`.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

```
{
  "ChangeSetId": "{{example123456789012abcdef}}",
   "ChangeSetArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/ChangeSet/{{example123456789012abcdef}}"
}
```

La solicitud de cambio se agrega a una cola y se procesa. Esto incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

Puede comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal API del catálogo o directamente mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `AddInstanceTypes` AWS Marketplace Catalog API Estas validaciones se realizan cuando llamas. `StartChangeSet` Si la solicitud no cumple los siguientes requisitos, fallará y generará una respuesta HTTP.


| Campo de entrada | Regla de validación | HTTP | 
| --- | --- | --- | 
| InstanceTypes | Obligatorio | 422 | 
| InstanceTypes | No debe estar vacía | 422 | 
| InstanceTypes | Las entradas deben tener entre 1 y 24 caracteres. Debe coincidir con ^ [A-Za-z0-9\_.-] \+$ | 422 | 
| InstanceTypes | Las entradas deben ser únicas | 422 | 
| InstanceTypes | No debe tener más de 1500 entradas | 422 | 
| Una propiedad desconocida | No se permiten propiedades adicionales | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `AddInstanceTypes` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error | Mensaje de error | 
| --- | --- | 
| TIPOS\_DE\_INSTANCIA NO VÁLIDOS | Los siguientes tipos de instancias no son válidos: [x] | 
| VIRTUALIZACIÓN DE INSTANCIAS NO VÁLIDA | La virtualización del producto es [x]. No es compatible con los siguientes tipos de instancias: [x] | 
| INVÁLID\_AMI\_ARCHITECTURE | La arquitectura de CPU del producto es %s.» \+ «No es compatible con los siguientes tipos de instancias: [x] | 
|  SISTEMA\_OPERATIVO\_INCOMPATIBLE  | Los tipos de instancia son incompatibles con el sistema operativo definido en el producto. Proporcione tipos de instancias que sean compatibles con el sistema operativo definido en el producto. | 
| TIPO\_DE\_PRODUCTO NO VÁLIDO | Utilice un único producto AMI existente. | 
| INVALID\_ENA\_SETTING | El producto no es compatible con ENA. Los siguientes tipos de instancias requieren el soporte de ENA: [x] | 
| DIMENSIONES\_INVÁLIDAS | No se encontraron dimensiones medidas internamente para los tipos de instancia: [x] | 
| DIMENSIONES\_FALTANTES | No se han encontrado dimensiones para el producto. AddDimensions se requiere antes AddInstanceTypes. | 
| UPDATE\_PRICING\_REQUIRED | UpdatePricingTerms es necesario cambiar el tipo de cambio cuando las dimensiones medidas internamente medidas estén disponibles en el producto. | 

## Restrinja un tipo de instancia
<a name="restrict-instance-types"></a>

Puedes usar la API del catálogo para limitar o restringir los tipos de instancias disponibles para tu AMI-based producto AWS Marketplace. 

**nota**  
Para obtener más información sobre cómo limitar o restringir los tipos de instancias disponibles mediante la AWS Marketplace Management Portal, consulta [Restringir una instancia](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-restricting-instance-types) en la *Guía del AWS Marketplace vendedor*. 

Los suscriptores actuales no se verán afectados por este cambio y podrán usar los tipos de instancias restringidos. Sin embargo, ningún comprador nuevo podrá usar tipos de instancias restringidos. Para detener las suscripciones a los tipos de instancias actuales (una vez que los tipos de instancias estén restringidos), debes ponerte en contacto con el equipo de operaciones de AWS Marketplace vendedores.

`RestrictInstanctTypes`restringe los tipos de instancias a todas las versiones del documento del producto. En el tipo de `AddInstanceTypes` cambio, se actualizan todas las versiones del producto. No podrás restringir los tipos de instancias recomendados. El tipo de instancia recomendado está en el nivel de versión, por lo que es posible que el vendedor no pueda restringir varios tipos de instancias.

En el caso de un producto con contador interno, tendrás que llamar a distintos tipos de cambio cuando llames`RestrictDimensions`. Esto impide que se creen nuevas ofertas para los tipos de instancias restringidos.

**nota**  
El tipo de `RestrictInstanceTypes` cambio solo está disponible en`AmiProduct@1.0`.

Para limitar o restringir los tipos de instancias disponibles para su AMI-based producto, llame a la operación de `StartChangeSet` API con el tipo de `RestrictInstanceTypes` cambio, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "RestrictInstanceTypes",
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "AmiProduct@1.0"
      },
      "DetailsDocument":
      {
        "InstanceTypes":
        [
          "m1.medium"
        ]
      }
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `RestrictInstanceTypes` cambio. 
+ `Entity`(objeto) (obligatorio): tu AMI-based producto. 
  + `Identifier`(cadena) (obligatorio): tu identificador de producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`. 
+ **DetailsDocument**(objeto) (obligatorio): los detalles necesarios para ejecutar el`ChangeSet`, en este caso`InstanceTypes`.
  + `InstanceTypes`(conjunto de cadenas) (obligatorio): lista de las `InstanceTypes` que se van a restringir al producto. Estas instancias se añaden a las instancias actuales (o si no hay ningún tipo de instancia existente, se añadirán) a las restringidas`InstanceTypes`.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

```
{
  "ChangeSetId": "{{example123456789012abcdef}}",
   "ChangeSetArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/ChangeSet/{{example123456789012abcdef}}"
}
```

La solicitud de cambio se agrega a una cola y se procesa. Esto incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

Puede comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal API del catálogo o directamente mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `RestrictInstanceTypes` AWS Marketplace Catalog API Estas validaciones se realizan cuando llamas. `StartChangeSet` Si la solicitud no cumple los siguientes requisitos, fallará y generará una respuesta HTTP.


| Campo de entrada | Regla de validación | HTTP | 
| --- | --- | --- | 
| InstanceTypes | Obligatorio | 422 | 
| InstanceTypes | No debe estar vacía | 422 | 
| InstanceTypes | Las entradas deben tener entre 1 y 24 caracteres. Debe coincidir con ^ [A-Za-z0-9\_.-] \+$ | 422 | 
| InstanceTypes | Las entradas deben ser únicas | 422 | 
| InstanceTypes | No debe tener más de 1500 entradas | 422 | 
| Una propiedad desconocida | No se permiten propiedades adicionales | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `RestrictInstanceTypes` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error | Mensaje de error | 
| --- | --- | 
| TIPOS DE INSTANCIA INVÁLIDOS | Los siguientes tipos de instancias no son válidos: [x] | 
| TIPO\_PRODUCTO INVÁLIDO | Utilice un único producto AMI existente. | 
| TIPO\_INSTANCIA DUPLICADA | Proporciona tipos de instancia sin duplicados. | 
| TIPO\_INSTANCIA NO DISPONIBLE | Proporcione un tipo de instancia disponible. | 
|  RECOMMENDED\_INSTANCE\_TYPE\_RESTRICTED  | No se pueden restringir los siguientes tipos de instancias. El tipo de instancia recomendado debe cambiarse por uno diferente antes de restringirlo. Id. de opciones de entrega [X] Tipo de instancia [X] | 
|  DIMENSIONS\_NOT\_RESTICTED  | Restrinja las dimensiones antes de restringir los tipos de instancias con contador interno: [x] | 
|  REGION\_NO\_INSTANCES  | Sus tipos de instancias restringidos podrían provocar un error en el lanzamiento del producto en la región: X. Considere la posibilidad de restringir menos instancias. | 
| RESTRICCIÓN\_INCOMPATIBLE\_ | Sus tipos de instancias restringidos generarían un producto sin tipos de instancia basados en FPGA para las AFI. El producto debe admitir al menos un tipo de instancia basada en FPGA. | 