

# Registro de una extensión privada de terceros en su cuenta
<a name="registry-register-private-extension"></a>

En este tema se explican los pasos para registrar una extensión privada de terceros que se haya compartido con usted a fin de que esté disponible para usarla en su cuenta.

**nota**  
Antes de continuar, confirme que tiene los requisitos [Permisos de IAM](registry-private.md#registry-register-permissions) para registrar una extensión privada.

**Registro de una extensión privada que se comparte con usted (AWS CLI)**

1. Busque el bucket de Amazon S3 que contiene el paquete de proyecto para la extensión privada que desea registrar en la cuenta.

1. Use el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/register-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/register-type.html) para registrar la extensión privada en su cuenta.

   Por ejemplo, el siguiente comando registra el tipo de recurso `My::Resource::Example` en la Cuenta de AWS especificada.

   ```
   aws cloudformation register-type --type RESOURCE \
     --type-name My::Resource::Example \
     --schema-handler-package [s3 object path] --region us-west-2
   ```

   `RegisterType` es una operación asíncrona y devuelve un token de registro que puede utilizar para hacer un seguimiento del progreso de la solicitud de registro.

   ```
   {
       "RegistrationToken": "f5525280-104e-4d35-bef5-8f1fexample"
   }
   ```

   Si su extensión llama a las API de AWS como parte de su funcionalidad, debe crear un rol de ejecución de IAM que incluya los permisos necesarios para llamar a esas API de AWS y aprovisionar ese rol de ejecución en la cuenta. A continuación, puede especificar este rol de ejecución mediante la opción `--execution-role-arn`. CloudFormation asume entonces ese rol de ejecución para proporcionar las credenciales adecuadas a su tipo de recurso.

   ```
   --execution-role-arn arn:aws:iam::123456789012:role/MyIAMRole
   ```

1. (Opcional) Utilice el token de registro con el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-type-registration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-type-registration.html) para realizar un seguimiento del progreso de su solicitud de registro.

   Cuando CloudFormation completa la solicitud de registro, establece el estado de progreso de la solicitud en `COMPLETE`.

   En el siguiente ejemplo, se utiliza el token de registro devuelto por el comando `describe-type-registration` anterior para devolver información de estado de registro.

   ```
   aws cloudformation describe-type-registration \
     --registration-token f5525280-104e-4d35-bef5-8f1fexample \
     --region us-west-2
   ```

   El comando devuelve el resultado siguiente.

   ```
   {
       "ProgressStatus": "COMPLETE",
       "TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Resource-Example",
       "Description": "Deployment is currently in DEPLOY_STAGE of status COMPLETED; ",
       "TypeVersionArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Resource-Example/00000001"
   }
   ```

**importante**  
Si la extensión que está registrando es un enlace, el paso siguiente es obligatorio. Debe especificar `ENABLED` para la propiedad `HookInvocationStatus`. Esta operación habilita las propiedades del enlace que se definen en la sección `properties` del esquema del enlace. Para obtener más información, consulte [Referencia a la sintaxis del esquema de la configuración del enlace](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hook-configuration-schema.html) en la *Guía del usuario de enlaces de CloudFormation*.

**Especificar los datos de configuración para un enlace (AWS CLI)**

1. Obtenga del ARN para su enlace y guárdelo. Puede obtener el ARN de un enlace mediante Consola de administración de AWS o AWS CLI. Para obtener más información consulte () [Visualización de las extensiones disponibles y activadas en el registro de CloudFormation](registry-view.md). 

   ```
   export HOOK_TYPE_ARN="arn:aws:cloudformation:us-west-2:123456789012:type/hook/Organization-Service-Hook/"
   ```

1. Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html) para especificar los datos de configuración. El JSON que pase para `--configuration` debe validarse con el esquema de configuración del enlace. Para activar el enlace, debe establecer la propiedad `HookInvocationStatus` en `ENABLED` en la sección `HookConfiguration`.

   ```
   aws cloudformation set-type-configuration \
     --configuration "{"CloudFormationConfiguration":{"HookConfiguration":{"HookInvocationStatus": "ENABLED", "FailureMode": "FAIL", "Properties":{}}}}" \
     --type-arn $HOOK_TYPE_ARN --region us-west-2
   ```

   Para obtener más información, consulte [Referencia a la sintaxis del esquema de la configuración del enlace](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hook-configuration-schema.html) en la *Guía del usuario de enlaces de CloudFormation*.