

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.

# Otras claves CloudFormation de plantilla
<a name="ebextensions-otherkeys"></a>

Ya hemos introducido claves de archivos de configuración CloudFormation como `Resources``files`, y`packages`. Elastic Beanstalk agrega el contenido de los archivos de configuración CloudFormation a la plantilla que admite su entorno, de modo que puede CloudFormation usar otras secciones para realizar tareas avanzadas en los archivos de configuración.

**Topics**
+ [Parameters](#ebextensions-otherkeys-parameters)
+ [Outputs](#ebextensions-otherkeys-outputs)
+ [Mapeos](#ebextensions-otherkeys-mappings)

## Parameters
<a name="ebextensions-otherkeys-parameters"></a>

Los parámetros son una alternativa a las [opciones personalizadas](configuration-options-custom.md) de Elastic Beanstalk. Puede utilizarlos para definir los valores que se aplicarán en otras partes de sus archivos de configuración. Al igual que las opciones personalizadas, puede utilizar parámetros para reunir los valores que puede configurar el usuario en un único lugar. A diferencia de las opciones personalizadas, no puede usar la API de Elastic Beanstalk para establecer los valores de los parámetros y el número de parámetros que puede definir en una plantilla está limitado por. CloudFormation

Una de las razones por las que puede querer usar parámetros es hacer que los archivos de configuración sirvan como plantillas. CloudFormation Si usa parámetros en lugar de opciones personalizadas, puede usar el archivo de configuración para crear el mismo recurso CloudFormation como su propia pila. Por ejemplo, podría disponer de un archivo de configuración que agregue un sistema de archivos de Amazon EFS a su entorno para pruebas y, a continuación, utilizar el mismo archivo para crear un sistema de archivos independiente con fines de producción, que no esté vinculado al ciclo de vida de dicho entorno.

El siguiente ejemplo muestra el uso de parámetros para reunir los valores configurables por el usuario en la parte superior de un archivo de configuración.

**Example [L oadbalancer-accesslogs-existingbucket .config — Parámetros](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/resource-configuration/loadbalancer-accesslogs-existingbucket.config)**  

```
Parameters:
  bucket:
    Type: String
    Description: "Name of the Amazon S3 bucket in which to store load balancer logs"
    Default: "amzn-s3-demo-bucket"
  bucketprefix:
    Type: String
    Description: "Optional prefix. Can't start or end with a /, or contain the word AWSLogs"
    Default: ""
```

## Outputs
<a name="ebextensions-otherkeys-outputs"></a>

Puede utilizar un bloque `Outputs` para exportar información sobre los recursos creados a CloudFormation. A continuación, puede usar la `Fn::ImportValue` función para incluir el valor en una CloudFormation plantilla fuera de Elastic Beanstalk.

En el siguiente ejemplo, se crea un tema de Amazon SNS y se exporta su ARN a con CloudFormation ese nombre. `NotificationTopicArn`

**Example [sns-topic.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/resource-configuration/sns-topic.config)**  

```
Resources:
  NotificationTopic:
    Type: AWS::SNS::Topic

Outputs:
  NotificationTopicArn:
    Description: Notification topic ARN
    Value: { "Ref" : "NotificationTopic" }
    Export:
      Name: NotificationTopicArn
```

En un archivo de configuración para un entorno diferente o en una CloudFormation plantilla ajena a Elastic Beanstalk, puede `Fn::ImportValue` usar la función para obtener el ARN exportado. Este ejemplo asigna el valor exportado a una propiedad del entorno llamada `TOPIC_ARN`.

**Example env.config**  

```
option_settings:
  aws:elasticbeanstalk:application:environment:
    TOPIC_ARN: '`{ "Fn::ImportValue" : "NotificationTopicArn" }`'
```

## Mapeos
<a name="ebextensions-otherkeys-mappings"></a>

Puede utilizar una asignación para almacenar pares de clave-valor organizados por espacio de nombres. Una asignación puede ayudarle a organizar los valores que utiliza en todas las configuraciones o cambiar el valor de un parámetro que depende de otro valor. Por ejemplo, la siguiente configuración establece el valor de un parámetro de ID de cuenta en función de la región actual.

**Example [L .config — Mapeos oadbalancer-accesslogs-newbucket](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/resource-configuration/loadbalancer-accesslogs-newbucket.config)**  

```
Mappings: 
  Region2ELBAccountId: 
    us-east-1: 
      AccountId: "111122223333"
    us-west-2: 
      AccountId: "444455556666"
    us-west-1: 
      AccountId: "123456789012"
    eu-west-1: 
      AccountId: "777788889999"
...
            Principal: 
              AWS: 
                ? "Fn::FindInMap"
                : 
                  - Region2ELBAccountId
                  - 
                    Ref: "AWS::Region"
                  - AccountId
```