

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# CLI AWS SAM avec référence Terraform
<a name="terraform-reference"></a>

Cette section est la référence pour l'utilisation de l'interface de ligne de AWS Serverless Application Model commande (AWS SAMCLI) Terraform pour le débogage et les tests locaux.

Pour soumettre des commentaires et des demandes de fonctionnalités, créez un [Ticket GitHub](https://github.com/aws/aws-sam-cli/issues/new?labels=area%2Fterraform).

## AWS SAM référence des fonctionnalités prises en charge
<a name="terraform-reference-sam"></a>

La documentation de référence sur les fonctionnalités de la CLI  AWS SAM prises en charge pour une utilisation avec Terraform est disponible ici :
+ [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)

## Référence spécifique à Terraform
<a name="terraform-reference-specific"></a>

La documentation de référence spécifique à l'utilisation de la CLI  AWS SAM avec Terraform est disponible ici :
+ [ressource de métadonnées sam](terraform-sam-metadata.md)

# ressource de métadonnées sam
<a name="terraform-sam-metadata"></a>

Cette page contient des informations de référence sur le type de ressource **sam metadata resource** utilisé avec les projets Terraform.
+ Pour une introduction à l'utilisation de l'interface de ligne de AWS Serverless Application Model commande (AWS SAMCLI) avecTerraform, voir[Qu'est-ce que la prise en charge de Terraform par la CLI  AWS SAM ?](terraform-support.md#what-is-terraform-support).
+ Pour utiliser la CLI  AWS SAM avec Terraform, consultez [Utilisation de la CLI  AWS SAM avec Terraform pour le débogage et les tests locaux](using-samcli-terraform.md).

**Topics**
+ [Arguments](#terraform-sam-metadata-arguments)
+ [Exemples](#terraform-sam-metadata-examples)

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


****  

| Argument | Description | 
| --- | --- | 
| built\$1output\$1path | Le chemin d'accès aux artefacts créés par votre AWS Lambda fonction. | 
| docker\$1build\$1args | Chaîne décodée de l'objet JSON des arguments de création Docker. Cet argument est facultatif. | 
| docker\$1context | Chemin d'accès au répertoire contenant le contexte de création de l'image Docker. | 
| docker\$1file |  Chemin d'accès au fichier Docker. Ce chemin d'accès est relatif au chemin `docker_context`. Cet argument est facultatif. La valeur par défaut est `Dockerfile`.  | 
| docker\$1tag | La valeur de la balise d'image Docker créée. Cette valeur est facultative. | 
| depends\$1on | Le chemin d'accès à la ressource de création pour votre fonction ou couche Lambda. Pour en savoir plus, veuillez consulter la section [L'argument **depends\$1on**](https://developer.hashicorp.com/terraform/language/meta-arguments/depends_on) dans le registre Terraform (langue française non garantie). | 
| original\$1source\$1code |  Le chemin d'accès vers l'emplacement de définition de votre fonction Lambda. Cette valeur peut être une chaîne, un tableau de chaînes ou un objet JSON décodé sous forme de chaîne. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/terraform-sam-metadata.html)  | 
| resource\$1name | Nom de la fonction Lambda. | 
| resource\$1type |  Format du type de package de votre fonction Lambda. Les valeurs acceptées sont : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/terraform-sam-metadata.html)  | 
| source\$1code\$1property | Le chemin d'accès au code de ressource Lambda dans l'objet JSON. Définissez cette propriété lorsque original\$1source\$1code est un objet JSON. | 

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

### ressource de métadonnées sam faisant référence à une fonction Lambda utilisant le type de package 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
  ]
}
```

### ressource de métadonnées sam faisant référence à une fonction Lambda utilisant le type de package image
<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"
  }
}
```

### ressource de métadonnées sam faisant référence à une couche 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]
}
```