

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# AWS SAM CLIcom Terraform referência
<a name="terraform-reference"></a>

Esta seção é a referência para usar a interface de linha de AWS Serverless Application Model comando (AWS SAMCLI) Terraform para depuração e teste locais.

Para fornecer feedback e enviar solicitações de atributos, crie um [Problema GitHub](https://github.com/aws/aws-sam-cli/issues/new?labels=area%2Fterraform).

## AWS SAM referência de recursos suportados
<a name="terraform-reference-sam"></a>

A documentação de referência dos atributos AWS SAMCLI compatíveis com o uso Terraform pode ser encontrada aqui:
+ [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)

## Referência específica Terraform
<a name="terraform-reference-specific"></a>

A documentação de referência específica para uso AWS SAMCLI com Terraform pode ser encontrada aqui:
+ [recurso de metadados do sam](terraform-sam-metadata.md)

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

Essa página contém informações de referência para o tipo de recurso **sam metadata resource** usado com projetos Terraform.
+ Para uma introdução ao uso da interface de linha de AWS Serverless Application Model comando (AWS SAMCLI) comTerraform, consulte[Para que serve o suporte AWS SAMCLI para Terraform?](terraform-support.md#what-is-terraform-support).
+ Como usar o AWS SAM CLI com Terraform, consulte [Usando o AWS SAMCLI with Terraform para depuração e teste locais](using-samcli-terraform.md).

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

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


****  

| Argumento | Description | 
| --- | --- | 
| built\$1output\$1path | O caminho para os artefatos construídos pela sua AWS Lambda função. | 
| docker\$1build\$1args | Cadeia decodificada do objeto JSON dos argumentos de construção do Docker. Esse argumento é opcional. | 
| docker\$1context | O caminho para o diretório que contém o contexto de criação da imagem do Docker. | 
| docker\$1file |  O caminho para o arquivo Docker. Esse caminho é relativo ao caminho `docker_context`. Esse argumento é opcional. O valor padrão é `Dockerfile`.  | 
| docker\$1tag | O valor da tag de imagem do Docker criada. Este valor é opcional. | 
| depends\$1on | O caminho para o recurso de construção para sua função ou camada do Lambda. Para saber mais, consulte [O **depends\$1on** argumento](https://developer.hashicorp.com/terraform/language/meta-arguments/depends_on) no registro Terraform. | 
| original\$1source\$1code |  O caminho até onde sua função do Lambda é definida. Esse valor pode ser uma string, uma matriz de strings ou um objeto JSON decodificado como uma string. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/serverless-application-model/latest/developerguide/terraform-sam-metadata.html)  | 
| resource\$1name | O nome de função do Lambda. | 
| resource\$1type |  O formato do seu tipo de pacote de funções do Lambda. Os valores aceitos são: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/serverless-application-model/latest/developerguide/terraform-sam-metadata.html)  | 
| source\$1code\$1property | O caminho para o código do recurso Lambda no objeto JSON. Defina essa propriedade quando original\$1source\$1code for um objeto JSON. | 

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

### recurso de metadados do sam que faz referência a uma função do Lambda usando o tipo de pacote 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 metadados do sam que faz referência a uma função do Lambda usando o tipo de pacote de imagem
<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"
  }
}
```

### mesmo recurso de metadados referenciando uma camada 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]
}
```