

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.

# Supervisión de los despliegues en CodeDeploy
<a name="monitoring"></a>

La supervisión es una parte importante del mantenimiento de la fiabilidad, la disponibilidad y el rendimiento de CodeDeploy sus AWS soluciones. Debe recopilar los datos de supervisión de todas las partes de la AWS solución para poder depurar más fácilmente una falla multipunto en caso de que se produzca. Sin embargo CodeDeploy, antes de empezar a monitorizar, debe crear un plan de monitorización que incluya respuestas a las siguientes preguntas:
+ ¿Cuáles son los objetivos de la supervisión?
+ ¿Qué recursos va a supervisar?
+ ¿Con qué frecuencia va a supervisar estos recursos?
+ ¿Qué herramientas de supervisión va a utilizar?
+ ¿Quién se encargará de realizar las tareas de supervisión?
+ ¿Quién debería recibir una notificación cuando surjan problemas?

El siguiente paso es establecer una línea base para el CodeDeploy rendimiento normal de su entorno, midiendo el rendimiento en distintos momentos y bajo diferentes condiciones de carga. Mientras supervisa CodeDeploy, almacene los datos históricos de supervisión para poder compararlos con los datos de rendimiento actuales, identificar los patrones de rendimiento normales y las anomalías de rendimiento y diseñar métodos para abordar los problemas.

Por ejemplo, si lo utiliza CodeDeploy, puede supervisar el estado de las implementaciones y las instancias de destino. Cuando las implementaciones o las instancias fallan, es posible que tenga que volver a configurar un archivo de especificaciones de la aplicación, reinstalar o actualizar el CodeDeploy agente, actualizar la configuración de una aplicación o un grupo de implementaciones, o realizar cambios en la configuración de la instancia o en un archivo. AppSpec 

Para establecer un punto de referencia debe, como mínimo, monitorizar los elementos siguientes:
+ Eventos y estado de la implementación
+ Eventos y estado de la instancia

## Herramientas de monitoreo automatizadas
<a name="monitoring_automated_tools"></a>

AWS proporciona varias herramientas que puede utilizar para supervisar. CodeDeploy Puede configurar algunas de estas herramientas para que monitoricen por usted, pero otras herramientas requieren intervención manual. Le recomendamos que automatice las tareas de supervisión en la medida de lo posible.

Puede utilizar las siguientes herramientas de supervisión automatizadas para observar CodeDeploy e informar cuando algo va mal:
+ **Amazon CloudWatch Alarms**: observe una sola métrica durante un período de tiempo que especifique y realice una o más acciones en función del valor de la métrica en relación con un umbral determinado durante varios períodos de tiempo. La acción es una notificación enviada a un tema del Servicio de Notificación Simple (Amazon SNS) o a una política de Amazon EC2 Auto Scaling. CloudWatch las alarmas no invocan acciones simplemente porque se encuentran en un estado determinado; el estado debe haber cambiado y se ha mantenido durante un número específico de períodos. Para obtener más información, consulte [Supervisión de las implementaciones con las herramientas de Amazon CloudWatch](monitoring-cloudwatch.md).

  Para obtener información sobre la actualización del rol de servicio para trabajar con la monitorización de alarmas de CloudWatch , consulte [Otorgue CloudWatch permisos a un rol CodeDeploy de servicio](monitoring-create-alarms-grant-permissions.md). Para obtener información sobre cómo añadir la supervisión de CloudWatch alarmas a sus CodeDeploy operaciones, consulte [Cree una aplicación con CodeDeploy](applications-create.md)[Cree un grupo de despliegue con CodeDeploy](deployment-groups-create.md), o[Cambie la configuración del grupo de implementación con CodeDeploy](deployment-groups-edit.md).

  
