

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.

# DeploymentPreference
<a name="sam-property-function-deploymentpreference"></a>

Especifica las configuraciones para permitir las implementaciones graduales de Lambda. Para obtener más información acerca de la configuración de implementaciones graduales de Lambda, consulte [Implementación gradual de aplicaciones sin servidor con AWS SAM](automating-updates-to-serverless-apps.md).

**nota**  
Debe especificar un `AutoPublishAlias` en su objeto [AWS::Serverless::Function](sam-resource-function.md) para utilizar un objeto `DeploymentPreference`; de lo contrario, se producirá un error.

## Sintaxis
<a name="sam-property-function-deploymentpreference-syntax"></a>

Para declarar esta entidad en tu plantilla AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis.

### YAML
<a name="sam-property-function-deploymentpreference-syntax.yaml"></a>

```
  [Alarms](#sam-function-deploymentpreference-alarms): List
  [Enabled](#sam-function-deploymentpreference-enabled): Boolean
  [Hooks](#sam-function-deploymentpreference-hooks): Hooks
  [PassthroughCondition](#sam-function-deploymentpreference-passthroughcondition): Boolean
  [Role](#sam-function-deploymentpreference-role): String
  [TriggerConfigurations](#sam-function-deploymentpreference-triggerconfigurations): List
  [Type](#sam-function-deploymentpreference-type): String
```

## Propiedades
<a name="sam-property-function-deploymentpreference-properties"></a>

 `Alarms`   <a name="sam-function-deploymentpreference-alarms"></a>
Una lista de CloudWatch las alarmas que desea que se activen por cualquier error provocado por la implementación.  
Esta propiedad acepta la función intrínseca `Fn::If`. Consulte la sección de ejemplos al final de este tema para ver una plantilla de ejemplo que utiliza `Fn::If`.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Enabled`   <a name="sam-function-deploymentpreference-enabled"></a>
Si esta preferencia de implementación está habilitada.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: True  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Hooks`   <a name="sam-function-deploymentpreference-hooks"></a>
Funciones de Lambda de validación que se ejecutan antes y después del desvío del tráfico.  
*[Tipo: enlaces](sam-property-function-hooks.md)*  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `PassthroughCondition`   <a name="sam-function-deploymentpreference-passthroughcondition"></a>
Si es True y esta preferencia de despliegue está habilitada, la condición de la función se transferirá al CodeDeploy recurso generado. Por lo general, debe establecerlo en True. De lo contrario, el CodeDeploy recurso se crearía incluso si la condición de la función se resolviera como False.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Role`   <a name="sam-function-deploymentpreference-role"></a>
Un ARN de rol de IAM CodeDeploy que se utilizará para el cambio de tráfico. No se creará una función de rol de IAM si se proporciona.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `TriggerConfigurations`   <a name="sam-function-deploymentpreference-triggerconfigurations"></a>
Una lista de las configuraciones de activación que desea asociar al grupo de implementación. Se usa para notificar a un tema de SNS sobre eventos del ciclo de vida.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[TriggerConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-triggerconfigurations)` propiedad de un `AWS::CodeDeploy::DeploymentGroup` recurso.

 `Type`   <a name="sam-function-deploymentpreference-type"></a>
Actualmente, hay dos categorías de tipos de implementación: Linear (lineal) y Canary (valor controlado). Para obtener más información acerca de los tipos de implementaciones disponibles, consulte [Implementación gradual de aplicaciones sin servidor con AWS SAM](automating-updates-to-serverless-apps.md).  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-function-deploymentpreference--examples"></a>

### DeploymentPreference con ganchos antes y después del tráfico.
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks."></a>

Ejemplo de preferencia de implementación que contiene enlaces previos y posteriores al tráfico.

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks.--yaml"></a>

```
DeploymentPreference:
  Enabled: true
  Type: Canary10Percent10Minutes 
  Alarms:
    - !Ref: AliasErrorMetricGreaterThanZeroAlarm
    - !Ref: LatestVersionErrorMetricGreaterThanZeroAlarm
  Hooks:
    PreTraffic:
      !Ref: PreTrafficLambdaFunction
    PostTraffic:
      !Ref: PostTrafficLambdaFunction
```

### DeploymentPreference con la función intrínseca Fn: :If
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function"></a>

Ejemplo de preferencia de implementación que se utiliza para configurar las alarmas `Fn::If`. En este ejemplo, `Alarm1` se configurará si `MyCondition` es `true` y `Alarm2` y `Alarm5` configurarán si `MyCondition` es `false`.

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function--yaml"></a>

```
DeploymentPreference:
  Enabled: true
  Type: Canary10Percent10Minutes 
  Alarms:
    Fn::If:
      - MyCondition
      - - Alarm1
      - - Alarm2
        - Alarm5
```