

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.

# Administración de productos
<a name="catalogs_products"></a>

Puede crear productos, actualizar productos creando una nueva versión basada en una plantilla actualizada y agrupar los productos en carteras para distribuírselos a los usuarios.

Las nuevas versiones de los productos se propagan a todos los usuarios que tienen acceso al producto a través de una cartera. Cuando se distribuye una actualización, los usuarios finales pueden actualizar los productos aprovisionados existentes.

**Topics**
+ [Ver la página de productos](#productmgmt-menu)
+ [Creación de productos](productmgmt-cloudresource.md)
+ [Adición de productos a las carteras](catalogs_portfolios_adding-products.md)
+ [Actualización de productos](productmgmt-update.md)
+ [Sincronizar productos con archivos de plantilla desde GitHub GitHub Enterprise o Bitbucket](git-synced-sc-products.md)
+ [Eliminación de productos](productmgmt-delete.md)
+ [Administración de versiones](managing-versions.md)

## Ver la página de productos
<a name="productmgmt-menu"></a>

Los productos se administran desde la página de **lista de productos** de la AWS Service Catalog consola de administración.

**Cómo ver la página **Lista de productos****

1. Abra la consola de Service Catalog en [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Seleccione **Lista de productos**.

# Creación de productos
<a name="productmgmt-cloudresource"></a>

 Los productos se crean desde la página de **productos** de la AWS Service Catalog consola de administración. 

**nota**  
La creación de productos de Terraform requiere una configuración adicional, incluyendo un motor de aprovisionamiento de Terraform y un rol de lanzamiento. Para obtener más información, consulte [Primeros pasos con un producto de Terraform](getstarted-Terraform.md). 

**Para crear un AWS Service Catalog producto nuevo**

1. Vaya a la página **Lista de productos**. 

1. Seleccione **Crear producto** y, a continuación, seleccione **Crear producto**.

1. **Detalles del producto**: le permite elegir el tipo de producto que desea crear. AWS Service Catalog admite los CloudFormation tipos de productos Terraform Cloud y External (compatible con Terraform Community Edition). Los detalles del producto también contienen los metadatos que aparecen al buscar y ver productos en una lista o página de detalles. Introduzca lo siguiente:
   + **Product name**: el nombre del producto.
   +  **Descripción del producto**: la descripción se muestra en la lista de productos para ayudarlo a elegir el producto correcto.
   + **Propietario**: la persona u organización que publica este producto. El propietario puede ser el nombre de su organización de TI o del administrador.
   + **Distribuidor** (opcional): el nombre del publicador de la aplicación. Este campo le permite ordenar la lista de productos para que les resulte más fácil buscar los que necesitan.

1. Los **detalles de la versión** le permiten añadir el archivo de plantilla y crear el producto. Introduzca lo siguiente:
   +  **Elegir un método**: hay cuatro formas de añadir un archivo de plantilla. 
     + **Use un archivo de plantilla local**: cargue una CloudFormation plantilla o un archivo de configuración tar.gz de Terraform desde una unidad local. 
     + **Usar una URL de Amazon S3**: especifique una URL que apunte a una plantilla de CloudFormation o a un archivo de configuración tar.gz de Terraform almacenado en Amazon S3. Si especifica una dirección URL de Amazon S3, debe comenzar con `https://`.
     + **Usa un repositorio externo: especifica tu repositorio** de código GitHub, el de GitHub Enterprise o el de Bitbucket. AWS Service Catalog te permite sincronizar los productos con los archivos de plantilla. En el caso de los productos de Terraform, el formato del archivo de plantilla debe ser un único archivo archivado en Tar y comprimido en Gzip.
     + **Utilizar una CloudFormation pila existente**: introduce el ARN de una pila existente CloudFormation . Este método no es compatible con los productos de Terraform Cloud o externos. 
   +  **Nombre de la versión** (opcional): el nombre de la versión del producto (por ejemplo, "v1", "v2beta"). No se permiten espacios.
   +  **Descripción** (opcional): una descripción de la versión del producto, incluidas sus diferencias respecto a otras versiones.
   +  **Guía**: se gestiona en la pestaña de versiones de la página **Detalles del producto**. Cuando se crea una versión del producto (durante el flujo de trabajo de creación del producto), la guía para esa versión se establece de forma predeterminada. Para obtener más información sobre la guía, consulte [Administración de versiones](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/managing-versions.html).

1. Los **detalles de soporte** identifican la organización de su empresa y proporcionan un punto de contacto para el soporte. Introduzca lo siguiente:
   + **Email contact** (opcional): la dirección de correo electrónico para comunicar problemas del producto.
   + **Enlace de soporte** (opcional): la dirección URL del sitio donde los usuarios pueden encontrar información de soporte o presentar tickets de servicio. La dirección URL debe comenzar por `http://` o `https://`. Los administradores son responsables de mantener la precisión y el acceso a la información de soporte.
   + **Descripción del soporte** (opcional): una descripción de cómo debe utilizar los datos de **Contactos de correo electrónico** y del enlace **Soporte**.

1.  **Administrar etiquetas** (opcional): además de usar etiquetas para categorizar sus recursos, también puede usarlas para autentificar sus permisos para crear este recurso. 

1. **Crear producto**: cuando haya completado el formulario, seleccione **Crear producto**. Transcurridos unos segundos, el producto aparecerá en la página **Lista de productos**. Puede que necesite actualizar el navegador para ver el producto.

También puedes usarlo CodePipeline para crear y configurar una canalización para implementar la plantilla de producto AWS Service Catalog y entregar los cambios que hayas realizado en tu repositorio de origen. Para obtener más información, consulte el [tutorial: Cómo crear una canalización que se implemente](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-S3-servicecatalog.html) en. AWS Service Catalog

Puede definir las propiedades de los parámetros en su plantilla CloudFormation o en la de Terraform y aplicar esas reglas durante el aprovisionamiento. Estas propiedades pueden definir la longitud mínima y máxima, los valores mínimos y máximos, los valores permitidos y una expresión regular para el valor. AWS Service Catalog emite una advertencia durante el aprovisionamiento si el valor proporcionado no se ajusta a la propiedad del parámetro. Para obtener más información sobre las propiedades de los parámetros, consulte [Parámetros](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) en la *Guía del usuario de CloudFormation *.

## Resolución de problemas
<a name="productmgmt-cloudresource-troubleshooting"></a>

 Debe tener permiso para recuperar objetos de los buckets de Amazon S3. De lo contrario, podría encontrarse con el siguiente error al lanzar o actualizar un producto. 

```
Error: failed to process product version s3 access denied exception
```

 Si aparece este mensaje, asegúrese de tener permiso para recuperar objetos de los siguientes buckets: 
+  El bucket en el que se almacena la plantilla de artefacto de aprovisionamiento. 
+  El depósito que comienza por "***cf-templates-\$1***" y donde AWS Service Catalog se almacena la plantilla de artefactos de aprovisionamiento. 
+  ***El depósito interno que comienza por "sc-\$1" y donde se almacenan los metadatos.*** AWS Service Catalog No podrá ver este bucket desde su cuenta. 

 El siguiente ejemplo de política muestra los permisos mínimos necesarios para recuperar objetos de los buckets mencionados anteriormente. 

```
{
          "Sid": "VisualEditor1",
          "Effect": "Allow",
          "Action": "s3:GetObject*",
          "Resource": [
              "arn:aws:s3:::YOUR_TEMPLATE_BUCKET",
              "arn:aws:s3:::YOUR_TEMPLATE_BUCKET/*",
              "arn:aws:s3:::cf-templates-*",
              "arn:aws:s3:::cf-templates-*/*",
              "arn:aws:s3:::sc-*",
              "arn:aws:s3:::sc-*/*"
          ]
      }
```

# Adición de productos a las carteras
<a name="catalogs_portfolios_adding-products"></a>

 Puede agregar productos a cualquier cantidad de carteras. Cuando un producto se actualiza, todas las carteras que lo contienen (incluso las carteras compartidas) reciben automáticamente la nueva versión. 

**Para agregar un producto del catálogo a una cartera**

1.  Vaya a la página **Lista de productos**. 

1.  Seleccione un producto y, a continuación, seleccione **Acciones**. En el menú desplegable, seleccione **Añadir producto a la cartera**. Se le dirigirá a la página **Añadir *name-of-product* a la cartera.** 

1.  Elija una cartera y, a continuación, haga clic en **la Añadir producto a cartera**. 

Al agregar un producto de Terraform a una cartera, el producto requiere una restricción de lanzamiento. Debe seleccionar un rol de IAM de su cuenta, introducir un ARN de rol de IAM o introducir un nombre de rol. Si especifica un nombre del rol, cuando una cuenta utilice la restricción de lanzamiento, se utilizará el rol de IAM con ese nombre en la cuenta. Esto permite que las restricciones del rol de lanzamiento sean independientes de la cuenta, de modo que pueda crear menos recursos por cuenta compartida. Para obtener información e instrucciones, consulte [Paso 6: añadir una restricción de lanzamiento a su producto de Terraform](getstarted-launchconstraint-Terraform.md). 

 Una cartera puede contener numerosos productos que sean una combinación de tipos de productos CloudFormation y los de Terraform. 

# Actualización de productos
<a name="productmgmt-update"></a>

 Cuando actualice la plantilla de un producto, cree una nueva versión del producto. Una nueva versión de un producto se pone automáticamente a disposición de todos los usuarios que tienen acceso a la cartera que lo contiene. 

**nota**  
Al actualizar un producto existente, no puede cambiar el tipo de producto (CloudFormation o Teraform). Por ejemplo, si actualiza un CloudFormation producto, no puede reemplazar la CloudFormation plantilla existente por un archivo de configuración tar.gz de Terraform. Debe actualizar el archivo de CloudFormation plantilla existente con un archivo de CloudFormation plantilla nuevo.

 Los usuarios finales que actualmente están ejecutando un producto aprovisionado de la versión anterior del producto pueden actualizarlo para obtener la versión más reciente. Cuando está disponible una nueva versión de un producto, los usuarios pueden utilizar el comando **Actualizar productos aprovisionados** de las páginas **Lista de productos aprovisionados** o **Detalles de productos aprovisionados**. 

Antes de crear una nueva versión de un producto, le AWS Service Catalog recomienda que pruebe las actualizaciones del producto en CloudFormation o en el motor Terraform para asegurarse de que funcionan correctamente.

**Para crear una nueva versión de un producto**

1.  Vaya a la página **Lista de productos**. 

1.  Seleccione el producto que desea actualizar. Se le redirigirá a la página *Detalles del producto*. 

1.  En la página *Detalles del producto*, amplíe la sección **Versiones**; y, a continuación, elija **Crear nueva versión**. 

1.  En **Detalles de la versión**, realice lo siguiente: 
   + **Elegir plantilla**: hay cuatro formas de añadir un archivo de plantilla. 

     *Utilice un archivo de plantilla local*: cargue una CloudFormation plantilla o un archivo de configuración tar.gz de Terraform desde una unidad local. 

     *Usar una URL de Amazon S3*: especifique una URL que apunte a una plantilla de CloudFormation o a un archivo de configuración tar.gz de Terraform almacenado en Amazon S3. Si especifica una dirección URL de Amazon S3, debe comenzar por https://.

     *Usa un repositorio externo: especifica tu repositorio* de código GitHub, el de GitHub Enterprise o el de Bitbucket. AWS Service Catalog te permite sincronizar productos con archivos de plantilla. En el caso de los productos de Terraform, el formato del archivo de plantilla debe ser un único archivo archivado en Tar y comprimido en Gzip.

     *Utilizar una CloudFormation pila existente*: introduce el ARN de una pila existente CloudFormation . Este método no es compatible con los productos de Terraform Cloud o externos. 
   + **Título de la versión**: el nombre de la versión del producto (por ejemplo, "v1", "v2beta"). No se permiten espacios. 
   + **Descripción** (opcional): una descripción de la versión del producto, incluidas sus diferencias respecto a la anterior.

1. Seleccione **Crear versión del producto**.

 También se puede utilizar CodePipeline para crear y configurar una canalización en la que implementar la plantilla de producto y entregar los cambios en el repositorio de origen. AWS Service Catalog Para obtener más información, consulte el [tutorial: Cómo crear una canalización que se implemente](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-S3-servicecatalog.html) en. AWS Service Catalog

# Sincronizar productos con archivos de plantilla desde GitHub GitHub Enterprise o Bitbucket
<a name="git-synced-sc-products"></a>

AWS Service Catalog te permite sincronizar productos con archivos de plantilla que se gestionan a través de un proveedor de repositorios externo. AWS Service Catalog se refiere a los productos con este tipo de conexión de plantilla como productos *sincronizados con Git*. Las opciones de repositorio incluyen GitHub GitHub Enterprise o Bitbucket. Tras autorizarte Cuenta de AWS con una cuenta de repositorio externa, puedes crear nuevos AWS Service Catalog productos o actualizar los existentes para sincronizarlos con un archivo de plantilla del repositorio. Cuando se realizan cambios en el archivo de plantilla y se guardan en el repositorio (por ejemplo, mediante git-push), los detecta AWS Service Catalog automáticamente y crea una nueva versión del producto (artefacto). 

**Topics**
+ [Permisos necesarios para sincronizar productos con archivos de plantilla externos](#required-perms-synced-repo)
+ [Creación de una conexión de cuenta](#create-synced-product)
+ [Visualización de las conexiones de productos sincronizados con Git](#view-repo-sync)
+ [Cómo actualizar las conexiones de productos sincronizados con Git](#update-repo-sync)
+ [Eliminar conexiones de productos sincronizados con Git](#delete-repo-sync)
+ [Sincronizar los productos de Terraform con archivos de plantilla de GitHub GitHub Enterprise o Bitbucket](#git-synced-Terraform)
+ [Región de AWS soporte para productos sincronizados con Git](git-sync-supported-regions.md)

## Permisos necesarios para sincronizar productos con archivos de plantilla externos
<a name="required-perms-synced-repo"></a>

Puedes usar la siguiente política AWS Identity and Access Management (IAM) como plantilla para que AWS Service Catalog los administradores puedan sincronizar los productos con los archivos de plantillas de un repositorio externo. Esta política incluye los permisos necesarios tanto de como CodeConnections de AWS Service Catalog. AWS Service Catalog recomienda copiar la política de plantillas que aparece a continuación y utilizar también la [política AWS Service Catalog`AWSServiceCatalogAdminFullAccess` gestionada](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/security-iam-awsmanpol) al habilitar los productos sincronizados en el repositorio. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CodeStarAccess",
            "Effect": "Allow",
            "Action": [
            "codestar-connections:UseConnection",
            "codestar-connections:PassConnection",
            "codestar-connections:CreateConnection",
            "codestar-connections:DeleteConnection",
            "codestar-connections:GetConnection",
            "codestar-connections:ListConnections",
            "codestar-connections:ListInstallationTargets",
            "codestar-connections:GetInstallationUrl",
            "codestar-connections:StartOAuthHandshake",
            "codestar-connections:UpdateConnectionInstallation",
            "codestar-connections:GetIndividualAccessToken"
            ],
            "Resource": "arn:aws:codestar-connections:*:*:connection/*"
        },
        {
        "Sid": "CreateSLR",
        "Effect": "Allow",
        "Action": "iam:CreateServiceLinkedRole",
        "Resource": "arn:aws:iam::*:role/aws-service-role/sync.servicecatalog.amazonaws.com/AWSServiceRoleForServiceCatalogArtifactSync",
        "Condition": {
        "StringLike": {
        "iam:AWSServiceName": "sync.servicecatalog.amazonaws.com"
                }
            }
        }
    ]
}
```

------

## Creación de una conexión de cuenta
<a name="create-synced-product"></a>

Antes de sincronizar un archivo de plantilla con un AWS Service Catalog producto, debes crear y autorizar una conexión única. account-to-account Esta conexión se utiliza para especificar los detalles del repositorio que contiene el archivo de plantilla deseado. Puede crear una conexión mediante la AWS Service Catalog consola, la CodeConnections consola AWS Command Line Interface (CLI) o CodeConnections APIs. 

Tras establecer una conexión, puede utilizar la AWS Service Catalog consola, la AWS Service Catalog API o la CLI para crear un AWS Service Catalog producto sincronizado. AWS Service Catalog los administradores pueden crear AWS Service Catalog productos nuevos o actualizar los existentes a partir de un archivo de plantilla en un repositorio o una sucursal. Si se realiza un cambio en el repositorio, lo detecta AWS Service Catalog automáticamente y crea una nueva versión del producto. Las versiones anteriores del producto se mantienen hasta el límite de versiones prescrito y se les asigna un estado **obsoleto**. 

Además, crea AWS Service Catalog automáticamente un rol vinculado a un servicio (SLR) una vez creada la conexión. Esta SLR permite a AWS Service Catalog detectar cualquier cambio en el archivo de plantilla que se haya registrado en el repositorio. La SLR también permite crear automáticamente nuevas versiones de productos AWS Service Catalog para los productos sincronizados. Para obtener más información sobre los permisos y la funcionalidad de SLR, consulte [Funciones vinculadas a servicios para AWS Service Catalog](#required-perms-synced-repo). 

**Para crear un nuevo producto sincronizado con Git**

1. En el panel de navegación izquierdo, elija **Lista de productos** y, a continuación, **Crear un producto**. 

1. Introducción de los **detalles del producto**. 

1. En Detalles de la versión, selecciona **Especificar tu repositorio de código mediante un AWS CodeStar proveedor** y, a continuación, selecciona el enlace **Crear una nueva AWS CodeStar conexión**. 

1. Después de crear la conexión, actualice la lista de conexiones y, a continuación, seleccione la nueva conexión. Especifique los detalles del repositorio, incluyendo el **repositorio**, la **rama** y la **ruta del archivo de plantilla**. 

   Para obtener más información sobre cómo usar archivos de configuración de Terraform, consulte [Sincronizar los productos de Terraform con archivos de plantilla de GitHub GitHub Enterprise o Bitbucket](#git-synced-Terraform). 

   1. (Opcional al crear un recurso de AWS Service Catalog producto nuevo) En la sección **Support Details**, añada metadatos para el producto.

   1. (Opcional al crear un nuevo recurso de AWS Service Catalog producto) En la sección **Etiquetas**, elija **Añadir nueva etiqueta** e introduzca los pares **clave** y **valor**.

1. Elija **Crear nuevo producto**. 

**Cómo crear varios productos sincronizados con Git**

1. En el panel de navegación izquierdo de la AWS Service Catalog consola, selecciona **Lista de productos** y, a continuación, selecciona **Crear varios productos gestionados por git**. 

1. Introducir los **detalles comunes del producto**. 

1. En detalles del repositorio externo, seleccione una **conexión de AWS CodeStar ** y, a continuación, especifique el **repositorio** y la **rama**. 

1. En el panel Añadir productos, introduzca la **ruta del archivo de plantilla** y el **Nombre del producto**. Seleccione **Añadir un nuevo elemento** y siga añadiendo los productos que desee.

1. Tras añadir todos los productos deseados, seleccione **Crear productos de forma masiva**. 

**Para conectar un AWS Service Catalog producto existente a un repositorio externo**

1. En el panel de navegación izquierdo de la AWS Service Catalog consola, selecciona **Lista de productos** y, a continuación, selecciona **Conectar productos a un repositorio externo**. 

1. En la página Seleccionar productos, seleccione los productos que desea conectar a un repositorio externo y, a continuación, seleccione **Siguiente**. 

1. En la página Especificar los detalles del origen, seleccione una AWS CodeStar conexión existente y, a continuación, especifique el **repositorio**, la **sucursal** y la **ruta del archivo de plantilla**. 

1. Elija **Siguiente**. 

1. En la página Revisar y enviar, verifique los detalles de la conexión y, a continuación, seleccione **Conectar los productos a un repositorio externo**. 

## Visualización de las conexiones de productos sincronizados con Git
<a name="view-repo-sync"></a>

Puede usar la AWS Service Catalog consola, la API o ver AWS CLI los detalles de la conexión al repositorio. En el caso de los AWS Service Catalog productos que están vinculados a un archivo de plantilla, puedes recuperar información sobre la conexión al repositorio y la última vez que la plantilla se sincronizó con el producto desde el **estado de última sincronización**. 

**nota**  
Puede ver la información del repositorio y el **Estado de la última sincronización** a nivel de producto. Los usuarios deben tener permisos de IAM CodeConnections APIs para ver los detalles del repositorio. Consulte [los permisos necesarios para sincronizar AWS Service Catalog productos con archivos de plantilla para](#required-perms-synced-repo) obtener más información sobre la política requerida para estos permisos de IAM. 

**Para ver los detalles de la conexión y el repositorio mediante Consola de administración de AWS**

1. En el menú de navegación izquierdo, elija **Lista de productos**. 

1. Seleccione el producto de la lista. 

1. En la página **Producto**, vaya a la sección **Detalles de la fuente del producto**. 

1. Para ver el ID de revisión de origen de una versión del producto, seleccione el enlace **Última versión creada**. La sección **Detalles de la versión** muestra el ID de revisión de origen. 

**Para ver los detalles de la conexión y el repositorio mediante AWS CLI**

Desde AWS CLI, ejecute los siguientes comandos: 

`$ aws servicecatalog describe-product-as-admin`

`$ aws servicecatalog describe-provisioning-artifact`

`$ aws servicecatalog search-product-as-admin`

`$ aws servicecatalog list-provisioning-artifacts`

## Cómo actualizar las conexiones de productos sincronizados con Git
<a name="update-repo-sync"></a>

Puedes actualizar las conexiones de cuentas existentes y los productos sincronizados con Git mediante la AWS Service Catalog consola, la AWS Service Catalog API o. AWS CLI

Para obtener información sobre cómo conectar un AWS Service Catalog producto existente a un archivo de plantilla, consulta Cómo [crear nuevas conexiones de productos sincronizados](#create-synced-product) con Git. 

**Para actualizar los productos existentes a productos sincronizados con Git**

1. En el panel de navegación de la izquierda, seleccione **Lista de productos** y, a continuación, seleccione una de las siguientes opciones:
   + Para actualizar un **solo producto**, seleccione el producto, vaya a la sección **Detalles de la fuente del producto** y, a continuación, seleccione **Editar detalles**. 
   + Para actualizar **varios productos**, seleccione **Conectar productos a un repositorio externo**, seleccione hasta diez productos y, a continuación, seleccione **Siguiente**. 

1. En la sección **Detalles de la fuente del producto**, realice las siguientes actualizaciones: 
   + Especifique la conexión. 
   + Especifique el repositorio 
   + Especifique la ramificación. 
   + Asigne un nombre al archivo de plantilla. 

1. Seleccione **Save changes (Guardar cambios)**. 

**nota**  
Para los productos que aún no están conectados a un repositorio externo, puedes usar la opción **Conectar a un repositorio externo** que aparece en la alerta en la parte superior de la página de información del producto después de seleccionar el producto. 

También puedes usar la AWS Service Catalog consola o para AWS CLI 
+ Conectar un AWS Service Catalog producto existente a un archivo de plantilla en un repositorio externo
+ Actualice los metadatos del producto, incluyendo el nombre, la descripción y las etiquetas del producto. 
+ Reconfigure (actualice la sincronización para usar una fuente de repositorio diferente) una conexión para un producto de AWS Service Catalog previamente conectado. 

**Para actualizar los detalles de la conexión y del repositorio mediante AWS Service Catalog la consola**

1. En el panel de navegación izquierdo de la AWS Service Catalog consola, elija **Lista de productos** y, a continuación, seleccione un producto que esté conectado actualmente a un repositorio externo. 

1. En la sección **Detalles de la fuente del producto**, seleccione **Editar fuente del producto**. 

1. En la sección **Detalles de la fuente del producto**, especifique el nuevo repositorio deseado. 

1. Seleccione **Save changes (Guardar cambios)**. 

**Para actualizar los detalles de la conexión y del repositorio mediante AWS CLI**

A partir de la AWS CLI ejecución de los `$ aws servicecatalog update-provisioning-artifact` comandos `$ aws servicecatalog update-product` y. 

## Eliminar conexiones de productos sincronizados con Git
<a name="delete-repo-sync"></a>

Puedes eliminar una conexión entre un AWS Service Catalog producto y un archivo de plantilla mediante la AWS Service Catalog consola, la CodeConnections API o AWS CLI. Al desconectar un producto de un archivo de plantilla, el AWS Service Catalog producto sincronizado pasa a ser un producto gestionado de forma habitual. Tras desconectar el producto, si el archivo de plantilla se modifica y se archiva en el repositorio anteriormente conectado, los cambios *no* se reflejan. Para volver a conectar un AWS Service Catalog producto a un archivo de plantilla de un repositorio externo, consulte [Actualización de conexiones y productos sincronizados AWS Service Catalog](). 

**Para desconectar un producto sincronizado con Git mediante la consola AWS Service Catalog**

1. En el Consola de administración de AWS, selecciona **Lista de productos en el panel** de navegación izquierdo. 

1. Seleccione un producto de la lista. 

1. En la página **Producto**, vaya a la sección **Detalles de la fuente del producto**. 

1. Seleccione **Desconectar**. 

1. Confirme la acción y, a continuación, seleccione **Desconectar**. 

**Para desconectar un producto sincronizado con Git mediante AWS CLI**

Desde AWS CLI, ejecuta el comando. `$ aws servicecatalog update-product` En la entrada `ConnectionParameters`, elimine la conexión especificada. 

**Para eliminar una conexión mediante la CodeConnections API o AWS CLI**

En la CodeConnections API o AWS CLI, ejecute el `$ aws codestar-connections delete-connection` comando. 

## Sincronizar los productos de Terraform con archivos de plantilla de GitHub GitHub Enterprise o Bitbucket
<a name="git-synced-Terraform"></a>

Al crear un producto sincronizado con Git mediante un archivo de configuración de Terraform, la ruta del archivo solo acepta el formato tar.gz. No se aceptan los formatos de carpetas de Terraform en la ruta del archivo. 

# Región de AWS soporte para productos sincronizados con Git
<a name="git-sync-supported-regions"></a>

AWS Service Catalog es compatible con los productos sincronizados con Git tal y Regiones de AWS como se indica en la siguiente tabla. 


****  

| Región de AWS nombre | Región de AWS identidad | Soporte para productos sincronizados con Git | 
| --- | --- | --- | 
| Este de EE. UU. (Norte de Virginia) | us-east-1 | Sí | 
| Este de EE. UU. (Ohio) | us-east-2 | Sí | 
| Oeste de EE. UU. (Norte de California) | us-west-1 | Sí | 
| Oeste de EE. UU. (Oregón) | us-west-2 | Sí | 
| África (Ciudad del Cabo) | af-south-1 | No | 
| Asia-Pacífico (Hong Kong) | ap-east-1 | No | 
| Asia-Pacífico (Yakarta) | ap-southeast-3 | No | 
| Asia-Pacífico (Mumbai) | ap-south-1 | Sí | 
| Asia-Pacífico (Osaka) | ap-northeast-3 | No | 
| Asia-Pacífico (Seúl) | ap-northeast-2 | Sí | 
| Asia-Pacífico (Singapur) | ap-southeast-1 | Sí | 
| Asia-Pacífico (Sídney) | ap-southeast-2 | Sí | 
| Asia-Pacífico (Tokio) | ap-northeast-1 | Sí | 
| Canadá (centro) | ca-central-1 | Sí | 
| Europa (Fráncfort) | eu-central-1 | Sí | 
| Europa (Irlanda) | eu-west-1 | Sí | 
| Europa (Londres) | eu-west-2 | Sí | 
| Europa (Milán) | eu-south-1 | No | 
| Europa (París) | eu-west-3 | Sí | 
| Europa (Estocolmo) | eu-north-1 | Sí | 
| Medio Oriente (Baréin) | me-south-1 | No | 
| América del Sur (São Paulo) | sa-east-1 | Sí | 
| AWS GovCloud (Este de EE. UU.) | us-gov-east-1 | No | 
| AWS GovCloud (Estados Unidos-Oeste) | us-gov-west-1 | No | 

# Eliminación de productos
<a name="productmgmt-delete"></a>

Al eliminar un producto, se AWS Service Catalog eliminan todas las versiones del producto de todas las carteras que contienen el producto. 

AWS Service Catalog permite eliminar un producto mediante la AWS Service Catalog consola o AWS CLI. Para eliminar correctamente un producto, primero debe disociar todos los recursos asociados al producto. Entre los ejemplos de asociaciones de recursos de productos se incluyen las asociaciones de carteras TagOptions, los presupuestos y las acciones de servicio. 

**importante**  
 No se puede recuperar un producto después de que se haya eliminado. 

**Para eliminar un producto mediante la AWS Service Catalog consola**

1.  Vaya a la página **Carteras** y seleccione la cartera que contiene el producto que desea eliminar. 

1.  Seleccione el producto que desea eliminar y, a continuación, seleccione **Eliminar** en la esquina superior derecha del panel de productos. 

1. En el caso de los productos *sin recursos asociados*, confirme el producto que desea eliminar introduciendo **eliminar** en el cuadro de texto y, a continuación, seleccione **Eliminar**. 

   Para los productos *con recursos asociados*, continúe con el paso 4. 

1. En la ventana **Eliminar producto**, consulta la tabla de **asociaciones**, que muestra todos los recursos asociados al producto. AWS Service Catalog intenta desasociar estos recursos al eliminar el producto. 

1. Confirme que desea eliminar el producto y eliminar todos sus recursos asociados; para ello, escriba **eliminar** en el cuadro de texto. 

1. Seleccione **Disociar y eliminar**. 

Si AWS Service Catalog no puede disociar todos los recursos del producto, el producto no se eliminará. La ventana **Eliminar producto** muestra el número de disociaciones fallidas y una descripción de cada error. Para obtener más información sobre cómo resolver las disociaciones de recursos fallidas al eliminar un producto, consulte *Resolver las disociaciones de recursos fallidas al eliminar un producto* a continuación. 

**Topics**
+ [Eliminar productos mediante el AWS CLI](product-delete-cli.md)
+ [Resolver las disociaciones de recursos fallidas al eliminar un producto](product-delete-exception.md)

# Eliminar productos mediante el AWS CLI
<a name="product-delete-cli"></a>

AWS Service Catalog le permite usar [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)(AWS CLI) para eliminar productos de su cartera. AWS CLI Se trata de una herramienta de código abierto que permite interactuar con los AWS servicios mediante comandos de la consola de la línea de comandos. La función AWS Service Catalog force-delete requiere un [AWS CLI alias](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-alias.html), que es un atajo que se puede crear AWS CLI para abreviar los comandos o scripts que se utilizan con frecuencia. 

## Requisitos previos
<a name="product-delete-cli-requirements"></a>
+ Instalar y configurar la AWS CLI. Para obtener más información, consulte [Instalación o actualización de la versión más reciente de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) y [Configuración básica](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html). Utilice una AWS CLI versión mínima de 1.11.24 o 2.0.0. 
+ El alias CLI para eliminar el producto requiere un terminal compatible con bash y el procesador JSON de línea de comandos JQ. Para obtener más información sobre la instalación del procesador JSON de línea de comandos, consulte [Descargar jq](https://stedolan.github.io/jq/download/). 
+ Cree un AWS CLI alias para agrupar las llamadas a la `Disassociation` API, lo que le permitirá eliminar un producto con un solo comando. 

Para eliminar correctamente un producto, primero debe disociar todos los recursos asociados al producto. Algunos ejemplos de asociaciones de recursos de productos incluyen las asociaciones de carteras, presupuestos, opciones de etiquetas y acciones de servicio. Cuando se utiliza la CLI para eliminar un producto, el alias `force-delete-product` de la CLI le permite llamar a la API `Disassociate` para disociar cualquier recurso que pudiera impedir la API `DeleteProduct`. Esto evita tener que llamar por separado a las disociaciones individuales. 

**nota**  
Las rutas de los archivos que se muestran en los procedimientos siguientes pueden variar en función del sistema operativo que utilice para realizar estas acciones. 

## Crear un AWS CLI alias para eliminar AWS Service Catalog productos
<a name="product-delete-cli-alias"></a>

Cuando se utiliza AWS CLI para eliminar un AWS Service Catalog producto, el `force-delete-product` alias de la CLI le permite llamar a la `Disassociate` API para desasociar cualquier recurso que impida la `DeleteProduct` llamada. 

**Cree un `alias` archivo en la carpeta AWS CLI de configuración**

1. En la AWS CLI consola, navegue hasta la carpeta de configuración. De forma predeterminada, la carpeta de configuración es `~/.aws/` en Linux o macOS o `%USERPROFILE%\.aws\` en Windows. 

1. Cree una subcarpeta denominada `cli` mediante la navegación de archivos o introduciendo el siguiente comando en su terminal preferido: 

   ```
                $ mkdir -p ~/.aws/cli
   ```

   La ruta predeterminada resultante de la carpeta `cli` es `~/.aws/cli/` en Linux o macOS o `%USERPROFILE%\.aws\cli` en Windows. 

1. En la nueva carpeta `cli`, cree un archivo de texto sin extensión con el nombre `alias`. Puede crear el archivo `alias` mediante la navegación de archivos o introduciendo el siguiente comando en la terminal que prefiera: 

   ```
                 $ touch ~/.aws/cli/alias
   ```

1. Introduzca `[toplevel]` en la primera línea.

1. Guarde el archivo. 

A continuación, puede añadir el force-delete-product alias al `alias` archivo pegando manualmente el script del alias en el archivo o utilizando un comando en la ventana del terminal. 

**Añada manualmente el force-delete-product alias al archivo `alias`**

1. En la AWS CLI consola, vaya a la carpeta AWS CLI de configuración y abra el `alias` archivo. 

1. Introduzca el siguiente alias de código en el archivo, debajo de la línea `[toplevel]`: 

   ```
                [command servicecatalog]
             	 force-delete-product =
             	   !f() {
             	     if [ "$#" -ne 1 ]; then
             	         echo "Illegal number of parameters"
             	         exit 1
             	     fi
             	 
             	     if [[ "$1" != prod-* ]]; then
             	        echo "Please provide a valid product id."
             	        exit 1
             	     fi
             	 
             	     productId=$1
             	     describeProductAsAdminResponse=$(aws servicecatalog describe-product-as-admin --id $productId)
             	     listPortfoliosForProductResponse=$(aws servicecatalog list-portfolios-for-product --product-id $productId)
             	 
             	     tagOptions=$(echo "$describeProductAsAdminResponse" | jq -r '.TagOptions[].Id')
             	     budgetName=$(echo "$describeProductAsAdminResponse" | jq -r '.Budgets[].BudgetName')
             	     portfolios=$(echo "$listPortfoliosForProductResponse" | jq -r '.PortfolioDetails[].Id')
             	     provisioningArtifacts=$(echo "$describeProductAsAdminResponse" | jq -r '.ProvisioningArtifactSummaries[].Id')
             	     provisioningArtifactServiceActionAssociations=()
             	 
             	     for provisioningArtifactId in $provisioningArtifacts; do
             	       listServiceActionsForProvisioningArtifactResponse=$(aws servicecatalog list-service-actions-for-provisioning-artifact --product-id $productId --provisioning-artifact-id $provisioningArtifactId)
             	       serviceActions=$(echo "$listServiceActionsForProvisioningArtifactResponse" | jq -r '[.ServiceActionSummaries[].Id] | join(",")')
             	       if [[ -n "$serviceActions" ]]; then
             	         provisioningArtifactServiceActionAssociations+=("${provisioningArtifactId}:${serviceActions}")
             	       fi
             	     done
             	 
             	     echo "Before deleting a product, the following associated resources must be disassociated. These resources will not be deleted. This action may take some time, depending on the number of resources being disassociated."
             	 
             	     echo "Portfolios:"
             	     for portfolioId in $portfolios; do
             	       echo "\t${portfolioId}"
             	     done
             	 
             	     echo "Budgets:"
             	     if [[ -n "$budgetName" ]]; then
             	       echo "\t${budgetName}"
             	     fi
             	 
             	     echo "Tag Options:"
             	     for tagOptionId in $tagOptions; do
             	       echo "\t${tagOptionId}"
             	     done
             	 
             	     echo "Service Actions on Provisioning Artifact:"
             	     for association in "${provisioningArtifactServiceActionAssociations[@]}"; do
             	       echo "\t${association}"
             	     done
             	 
             	     read -p "Are you sure you want to delete ${productId}? y,n "
             	     if [[ ! $REPLY =~ ^[Yy]$ ]]; then
             	        exit
             	     fi
             	 
             	     for portfolioId in $portfolios; do
             	       echo "Disassociating ${portfolioId}"
             	       aws servicecatalog disassociate-product-from-portfolio --product-id $productId --portfolio-id $portfolioId
             	     done
             	 
             	     if [[ -n "$budgetName" ]]; then
             	       echo "Disassociating ${budgetName}"
             	       aws servicecatalog disassociate-budget-from-resource --budget-name "$budgetName" --resource-id $productId
             	     fi
             	 
             	     for tagOptionId in $tagOptions; do
             	       echo "Disassociating ${tagOptionId}"
             	       aws servicecatalog disassociate-tag-option-from-resource --tag-option-id $tagOptionId --resource-id $productId
             	     done
             	 
             	     for association in "${provisioningArtifactServiceActionAssociations[@]}"; do
             	       associationPair=(${association//:/ })
             	       provisioningArtifactId=${associationPair[0]}
             	       serviceActionsList=${associationPair[1]}
             	       serviceActionIds=${serviceActionsList//,/ }
             	       for serviceActionId in $serviceActionIds; do
             	         echo "Disassociating ${serviceActionId} from ${provisioningArtifactId}"
             	         aws servicecatalog disassociate-service-action-from-provisioning-artifact --product-id $productId --provisioning-artifact-id $provisioningArtifactId --service-action-id $serviceActionId
             	       done
             	     done
             	 
             	     echo "Deleting product ${productId}"
             	     aws servicecatalog delete-product --id $productId
             	 
             	   }; f
   ```

1. Guarde el archivo. 

**Utilice la ventana del terminal para añadir el force-delete-product alias al `alias` archivo**

1. Abra una ventana del terminal y ejecute el siguiente comando

   `$ cat >> ~/.aws/cli/alias`

1. Pegue el script del alias en la ventana del terminal y, a continuación, pulse *CTRL\$1D* para salir del comando `cat`. 

**Llama al force-delete-product alias**

1. Ejecute los siguientes comandos en una ventana de su terminal para borrar el alias del producto.

   `$ aws servicecatalog force-delete-product {product-id} `

   El siguiente ejemplo muestra el comando alias `force-delete-product` y su respuesta resultante. 

   ```
                 $ aws servicecatalog force-delete-product prod-123
   ```

   ```
                 Before deleting a product, the following associated resources must be disassociated. These resources will not be deleted. This action may take some time, depending on the number of resources being disassociated.
                 Portfolios:
                   port-123
                 Budgets:
                     budgetName
                 Tag Options:
                     tag-123
                 Service Actions on Provisioning Artifact:
                     pa-123:act-123
                 Are you sure you want to delete prod-123? y,n
   ```

1. Introduzca `y` para confirmar que desea eliminar el producto. 

Tras eliminar correctamente el producto, la ventana de terminal mostrará los siguientes resultados

```
          Disassociating port-123
          Disassociating budgetName
          Disassociating tag-123
          Disassociating act-123 from pa-123
          Deleting product prod-123
```

## Recursos adicionales
<a name="product-delete-cli-resources"></a>

Para obtener más información sobre AWS CLI el uso de alias y la eliminación de AWS Service Catalog productos, consulta los siguientes recursos:
+ [Creación y uso de AWS CLI alias](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-alias.html) en la guía del usuario *AWS Command Line Interface (CLI)*. 
+ AWS CLI repositorio de [alias (repositorio](https://github.com/awslabs/awscli-aliases) git). 
+ [Eliminación de productos AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-delete.html). 
+ [AWS re:Invent 2016: The Effective AWS CLI User on](https://youtu.be/Xc1dHtWa9-Q?t=1593). *YouTube* 

# Resolver las disociaciones de recursos fallidas al eliminar un producto
<a name="product-delete-exception"></a>

Si su intento anterior de [eliminar un producto](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-delete.html) falló debido a excepciones de disociación de recursos, consulte la lista de excepciones y sus soluciones a continuación. 

**nota**  
Si ha cerrado la ventana **Eliminar productos** antes de recibir el mensaje de disociación fallida de un recurso, puede seguir los pasos del uno al tres de la sección correspondiente *Eliminar un producto* para volver a abrir la ventana.

**Para resolver un error en la disociación de un recurso**

En la ventana **Eliminar producto**, revise la columna **Estado** de la tabla de asociaciones. Identifique la excepción de disociación de recursos fallida y las soluciones sugeridas:


****  

| Tipo de excepción de estado | Causa | Resolución | 
| --- | --- | --- | 
| Product prod-\$1\$1\$1\$1 | AWS Service Catalog no se pudo eliminar el producto porque el producto todavía tiene presupuestos asociados TagOptions, al menos uno ProvisioningArtifact con acciones asociadas, el producto sigue asignado a una cartera, el producto tiene usuarios o tiene restricciones.  | Intente eliminar el producto de nuevo. | 
| Usuario: username no está autorizado para ejecutar: | El usuario que intenta eliminar el producto no tiene los permisos necesarios para disociar los recursos del producto.  | AWS Service Catalog recomienda ponerse en contacto con el administrador de su cuenta para obtener más información sobre cómo desasociar los recursos de productos que actualmente no tiene permiso para desvincular.  | 

# Administración de versiones
<a name="managing-versions"></a>

 Las versiones de producto se asignan cuando se crea un producto y se pueden actualizar en cualquier momento. 

 Las versiones tienen una CloudFormation plantilla, un título, una descripción, un estado y una guía. 

## Estado de la versión
<a name="version-status"></a>

 Una versión puede tener uno de estos tres estados: 
+  **Active (Activo)** : aparece una versión activa en la lista de versiones y permite a los usuarios lanzarla. 
+  **Inactive (Inactivo)** : una versión inactiva está oculta en la lista de versiones. Los productos aprovisionados existentes lanzados desde esta versión no se verán afectados. 
+  **Eliminado**: si se elimina una versión, se elimina de la lista de versiones. No se puede deshacer la eliminación de una versión. 

## Guía de versión
<a name="version-guidance"></a>

 Puede establecer la guía de versión para proporcionar información a los usuarios finales sobre la versión del producto. La guía de versión solo afecta a las versiones de productos activas. 

 Hay dos opciones para la guía de versión: 
+  **Ninguno**: de forma predeterminada, las versiones de los productos no incluyen ninguna guía. Los usuarios finales pueden usar esa versión para actualizar y lanzar los productos aprovisionados. 
+  **Obsoleto**: los usuarios no pueden lanzar nuevos productos aprovisionados con una versión de producto obsoleta. Si un producto aprovisionado lanzado anteriormente utiliza una versión ahora obsoleta, los usuarios solo pueden actualizar ese producto aprovisionado con la versión existente o con una versión nueva. 

## Actualización de versiones
<a name="updating-versions"></a>

 Las versiones de producto se asignan al crear un producto y también puede actualizar una versión en cualquier momento. Para obtener más información acerca de la creación de un producto, consulte [Creación de productos](productmgmt-cloudresource.md). 

**Para actualizar una versión de producto**

1.  En la AWS Service Catalog consola, selecciona **Productos**. 

1.  En la lista de productos, elija el producto del que desea actualizar la versión. 

1.  En la página **Product details (Detalles del producto)**, seleccione la pestaña **Versions (Versiones)**, a continuación elija la versión que desee actualizar. 

1.  En la página **Version details (Detalles de la versión)**, edite la versión del producto, a continuación, elija **Save changes (Guardar cambios)**. 