+ **Amazon CloudWatch Logs**: supervise, almacene y acceda a sus archivos de registro desde AWS CloudTrail u otras fuentes. Para obtener más información, consulte [Supervisión de archivos de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) en la *Guía del CloudWatch usuario de Amazon*.

  Para obtener información sobre el uso de la CloudWatch consola para ver CodeDeploy los registros, consulte [Ver CodeDeploy los registros en la consola de CloudWatch registros](https://aws.amazon.com/blogs/devops/view-aws-codedeploy-logs-in-amazon-cloudwatch-console/).
+ **Amazon CloudWatch Events**: haga coincidir los eventos y diríjalos a una o más funciones o transmisiones de destino para realizar cambios, capturar información de estado y tomar medidas correctivas. Para obtener más información, consulta [Qué es Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchEvents.html) en la *Guía del CloudWatch usuario de Amazon*.

  Para obtener información sobre el uso de CloudWatch Events en sus CodeDeploy operaciones, consulte[Supervisión de despliegues con Amazon Events CloudWatch](monitoring-cloudwatch-events.md).
+ **AWS CloudTrail Supervisión** de registros: comparta archivos de registro entre cuentas, supervise los archivos de CloudTrail registro en tiempo real enviándolos a CloudWatch Logs, cree aplicaciones de procesamiento de registros en Java y valide que los archivos de registro no hayan cambiado después de su entrega CloudTrail. Para obtener más información, consulte [Trabajar con archivos de CloudTrail registro](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-working-with-log-files.html) en la *Guía del AWS CloudTrail usuario*. 

  Para obtener información sobre su uso CloudTrail con CodeDeploy, consulte[Supervisar los despliegues con AWS CloudTrail](monitoring-cloudtrail.md).
+ **Amazon Simple Notification Service**: configure disparadores basados en eventos para recibir notificaciones de correo electrónico o SMS sobre eventos de implementaciones e instancias, como el éxito o el error. Para obtener más información, consulte [Crear un tema](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) y [¿Qué es Amazon Simple Notification Service?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html).

  Para obtener información sobre cómo configurar las notificaciones de Amazon SNS para CodeDeploy, consulte. [Monitorización de implementaciones con notificaciones de eventos de Amazon SNS](monitoring-sns-event-notifications.md)

## Herramientas de supervisión manuales
<a name="monitoring_manual_tools"></a>

Otra parte importante del monitoreo CodeDeploy consiste en monitorear manualmente los elementos que las CloudWatch alarmas no cubren. El CodeDeploy panel de control y otros paneles de la AWS consola proporcionan una at-a-glance vista del estado de su AWS entorno. CloudWatch Le recomendamos que compruebe también los archivos de registro de las CodeDeploy implementaciones.
+ CodeDeploy la consola muestra:
  + El estado de las implementaciones
  + La fecha y la hora de cada uno de los últimos intentos de implementación y la última implementación correcta de una revisión
  + El número de instancias correctas, erróneas, omitidas o en curso de una implementación
  + El estado de las instancias on-premise
  + La fecha y la hora en las que se han registrado o anulado las instancias on-premise
+ CloudWatch la página de inicio muestra:
  + Alarmas y estado actual
  + Gráficos de alarmas y recursos
  + Estado de los servicios

  Además, se puede utilizar CloudWatch para hacer lo siguiente: 
  + Crear [paneles personalizados](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CloudWatch_Dashboards.html) para monitorizar los servicios que le interesan
  + Realizar un gráfico con los datos de las métricas para resolver problemas y descubrir tendencias
  + Busque y explore todas sus métricas AWS de recursos
  + Crear y editar las alarmas de notificación de problemas

**Temas**
+ [Monitoring Deployments with Amazon CloudWatch Tools](monitoring-cloudwatch.md)
+ [Monitoring Deployments](monitoring-cloudtrail.md)
+ [Monitoring Deployments with Amazon SNS Event Notifications](monitoring-sns-event-notifications.md)

# Supervisión de las implementaciones con las herramientas de Amazon CloudWatch
<a name="monitoring-cloudwatch"></a>

Puede supervisar CodeDeploy las implementaciones con las siguientes CloudWatch herramientas: Amazon CloudWatch Events, CloudWatch alarmas y Amazon CloudWatch Logs. 

Revisar los registros creados por el CodeDeploy agente y las implementaciones puede ayudarle a solucionar las causas de los errores de implementación. Como alternativa a revisar CodeDeploy los registros de una instancia a la vez, puede usar CloudWatch los registros para monitorear todos los registros en una ubicación central.

Para obtener información sobre el uso de CloudWatch alarmas y CloudWatch eventos para monitorear CodeDeploy las implementaciones, consulta los siguientes temas. 

**Topics**
+ [Supervisión de las implementaciones con CloudWatch alarmas en CodeDeploy](monitoring-create-alarms.md)
+ [Supervisión de despliegues con Amazon Events CloudWatch](monitoring-cloudwatch-events.md)

# Supervisión de las implementaciones con CloudWatch alarmas en CodeDeploy
<a name="monitoring-create-alarms"></a>

Puede crear una CloudWatch alarma para una instancia o grupo de Amazon EC2 Auto Scaling que utilice en CodeDeploy sus operaciones. Una alarma vigila una única métrica durante un período de tiempo que usted especifique y realiza una o más acciones en función del valor de la métrica en relación con un umbral determinado durante varios períodos de tiempo. CloudWatch las alarmas invocan acciones cuando su estado cambia (por ejemplo, de `OK` a`ALARM`).

Con la funcionalidad de CloudWatch alarma nativa, puede especificar cualquiera de las acciones que se admiten CloudWatch cuando se produce un error en una instancia que está utilizando en una implementación, como enviar una notificación de Amazon SNS o detener, terminar, reiniciar o recuperar una instancia. Para sus CodeDeploy operaciones, puede configurar un grupo de despliegues para que detenga un despliegue cada vez que se active cualquier CloudWatch alarma que asocie al grupo de despliegues. 

Puede asociar hasta diez CloudWatch alarmas a un grupo CodeDeploy de despliegue. Si se activa cualquiera de las alarmas especificadas, la implementación se detiene y el estado se actualiza a Stopped. Para utilizar esta opción, debe conceder CloudWatch permisos a su función CodeDeploy de servicio.

Para obtener información sobre la configuración de CloudWatch alarmas en la CloudWatch consola, consulte [Creación de CloudWatch alarmas de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AlarmThatSendsEmail.html) en la *Guía del CloudWatch usuario de Amazon*.

Para obtener información sobre cómo asociar una CloudWatch alarma a un grupo de despliegues en CodeDeploy, consulte [Cree un grupo de despliegue con CodeDeploy](deployment-groups-create.md) y[Cambie la configuración del grupo de implementación con CodeDeploy](deployment-groups-edit.md).

**Topics**
+ [Otorgue CloudWatch permisos a un rol CodeDeploy de servicio](monitoring-create-alarms-grant-permissions.md)

# Otorgue CloudWatch permisos a un rol CodeDeploy de servicio
<a name="monitoring-create-alarms-grant-permissions"></a>

Antes de poder utilizar la supervisión de CloudWatch alarmas en sus despliegues, debe concederse permiso a la función de servicio que utilice en sus CodeDeploy operaciones para acceder a los CloudWatch recursos. 

**Para conceder CloudWatch permisos a un rol de servicio**

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación de la consola de IAM, elija **Roles**.

1. Elija el nombre de la función de servicio que utiliza en sus AWS CodeDeploy operaciones.

1. En la pestaña **Permissions**, en el área **Inline Policies**, elija **Create Role Policy**.

   –o bien–

   Si el botón **Create Role Policy** no está disponible, expanda el área **Inline Policies** y después elija **click here**.

1. En la página **Set Permissions**, elija **Custom Policy** y después **Select**.

1. En la página **Review Policy**, en el campo **Policy Name**, escriba un nombre que identifique esta política, como `CWAlarms`.

1. Pegue la siguiente información en el campo **Policy Document:** 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "cloudwatch:DescribeAlarms",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Seleccione **Apply Policy**.

# Supervisión de despliegues con Amazon Events CloudWatch
<a name="monitoring-cloudwatch-events"></a>

Puede usar Amazon CloudWatch Events para detectar cambios en el estado de una instancia o un despliegue (un «evento») en sus CodeDeploy operaciones y reaccionar ante ellos. Luego, en función de las reglas que cree, CloudWatch Events invocará una o más acciones objetivo cuando una implementación o instancia entre en el estado que especifique en una regla. En función del tipo de cambio de estado, es posible que desee enviar notificaciones, capturar información de estado, tomar medidas correctivas, iniciar eventos o adoptar otras medidas. Puede seleccionar los siguientes tipos de objetivos cuando utilice CloudWatch Events como parte de sus CodeDeploy operaciones:
+ AWS Lambda funciones
+  Flujos de Kinesis
+ Colas de Amazon SQS
+ Destinos integrados (`EC2 CreateSnapshot API call`, `EC2 RebootInstances API call`, `EC2 StopInstances API call` y `EC2 TerminateInstances API call`)
+ Temas de Amazon SNS

A continuación se indican algunos casos de uso:
+ Utilice una función Lambda para pasar una notificación a un canal de Slack siempre que se produzcan errores en las implementaciones.
+ Envíe datos acerca de las implementaciones o instancias a un flujo de Kinesis para permitir una monitorización completa del estado en tiempo real.
+ Utilice acciones de CloudWatch alarma para detener, finalizar, reiniciar o recuperar automáticamente las EC2 instancias de Amazon cuando se produzca un evento de implementación o instancia que especifique.

El resto de este tema describe el procedimiento básico para crear una regla de CloudWatch eventos para CodeDeploy. Sin embargo, antes de crear reglas de eventos para utilizarlas en sus CodeDeploy operaciones, debe hacer lo siguiente:
+ Complete los requisitos previos de los CloudWatch eventos. Para obtener más información, consulte los [requisitos previos de Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CWE_Prerequisites.html).
+ Familiarícese con los eventos, las reglas y los objetivos de CloudWatch Events. Para obtener más información, consulta [¿Qué es Amazon CloudWatch Events?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) y [nuevos CloudWatch eventos: realice un seguimiento de los cambios en sus AWS recursos y responda a ellos](https://aws.amazon.com/blogs/aws/new-cloudwatch-events-track-and-respond-to-changes-to-your-aws-resources/).
+ Crear el destino o los destinos que se utilizarán en las reglas de eventos. 

**Para crear una regla de CloudWatch eventos para CodeDeploy:**

1. Abre la CloudWatch consola en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Events (Eventos)**.

1. Elija **Create rule (Crear regla)** y, a continuación, en **Event selector (Selector de eventos)**, elija **AWS CodeDeploy**.

1. Especifique un tipo de detalle:
   + Para crear una regla que se aplique a todos los cambios de estado de las instancias y las implementaciones, elija **Any detail type (Cualquier tipo de detalle)** y continúe en el paso 6.
   + Para crear una regla que se aplique solo a las instancias, elija un **tipo de detalle específico** y, a continuación, elija **Notificación de cambio de estado de la CodeDeploy instancia**.
   + Para crear una regla que se aplique únicamente a las implementaciones, elija un **tipo de detalle específico** y, a continuación, elija Notificación de cambio de **estado de la CodeDeploy implementación**.

1. Especifique los cambios de estado a los que se aplica la regla:
   + Para crear una regla que se aplique a todos los cambios de estado, elija **Any state (Cualquier estado)**.
   + Para crear una regla que se aplique únicamente a algunos cambios de estado, seleccione **Specific state(s) (Estados específicos)** y luego elija uno o varios valores de estado de la lista. En la siguiente tabla se muestran los valores de estado que puede elegir:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/codedeploy/latest/userguide/monitoring-cloudwatch-events.html)

1. Especifique a qué CodeDeploy aplicaciones se aplica la regla:
   + Para crear una regla que se aplique a todas las aplicaciones, elija **Any application (Cualquier aplicación)** y continúe en el paso 8.
   + Para crear una regla que se aplique únicamente a una aplicación, seleccione **Specific application (Aplicación específica)** y luego elija el nombre de la aplicación en la lista.

1. Especifique los grupos de implementaciones a los que se aplica la regla:
   + Para crear una regla que se aplique a todos los grupos de implementaciones asociados a la aplicación seleccionada, elija **Any deployment group (Cualquier grupo de implementaciones)**.
   + Para crear una regla que se aplique únicamente a uno de los grupos de implementaciones asociados a la aplicación seleccionada, seleccione **Specific deployment group(s) (Grupos de implementaciones específicos)** y, a continuación, elija el nombre del grupo de implementaciones en la lista.

1. Revise la configuración de las reglas para asegurarse de que se ajusta a los requisitos de monitorización de eventos.

1. En el área **Targets**, seleccione **Add target\$1**.

1. En la lista **Select target type**, elija el tipo de destino que haya preparado para usarlo con esta regla y luego configure las opciones adicionales que requiera dicho tipo. 

1. Seleccione **Configurar los detalles**.

1. En la página **Configure rule details (Configurar detalles de la regla)**, escriba un nombre y la descripción de la regla, y, a continuación, elija la casilla **State (Estado)** para habilitar la regla ahora.

1. Si está satisfecho con la regla, elija **Create rule (Crear regla)**.

# Supervisar los despliegues con AWS CloudTrail
<a name="monitoring-cloudtrail"></a>

CodeDeploy está integrado con CloudTrail un servicio que captura las llamadas a la API realizadas por o en su nombre CodeDeploy en su AWS cuenta y entrega los archivos de registro a un bucket de Amazon S3 que especifique. CloudTrailcaptura las llamadas a la API desde la CodeDeploy consola, desde CodeDeploy los comandos a través de ella o CodeDeploy APIs directamente desde ella. AWS CLI Con la información recopilada por CloudTrail, puede determinar a qué solicitud se realizó CodeDeploy, la dirección IP de origen desde la que se realizó la solicitud, quién la hizo, cuándo se realizó, etc. Para obtener más información CloudTrail, incluido cómo configurarla y habilitarla, consulte la [Guía AWS CloudTrail del usuario](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## CodeDeploy información en CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

Cuando se habilita el CloudTrail registro en su AWS cuenta, las llamadas a la API realizadas a CodeDeploy las acciones se registran en los archivos de registro. CodeDeploy los registros se escriben junto con otros registros AWS de servicio en un archivo de registro. CloudTrail determina cuándo crear y escribir en un nuevo archivo en función del período de tiempo y el tamaño del archivo.

Todas las CodeDeploy acciones se registran y documentan en la Referencia de la [línea de AWS CodeDeploy comandos y la Referencia](https://docs.aws.amazon.com/cli/latest/reference/deploy/index.html) de la [AWS CodeDeploy API](https://docs.aws.amazon.com/codedeploy/latest/APIReference/). Por ejemplo, las llamadas para crear despliegues, eliminar aplicaciones y registrar las revisiones de las aplicaciones generan entradas en los archivos de CloudTrail registro. 

Cada entrada de registro contiene información sobre quién generó la solicitud. La información de identidad del usuario en el registro le ayuda a determinar si la solicitud se realizó con credenciales raíz o de usuario, con credenciales de seguridad temporales para un rol o usuario federado, o por otro AWS servicio. Para obtener más información, consulte el campo **userIdentity** en la [Referencia de eventos de CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/event_reference_top_level.html).

Puede almacenar los archivos de registro en su bucket durante todo el tiempo que desee, pero también puede definir reglas de ciclo de vida de Amazon S3 para archivar o eliminar archivos de registro automáticamente. De forma predeterminada, se usa el cifrado del servidor (SSE) de Amazon S3 para cifrar los archivos de registro.

Puede hacer que se CloudTrail publiquen notificaciones de Amazon SNS cuando se entreguen nuevos archivos de registro. Para obtener más información, consulte [Configuración de notificaciones de Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html).

También puede CodeDeploy agrupar archivos de registro de varias AWS regiones y AWS cuentas en un único bucket de Amazon S3. Para obtener más información, consulte [Recibir archivos de CloudTrail registro de varias regiones](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/aggregating_logs_top_level.html).

## Descripción de las entradas de los archivos de CodeDeploy registro
<a name="understanding-service-name-entries"></a>

CloudTrail Los archivos de registro pueden contener una o más entradas de registro, donde cada entrada se compone de varios eventos con formato JSON. Una entrada de registro representa una única solicitud de cualquier origen e incluye información sobre la acción solicitada, los parámetros, la fecha y la hora de la acción, etcétera. Las entradas de registro no se muestran en ningún orden concreto. Es decir, no representan un rastro de la pila ordenada de las llamadas a API públicas.

En el siguiente ejemplo, se muestra una entrada de CloudTrail registro que muestra la acción de CodeDeploy crear un grupo de despliegues:

```
{
	"Records": [{
		"eventVersion": "1.02",
		"userIdentity": {
			"type": "AssumedRole",
			"principalId": "AKIAI44QH8DHBEXAMPLE:203.0.113.11",
			"arn": "arn:aws:sts::123456789012:assumed-role/example-role/203.0.113.11",
			"accountId": "123456789012",
			"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
			"sessionContext": {
				"attributes": {
					"mfaAuthenticated": "false",
					"creationDate": "2014-11-27T03:57:36Z"
				},
				"sessionIssuer": {
					"type": "Role",
					"principalId": "AKIAI44QH8DHBEXAMPLE",
					"arn": "arn:aws:iam::123456789012:role/example-role",
					"accountId": "123456789012",
					"userName": "example-role"
				}
			}
		},
		"eventTime": "2014-11-27T03:57:36Z",
		"eventSource": "codedeploy.amazonaws.com",
		"eventName": "CreateDeploymentGroup",
		"awsRegion": "us-west-2",
		"sourceIPAddress": "203.0.113.11",
		"userAgent": "example-user-agent-string",
		"requestParameters": {
			"applicationName": "ExampleApplication",
			"serviceRoleArn": "arn:aws:iam::123456789012:role/example-instance-group-role",
			"deploymentGroupName": "ExampleDeploymentGroup",
			"ec2TagFilters": [{
                "value": "CodeDeployDemo",
				"type": "KEY_AND_VALUE",
				"key": "Name"
            }],
            "deploymentConfigName": "CodeDeployDefault.HalfAtATime"
		},
		"responseElements": {
			"deploymentGroupId": "7d64e680-e6f4-4c07-b10a-9e117EXAMPLE"
		},
		"requestID": "86168559-75e9-11e4-8cf8-75d18EXAMPLE",
		"eventID": "832b82d5-d474-44e8-a51d-093ccEXAMPLE",
		"eventType": "AwsApiCall",
		"recipientAccountId": "123456789012"
	},
    ... additional entries ...
    ]
}
```

# Monitorización de implementaciones con notificaciones de eventos de Amazon SNS
<a name="monitoring-sns-event-notifications"></a>

Puede añadir activadores a un grupo de CodeDeploy implementaciones para recibir notificaciones sobre eventos relacionados con las implementaciones o instancias de ese grupo de implementaciones. Estas notificaciones se envían a los destinatarios que están suscritos a un tema de Amazon SNS que forma parte de la acción del activador. 

Puede recibir notificaciones de CodeDeploy eventos en mensajes SMS o mensajes de correo electrónico. También puede utilizar de otras formas los datos JSON que se crean cuando se produce un evento determinado, por ejemplo, enviando mensajes a colas de Amazon SQS o invocando una función en AWS Lambda. Para conocer la estructura de los datos JSON proporcionados para los disparadores de implementación e instancia, consulte [Formatos de datos JSON para los activadores CodeDeploy](monitoring-sns-event-notifications-json-format.md).

Puede optar por utilizar disparadores para recibir notificaciones si:
+ Es desarrollador y necesita saber cuándo se detiene o cuándo se produce un error en una implementación para que pueda solucionar los problemas.
+ Es administrador del sistema y necesita saber en cuántas instancias se producen errores para poder monitorizar el estado de la flota de Amazon EC2.
+ Usted es un administrador que desea llevar un registro at-a-glance de los eventos de implementación e instancia, lo que puede obtener mediante reglas de filtrado que redirigen los distintos tipos de notificaciones a las carpetas de su cliente de correo electrónico de escritorio. 

Puede crear hasta 10 activadores para cada grupo de CodeDeploy implementación, para cualquiera de los siguientes tipos de eventos.


| Eventos de implementación | Eventos de instancia | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/codedeploy/latest/userguide/monitoring-sns-event-notifications.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/codedeploy/latest/userguide/monitoring-sns-event-notifications.html)  | 
| ¹ Solo se aplica a blue/green las implementaciones. Indica que la última revisión de la aplicación se ha instalado en las instancias de un entorno de sustitución y que el tráfico del entorno original se puede redirigir ahora tras un balanceador de carga. Para obtener más información, consulte [Trabajar con despliegues en CodeDeploy](deployments.md). | 

**Topics**
+ [Concesión de permisos de Amazon SNS a un rol de servicio](monitoring-sns-event-notifications-permisssions.md)
+ [Crea un desencadenante para un CodeDeploy evento](monitoring-sns-event-notifications-create-trigger.md)
+ [Edición de un disparador en un grupo de implementación](monitoring-sns-event-notifications-edit-trigger.md)
+ [Eliminación de un disparador de un grupo de implementación](monitoring-sns-event-notifications-delete-trigger.md)
+ [Formatos de datos JSON para los disparadores](monitoring-sns-event-notifications-json-format.md)

# Conceder permisos de Amazon SNS a un rol de servicio CodeDeploy
<a name="monitoring-sns-event-notifications-permisssions"></a>

Antes de que sus activadores puedan generar notificaciones, debe concederse permiso al rol de servicio que utilice en sus CodeDeploy operaciones para acceder a los recursos de Amazon SNS. 

**Para conceder permisos de Amazon SNS a un rol de servicio**

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. En el panel de navegación de la consola de IAM, elija **Roles**.

1. Elija el nombre del rol de servicio que usará en las operaciones de AWS CodeDeploy .

1. En la pestaña **Permissions**, en el área **Inline Policies**, elija **Create Role Policy**.

   –o bien–

   Si el botón **Create Role Policy** no está disponible, expanda el área **Inline Policies** y después elija **click here**.

1. En la página **Set Permissions**, elija **Custom Policy** y después **Select**.

1. En la página **Review Policy (Revisar la política)**, en el campo **Policy Name (Nombre de la política)**, introduzca un nombre que identifique esta política, como `SNSPublish`.

1. Pegue la siguiente información en el campo **Policy Document:** 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "sns:Publish",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Seleccione **Apply Policy**.

# Cree un desencadenante para un evento CodeDeploy
<a name="monitoring-sns-event-notifications-create-trigger"></a>

Puede crear un disparador que publique un tema de Amazon Simple Notification Service (Amazon SNS) para un evento de implementación o de instancia de AWS CodeDeploy . A continuación, cuando se produzca ese evento, todos los suscriptores del tema asociado recibirán notificaciones a través del punto de conexión especificado en el tema, como un mensaje SMS o un mensaje de correo electrónico. Amazon SNS ofrece varios métodos para suscribirse a temas.

Antes de crear un disparador, debe configurar el tema de Amazon SNS al que apuntará el disparador. Para obtener información, consulte [Creación de un tema](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html). Cuando cree un tema, recomendamos que le asigne un nombre que identifique su finalidad, con un formato como `Topic-group-us-west-3-deploy-fail` o `Topic-group-project-2-instance-stop`. 

También debes conceder permisos de Amazon SNS a un rol de CodeDeploy servicio antes de poder enviar las notificaciones para tu activador. Para obtener información, consulte [Conceder permisos de Amazon SNS a un rol de servicio CodeDeploy](monitoring-sns-event-notifications-permisssions.md).

Una vez que haya creado el tema, puede añadir suscriptores. Para obtener información sobre cómo crear, administrar y suscribirse a los temas, consulte [¿Qué es Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)?.



## Cree un disparador para enviar notificaciones de CodeDeploy eventos (consola)
<a name="monitoring-sns-event-notifications-create-trigger-console"></a>

Puedes usar la CodeDeploy consola para crear activadores de un CodeDeploy evento. Al finalizar el proceso de configuración, se envía un mensaje de notificación de prueba para garantizar que tanto los permisos como los detalles de los desencadenadores están configurados correctamente.

**Para crear un desencadenante para un CodeDeploy evento**

1. En el Consola de administración de AWS, abre la AWS CodeDeploy consola.

1. Inicie sesión en Consola de administración de AWS y abra la CodeDeploy consola en [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy).
**nota**  
Inicie sesión con el mismo usuario que configuró en [Empezar con CodeDeploy](getting-started-codedeploy.md).

1. En el panel de navegación, expanda **Implementar** y, después, elija **Aplicaciones**.

1. En la página **Applications (Aplicaciones)**, elija el nombre de la aplicación asociada al grupo de implementaciones en el que desee añadir un disparador.

1. En la página **Application details (Detalles de la aplicación)**, elija el grupo de implementaciones en el que desee añadir un disparador.

1.  Elija **Edit (Edición de)**. 

1.  Expanda **Advanced (Opciones avanzadas) (opcional)**. 

1.  En el área **Triggers (Disparadores)**, elija **Create trigger (Crear disparador)**. 

1. En el panel **Create deployment trigger (Crear disparador de implementaciones)**, realice lo siguiente:

   1. En **Trigger name (Nombre del disparador)**, introduzca un nombre para el disparador que facilite la identificación de su finalidad. Recomendamos un formato como `Trigger-group-us-west-3-deploy-fail` o `Trigger-group-eu-central-instance-stop`.

   1. En **Eventos**, elija los tipos de evento que desee que disparen el envío de notificaciones por parte del tema de Amazon SNS. 

   1. En **Temas de Amazon SNS**, elija el nombre del tema que ha creado para enviar notificaciones para este disparador.

   1.  Selecciona **Crear disparador**. CodeDeploy envía una notificación de prueba para confirmar que ha configurado correctamente el acceso entre CodeDeploy y el tema Amazon SNS. En función del tipo de punto de enlace que haya seleccionado para el tema y de si se ha suscrito al tema, recibe un mensaje SMS o de correo electrónico de confirmación. 

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

## Crear un disparador para enviar notificaciones de CodeDeploy eventos (CLI)
<a name="monitoring-sns-event-notifications-create-trigger-cli"></a>

Puede utilizar la CLI para incluir disparadores al crear un grupo de implementaciones, o bien puede añadir disparadores a un grupo de implementaciones existente.

### Para crear un disparador de envío de notificaciones para un nuevo grupo de implementaciones
<a name="monitoring-sns-event-notifications-create-trigger-cli-new"></a>

Cree un archivo JSON para configurar el grupo de implementación y, a continuación, ejecute el [create-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)comando mediante la `--cli-input-json` opción. 

La forma más sencilla de crear el archivo JSON es utilizar la opción `--generate-cli-skeleton` para obtener una copia del formato JSON y, a continuación, proporcionar los valores necesarios en un editor de texto sin formato.

1. Ejecute el siguiente comando y, a continuación, copie los resultados en un editor de texto sin formato.

   ```
   aws deploy create-deployment-group --generate-cli-skeleton
   ```

1. Agrega el nombre de una CodeDeploy aplicación existente a la salida:

   ```
   {
       "applicationName": "TestApp-us-east-2",
       "deploymentGroupName": "",
       "deploymentConfigName": "",
       "ec2TagFilters": [
           {
               "Key": "",
               "Value": "",
               "Type": ""
           }
       ],
       "onPremisesInstanceTagFilters": [
           {
               "Key": "",
               "Value": "",
               "Type": ""
           }
       ],
       "autoScalingGroups": [
           ""
       ],
       "serviceRoleArn": "",
       "triggerConfigurations": [
           {
               "triggerName": "",
               "triggerTargetArn": "",
               "triggerEvents": [
                   ""
               ]
           }
       ]
   }
   ```

1. Proporcione los valores de los parámetros que desea configurar.

   Al utilizar el [create-deployment-group](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentGroup.html)comando, debe proporcionar, como mínimo, valores para los siguientes parámetros:
   + `applicationName`: el nombre de una aplicación ya creada en su cuenta. 
   + `deploymentGroupName`: un nombre para el grupo de implementaciones que va a crear.
   + `serviceRoleArn`: El ARN de un rol de servicio existente configurado CodeDeploy en su cuenta. Para obtener información, consulte [Paso 2: Crear un rol de servicio para CodeDeploy](getting-started-create-service-role.md).

   En la sección `triggerConfigurations`, proporcione valores para los siguientes parámetros: 
   + `triggerName`: el nombre que desea asignar al disparador para que pueda identificarlo fácilmente. Recomendamos un formato como `Trigger-group-us-west-3-deploy-fail` o `Trigger-group-eu-central-instance-stop`.
   + `triggerTargetArn`: el ARN del tema de Amazon SNS que ha creado para asociar al disparador, en este formato: `arn:aws:sns:us-east-2:444455556666:NewTestTopic`.
   + `triggerEvents`: el tipo de evento o eventos para los que desea disparar notificaciones. Puede especificar uno o varios tipos de eventos, separando con comas los distintos nombres de tipo de evento (por ejemplo, `"triggerEvents":["DeploymentSuccess","DeploymentFailure","InstanceFailure"]`). Cuando añade más de un tipo de evento, las notificaciones de todos esos tipos se envían al tema especificado, en lugar de enviarse a un tema diferente para cada una de ellas. Puede elegir entre los siguientes tipos de evento:
     + DeploymentStart
     + DeploymentSuccess
     + DeploymentFailure
     + DeploymentStop
     + DeploymentRollback
     + DeploymentReady (Solo se aplica a las instancias de reemplazo en una blue/green implementación)
     + InstanceStart
     + InstanceSuccess
     + InstanceFailure
     + InstanceReady (Solo se aplica a las instancias de reemplazo en una blue/green implementación)

   El siguiente ejemplo de configuración crea un grupo de implementaciones denominado `dep-group-ghi-789-2` para una aplicación llamada `TestApp-us-east-2` y un disparador que provoca el envío de notificaciones siempre que una implementación comience o se realice correctamente o cuando se produzca un error en ella:

   ```
   {
       "applicationName": "TestApp-us-east-2",
       "deploymentConfigName": "CodeDeployDefault.OneAtATime",
       "deploymentGroupName": "dep-group-ghi-789-2",
       "ec2TagFilters": [
           {
               "Key": "Name",
               "Value": "Project-ABC",
               "Type": "KEY_AND_VALUE"
           }
       ],
       "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role",
       "triggerConfigurations": [
           {
               "triggerName": "Trigger-group-us-east-2",
               "triggerTargetArn": "arn:aws:sns:us-east-2:444455556666:us-east-deployments",
               "triggerEvents": [
                   "DeploymentStart",
                   "DeploymentSuccess",
                   "DeploymentFailure"
               ]
           }
       ]
   }
   ```

1. Guarde las actualizaciones como un archivo JSON y, a continuación, llame a dicho archivo con la opción `--cli-input-json` cuando ejecute el comando **create-deployment-group**:
**importante**  
Asegúrese de incluir `file://` antes del nombre de archivo. Es obligatorio en este comando.

   ```
   aws deploy create-deployment-group --cli-input-json file://filename.json
   ```

   Al finalizar el proceso de creación, recibe un mensaje de notificación de prueba que indica que tanto los permisos como los detalles de los disparadores están configurados correctamente.

### Para crear un disparador de envío de notificaciones para un grupo de implementaciones existente
<a name="monitoring-sns-event-notifications-create-trigger-cli-existing"></a>

Para usar el AWS CLI para añadir activadores de CodeDeploy eventos a un grupo de despliegues existente, crea un archivo JSON para actualizar el grupo de despliegues y, a continuación, ejecuta el [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)comando mediante la `--cli-input-json` opción. 

La forma más sencilla de crear el archivo JSON es ejecutar el comando **get-deployment-group** para obtener una copia de la configuración del grupo de implementaciones, en formato JSON y, a continuación, actualizar los valores de los parámetros en un editor de texto sin formato.

1.  Ejecute el siguiente comando y, a continuación, copie los resultados en un editor de texto sin formato.

   ```
   aws deploy get-deployment-group --application-name application --deployment-group-name deployment-group
   ```

1. Elimine lo siguiente del resultado:
   + Al principio del resultado, elimine `{ "deploymentGroupInfo":`.
   + Al final del resultado, elimine `}`. 
   + Elimine la fila que contiene `deploymentGroupId`.
   + Elimine la fila que contiene `deploymentGroupName`.

   El contenido de su archivo de texto debe tener ahora un aspecto similar al siguiente:

   ```
   {
       "applicationName": "TestApp-us-east-2",
       "deploymentConfigName": "CodeDeployDefault.OneAtATime",
       "autoScalingGroups": [],
       "ec2TagFilters": [
           {
               "Type": "KEY_AND_VALUE",
               "Value": "Project-ABC",
               "Key": "Name"
           }
       ],
       "triggerConfigurations": [],
       "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role",
       "onPremisesInstanceTagFilters": []
   }
   ```

1. En la sección `triggerConfigurations`, añada datos para los parámetros `triggerEvents`, `triggerTargetArn` y `triggerName`. Para obtener información sobre los parámetros de configuración de los activadores, consulte [TriggerConfig](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_TriggerConfig.html).

   El contenido de su archivo de texto debe tener ahora un aspecto similar al siguiente. Este código provoca el envío de notificaciones siempre que una implementación comience o se realice correctamente o cuando se produzca un error en ella. 

   ```
   {
       "applicationName": "TestApp-us-east-2",
       "deploymentConfigName": "CodeDeployDefault.OneAtATime",
       "autoScalingGroups": [],
       "ec2TagFilters": [
           {
               "Type": "KEY_AND_VALUE",
               "Value": "Project-ABC",
               "Key": "Name"
           }
       ],
       "triggerConfigurations": [
           {
               "triggerEvents": [
                   "DeploymentStart",
                   "DeploymentSuccess",
                   "DeploymentFailure"
               ],
               "triggerTargetArn": "arn:aws:sns:us-east-2:444455556666:us-east-deployments",
               "triggerName": "Trigger-group-us-east-2"
           }
       ],
       "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role",
       "onPremisesInstanceTagFilters": []
   }
   ```

1. Guarde las actualizaciones como un archivo JSON y, a continuación, ejecute el [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)comando mediante la `--cli-input-json` opción. Asegúrese de incluir la `--current-deployment-group-name` opción y sustituya el nombre del archivo JSON por*filename*: 
**importante**  
Asegúrese de incluir `file://` antes del nombre de archivo. Es obligatorio en este comando.

   ```
   aws deploy update-deployment-group --current-deployment-group-name deployment-group-name --cli-input-json file://filename.json
   ```

   Al finalizar el proceso de creación, recibe un mensaje de notificación de prueba que indica que tanto los permisos como los detalles de los disparadores están configurados correctamente.

# Edite un activador en un grupo CodeDeploy de despliegues
<a name="monitoring-sns-event-notifications-edit-trigger"></a>

Si sus necesidades de notificación cambian, puede modificar el desencadenador en lugar de crear uno nuevo.

## Modificar un CodeDeploy disparador (CLI)
<a name="monitoring-sns-event-notifications-edit-trigger-cli"></a>

 Para usarlo AWS CLI para cambiar los detalles de los activadores de CodeDeploy los eventos al actualizar un grupo de implementaciones, cree un archivo JSON para definir los cambios en las propiedades del grupo de implementación y, a continuación, ejecute el [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html)comando con la `--cli-input-json` opción. 

La forma más sencilla de crear el archivo JSON es ejecutar el comando **get-deployment-group** para obtener los detalles del grupo de implementaciones actual en formato JSON y, a continuación, editar los valores necesarios en un editor de texto sin formato.

1. Ejecuta el siguiente comando y sustituye los nombres de la aplicación y del grupo de despliegues por *application* y*deployment-group*:

   ```
   aws deploy get-deployment-group --application-name application --deployment-group-name deployment-group
   ```

1. Copie los resultados del comando en un editor de texto sin formato y, a continuación, elimine lo siguiente:
   + Al principio del resultado, elimine `{ "deploymentGroupInfo":`. 
   + Al final del resultado, elimine `}`. 
   + Elimine la fila que contiene `deploymentGroupId`.
   + Elimine la fila que contiene `deploymentGroupName`.

   El contenido de su archivo de texto debe tener ahora un aspecto similar al siguiente:

   ```
   {
       "applicationName": "TestApp-us-east-2",
       "deploymentConfigName": "CodeDeployDefault.OneAtATime",
       "autoScalingGroups": [],
       "ec2TagFilters": [
           {
               "Type": "KEY_AND_VALUE",
               "Value": "East-1-Instances",
               "Key": "Name"
           }
       ],
       "triggerConfigurations": [
           {
               "triggerEvents": [
                   "DeploymentStart",
                   "DeploymentSuccess",
                   "DeploymentFailure",
                   "DeploymentStop"
               ],
               "triggerTargetArn": "arn:aws:sns:us-east-2:111222333444:Trigger-group-us-east-2",
               "triggerName": "Trigger-group-us-east-2"
           }
       ],
       "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role",
       "onPremisesInstanceTagFilters": []
   }
   ```

1. Cambie los parámetros según sea necesario. Para obtener información sobre los parámetros de configuración del disparador, consulte [TriggerConfig](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_TriggerConfig.html).

1. Guarde las actualizaciones como un archivo JSON y, a continuación, ejecute el [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html)comando mediante la `--cli-input-json` opción. Asegúrese de incluir la `--current-deployment-group-name` opción y sustituya el nombre del archivo JSON por*filename*: 
**importante**  
Asegúrese de incluir `file://` antes del nombre de archivo. Es obligatorio en este comando.

   ```
   aws deploy update-deployment-group --current-deployment-group-name deployment-group-name --cli-input-json file://filename.json
   ```

Al finalizar el proceso de creación, recibe un mensaje de notificación de prueba que indica que tanto los permisos como los detalles de los disparadores están configurados correctamente.

# Elimine un activador de un grupo CodeDeploy de implementación
<a name="monitoring-sns-event-notifications-delete-trigger"></a>

Dada la limitación de 10 desencadenadores por grupo de implementaciones, es posible que desee eliminar desencadenadores si ya no se utilizan. No puede deshacer la eliminación de un disparador, pero puede volver a crearlos.

## Eliminación de un disparador de un grupo de implementación (consola)
<a name="monitoring-sns-event-notifications-delete-trigger-console"></a>

1. Inicie sesión en Consola de administración de AWS y abra la CodeDeploy consola en [https://console.aws.amazon.com/codedeploy.](https://console.aws.amazon.com/codedeploy)
**nota**  
Inicie sesión con el mismo usuario que configuró en [Empezar con CodeDeploy](getting-started-codedeploy.md).

1. En el panel de navegación, expanda **Implementar** y, después, elija **Aplicaciones**.

1. En la página **Applications (Aplicaciones)**, elija el nombre de la aplicación asociada al grupo de implementaciones en el que desee eliminar un disparador.

1. En la página **Application details (Detalles de la aplicación)**, elija el grupo de implementaciones en el que desee eliminar un disparador.

1.  Elija **Edit (Edición de)**. 

1.  Expanda **Advanced (Opciones avanzadas) (opcional)**. 

1. En el área **Triggers (Disparadores)**, elija el disparador que desee eliminar y, a continuación, elija **Delete trigger (Eliminar disparador)**. 

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

## Eliminación de un disparador de un grupo de implementación (CLI)
<a name="monitoring-sns-event-notifications-delete-trigger-cli"></a>

Si desea utilizar la CLI para eliminar un disparador, llame al comando [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html), con los parámetros de configuración de disparador vacíos, especificando lo siguiente:
+ El nombre de la aplicación asociada al grupo de implementaciones. Para ver una lista de nombres de aplicaciones, llame al comando [list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html).
+ El nombre del grupo de implementación asociado a la aplicación. Para ver una lista de los nombres de los grupos de implementaciones, llame al comando [list-deployment-groups](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-groups.html).

Por ejemplo:

```
aws deploy update-deployment-group --application-name application-name --current-deployment-group-name deployment-group-name --trigger-configurations
```

# Formatos de datos JSON para los activadores CodeDeploy
<a name="monitoring-sns-event-notifications-json-format"></a>

Puede utilizar la salida JSON que se crea cuando se activa un disparador para una implementación o una instancia en un flujo de trabajo de notificación personalizado; por ejemplo, enviar mensajes a colas de Amazon SQS o invocar una función de AWS Lambda. 

**nota**  
Esta guía no trata sobre el modo de configurar las notificaciones en JSON. Para obtener información sobre cómo utilizar Amazon SNS para enviar mensajes a las colas de Amazon SQS, consulte [Envío de mensajes de Amazon SNS a colas de Amazon SQS](https://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html). Para obtener información sobre cómo usar Amazon SNS para invocar una función de Lambda, consulte [Invocación de funciones de Lambda mediante notificaciones de Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-lambda.html).

Los siguientes ejemplos muestran la estructura de la salida JSON disponible con los disparadores de CodeDeploy.

**Salida JSON de ejemplo para disparadores basados en instancias**

```
{
    "region": "us-east-2",
    "accountId": "111222333444",
    "eventTriggerName": "trigger-group-us-east-instance-succeeded",
    "deploymentId": "d-75I7MBT7C",
    "instanceId": "arn:aws:ec2:us-east-2:444455556666:instance/i-496589f7",
    "lastUpdatedAt": "1446744207.564",
    "instanceStatus": "Succeeded",
    "lifecycleEvents": [
        {
            "LifecycleEvent": "ApplicationStop",
            "LifecycleEventStatus": "Succeeded",
            "StartTime": "1446744188.595",
            "EndTime": "1446744188.711"
        },
        {
            "LifecycleEvent": "BeforeInstall",
            "LifecycleEventStatus": "Succeeded",
            "StartTime": "1446744189.827",
            "EndTime": "1446744190.402"
        }
//More lifecycle events might be listed here
    ]
}
```

**Salida JSON de ejemplo para disparadores basados en implementaciones**

```
{
    "region": "us-west-1",
    "accountId": "111222333444",
    "eventTriggerName": "Trigger-group-us-west-3-deploy-failed",
    "applicationName": "ProductionApp-us-west-3",
    "deploymentId": "d-75I7MBT7C",
    "deploymentGroupName": "dep-group-def-456",
    "createTime": "1446744188.595",
    "completeTime": "1446744190.402",
    "deploymentOverview": {
        "Failed": "10",
        "InProgress": "0",
        "Pending": "0",
        "Skipped": "0",
        "Succeeded": "0"
    },
    "status": "Failed",
    "errorInformation": {
        "ErrorCode": "IAM_ROLE_MISSING",
        "ErrorMessage": "IAM Role is missing for deployment group: dep-group-def-456"
    }
}
```