

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.

# CLI de AWS SAM con referencia de Terraform
<a name="terraform-reference"></a>

Esta sección es la referencia para usar la interfaz de línea de AWS Serverless Application Model comandos (AWS SAMCLI) con Terraform fines de depuración y pruebas locales.

Para enviar comentarios y solicitudes de características, cree un [Problema de GitHub](https://github.com/aws/aws-sam-cli/issues/new?labels=area%2Fterraform).

## AWS SAM referencia de funciones compatibles
<a name="terraform-reference-sam"></a>

La documentación de referencia sobre las características de la CLI de AWS SAM que se admiten para su uso con Terraform se encuentra aquí:
+ [sam build](sam-cli-command-reference-sam-build.md)
+ [sam local invoke](sam-cli-command-reference-sam-local-invoke.md)
+ [sam local start-api](sam-cli-command-reference-sam-local-start-api.md)
+ [sam local start-lambda](sam-cli-command-reference-sam-local-start-lambda.md)

## Referencia específica de Terraform
<a name="terraform-reference-specific"></a>

La documentación de referencia específica para usar la CLI de AWS SAM con Terraform se encuentra aquí:
+ [recurso de metadatos de sam](terraform-sam-metadata.md)

# recurso de metadatos de sam
<a name="terraform-sam-metadata"></a>

Esta página contiene información de referencia sobre el tipo de recurso **sam metadata resource** utilizado en los proyectos de Terraform.
+ Para obtener una introducción al uso de la interfaz de línea de AWS Serverless Application Model comandos (AWS SAMCLI) conTerraform, consulte[¿Cuál es la compatibilidad de la CLI de AWS SAM con Terraform?](terraform-support.md#what-is-terraform-support).
+ Para utilizar la CLI de AWS SAM con Terraform, consulta [Uso de la CLI de AWS SAM con Terraform para la depuración y las pruebas locales](using-samcli-terraform.md).

**Topics**
+ [Argumentos](#terraform-sam-metadata-arguments)
+ [Ejemplos](#terraform-sam-metadata-examples)

## Argumentos
<a name="terraform-sam-metadata-arguments"></a>


****  

| Argumento | Description (Descripción) | 
| --- | --- | 
| built\$1output\$1path | El camino hacia los artefactos creados por su AWS Lambda función. | 
| docker\$1build\$1args | Cadena decodificada del objeto JSON de argumentos de compilación de Docker. Este argumento es opcional. | 
| docker\$1context | La ruta al directorio que contienes el contexto de creación de la imagen de Docker. | 
| docker\$1file |  La ruta del archivo de Docker. Esta ruta es relativa a la ruta `docker_context`. Este argumento es opcional. El valor predeterminado es `Dockerfile`.  | 
| docker\$1tag | El valor de la etiqueta de imagen de Docker creada. Este valor es opcional. | 
| depends\$1on | La ruta al recurso de construcción para la función o capa de Lambda. Para obtener más información, consulta [El argumento **depends\$1on**](https://developer.hashicorp.com/terraform/language/meta-arguments/depends_on) en el registro de Terraform. | 
| original\$1source\$1code |  La ruta a la que se define la función de Lambda. Este valor puede ser una cadena, una matriz de cadenas o un objeto JSON decodificado como cadena. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/serverless-application-model/latest/developerguide/terraform-sam-metadata.html)  | 
| resource\$1name | El nombre de la función de Lambda. | 
| resource\$1type |  El formato del tipo de paquete de funciones de Lambda. Los valores aceptados son: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/serverless-application-model/latest/developerguide/terraform-sam-metadata.html)  | 
| source\$1code\$1property | La ruta al código de recursos de Lambda en el objeto JSON. Define esta propiedad cuando original\$1source\$1code sea un objeto JSON. | 

## Ejemplos
<a name="terraform-sam-metadata-examples"></a>

### recurso de metadatos de sam que hace referencia a una función de Lambda mediante el tipo de paquete ZIP
<a name="terraform-sam-metadata-examples-example1"></a>

```
# Lambda function resource
resource "aws_lambda_function" "tf_lambda_func" {
  filename = "${path.module}/python/hello-world.zip"
  handler = "index.lambda_handler"
  runtime = "python3.8"
  function_name = "function_example"
  role = aws_iam_role.iam_for_lambda.arn
  depends_on = [
    null_resource.build_lambda_function # function build logic
  ]
}

# sam metadata resource
resource "null_resource" "sam_metadata_function_example" {
  triggers = {
    resource_name = "aws_lambda_function.function_example"
    resource_type = "ZIP_LAMBDA_FUNCTION"
    original_source_code = "${path.module}/python"
    built_output_path = "${path.module}/building/function_example"
  }
  depends_on = [
    null_resource.build_lambda_function # function build logic
  ]
}
```

### recurso de metadatos de sam que hace referencia a una función de Lambda mediante el tipo de paquete de imagen
<a name="terraform-sam-metadata-examples-example2"></a>

```
resource "null_resource" "sam_metadata_function {
  triggers = {
    resource_name = "aws_lambda_function.image_function"
    resource_type = "IMAGE_LAMBDA_FUNCTION"
    docker_context = local.lambda_src_path
    docker_file = "Dockerfile"
    docker_build_args = jsonencode(var.build_args)
    docker_tag = "latest"
  }
}
```

### recurso de metadatos sam que hace referencia a una capa de Lambda
<a name="terraform-sam-metadata-examples-example3"></a>

```
resource "null_resource" "sam_metadata_layer1" {
  triggers = {
    resource_name = "aws_lambda_layer_version.layer"
    resource_type = "LAMBDA_LAYER"
    original_source_code = local.layer_src
    built_output_path = "${path.module}/${layer_build_path}"
  }
  depends_on = [null_resource.layer_build]
}
```