

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.

# AWS::Serverless::MicrovmImage
<a name="sam-resource-microvmimage"></a>

 Crée une image AWS Lambda microVM à partir d'un artefact de code stocké dans Amazon S3. Une image microVM est un Firecracker instantané créé à partir d'un code d'application Dockerfile et permettant un démarrage en moins d'une seconde pour les instances microVM. 

**Note**  
Lorsque vous déployez vers AWS CloudFormation, vos AWS SAM ressources sont AWS SAM transformées en CloudFormation ressources. Pour de plus amples informations, veuillez consulter [Générées CloudFormation ressources pour AWS SAM](sam-specification-generated-resources.md). 

## Syntaxe
<a name="sam-resource-microvmimage-syntax"></a>

Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez la syntaxe suivante.

### YAML
<a name="sam-resource-microvmimage-syntax.yaml"></a>

```
Type: AWS::Serverless::MicrovmImage
Properties:
  [AdditionalOsCapabilities](#sam-microvmimage-additionaloscapabilities): {{List}}
  [BaseImageArn](#sam-microvmimage-baseimagearn): {{String}}
  [BaseImageVersion](#sam-microvmimage-baseimageversion): {{String}}
  [BuildRoleArn](#sam-microvmimage-buildrolearn): {{String}}
  [CodeUri](#sam-microvmimage-codeuri): {{String}}
  [CpuConfigurations](#sam-microvmimage-cpuconfigurations): {{List}}
  [Description](#sam-microvmimage-description): {{String}}
  [EgressNetworkConnectors](#sam-microvmimage-egressnetworkconnectors): {{List}}
  [EnvironmentVariables](#sam-microvmimage-environmentvariables): {{Map}}
  [Hooks](#sam-microvmimage-hooks): {{[Hooks](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-hooks.html)}}
  [Logging](#sam-microvmimage-logging): {{[Logging](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-logging.html)}}
  [Name](#sam-microvmimage-name): {{String}}
  [PropagateTags](#sam-microvmimage-propagatetags): {{Boolean}}
  [Resources](#sam-microvmimage-resources): {{List}}
  [Tags](#sam-microvmimage-tags): {{Map}}
```

## Propriétés
<a name="sam-resource-microvmimage-properties"></a>

 `AdditionalOsCapabilities`   <a name="sam-microvmimage-additionaloscapabilities"></a>
Fonctionnalités de système d'exploitation supplémentaires à accorder à l'environnement d'exécution MicroVM. Si vous ne spécifiez aucune valeur, le service n'accorde aucune fonctionnalité supplémentaire au système d'exploitation.  
*Valeurs valides* : `ALL`  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[AdditionalOsCapabilities](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-additionaloscapabilities)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. 

 `BaseImageArn`   <a name="sam-microvmimage-baseimagearn"></a>
L'ARN de l'image microVM de base à partir de laquelle créer.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BaseImageArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-baseimagearn)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. 

 `BaseImageVersion`   <a name="sam-microvmimage-baseimageversion"></a>
Version de l'image microVM de base à utiliser.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[BaseImageVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-baseimageversion)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. 

 `BuildRoleArn`   <a name="sam-microvmimage-buildrolearn"></a>
L'ARN du rôle IAM assumé par le service de génération MicroVM pour télécharger votre artefact de code depuis Amazon S3 et écrire les journaux de compilation.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[BuildRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-buildrolearn)` d'une `AWS::Lambda::MicrovmImage` ressource. Ceci est obligatoire dans CloudFormation mais pas dans AWS SAM. Si vous ne spécifiez aucun rôle, AWS SAM créez-en un avec un ID logique de`{{<resource-logical-id>}}BuildRole`. Si votre artefact de code est chiffré à l'aide d'une clé gérée par le client AWS KMS, vous devez fournir à votre propre rôle l'`kms:Decrypt`autorisation appropriée. 

 `CodeUri`   <a name="sam-microvmimage-codeuri"></a>
L'URI Amazon S3 de l'artefact zip contenant le code de l'application Dockerfile et.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transformée en `[CodeArtifact](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-codeartifact)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. AWS SAM intègre l'URI à la `CodeArtifact.Uri` structure. 

 `CpuConfigurations`   <a name="sam-microvmimage-cpuconfigurations"></a>
Liste d'[CpuConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-cpuconfiguration.html)objets qui spécifient les architectures de processeur prises en charge pour la microVM. Si vous ne spécifiez aucune valeur, le service utilise l'architecture de processeur par défaut.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[CpuConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-cpuconfigurations)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. 

 `Description`   <a name="sam-microvmimage-description"></a>
Description de l'image microVM.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-description)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. 

 `EgressNetworkConnectors`   <a name="sam-microvmimage-egressnetworkconnectors"></a>
La liste des ARN du connecteur réseau de sortie disponibles pour la microVM au moment de l'exécution.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[EgressNetworkConnectors](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-egressnetworkconnectors)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. 

 `EnvironmentVariables`   <a name="sam-microvmimage-environmentvariables"></a>
Variables d'environnement définies dans l'environnement d'exécution MicroVM.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[EnvironmentVariables](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-environmentvariables)` d'une `AWS::Lambda::MicrovmImage` ressource. Dans AWS SAM, spécifiez sous forme de carte (par exemple,`KEY: value`). AWS SAM convertit au format CloudFormation tableau`[{Key: KEY, Value: value}]`. 

 `Hooks`   <a name="sam-microvmimage-hooks"></a>
Configuration du Lifecycle Hook pour les microVM et les images microVM.  
*Type* : [crochets](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-hooks.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Hooks](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-hooks)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. 

 `Logging`   <a name="sam-microvmimage-logging"></a>
Configuration pour la sortie de journalisation MicroVM. Spécifiez-en une seule : `CloudWatch` pour activer la CloudWatch journalisation ou `Disabled` pour désactiver la journalisation.  
*Type* : [Journalisation](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-logging.html)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Logging](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-logging)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. 

 `Name`   <a name="sam-microvmimage-name"></a>
Nom de l'image microVM.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-name)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. 

 `PropagateTags`   <a name="sam-microvmimage-propagatetags"></a>
Spécifie s'il faut transmettre les balises de la `Tags` propriété aux ressources générées, telles que le rôle de build généré automatiquement.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*Par défaut* : `False`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Resources`   <a name="sam-microvmimage-resources"></a>
Liste d'objets [Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-resources.html) qui spécifient les besoins en ressources de la microVM.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est transmise directement à la `[Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-resources)` propriété d'une `AWS::Lambda::MicrovmImage` ressource. 

 `Tags`   <a name="sam-microvmimage-tags"></a>
Une carte de paires clé-valeur qui spécifie les balises ajoutées à cette image microVM.  
*Type*: carte (map)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est similaire à celle `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-tags)` d'une `AWS::Lambda::MicrovmImage` ressource. La `Tags` propriété in AWS SAM est constituée de paires clé-valeur (alors que dans CloudFormation cette propriété, elle consiste en une liste d'`Tag`objets). Ajoute également AWS SAM automatiquement une `lambda:createdBy:SAM` balise à cette image microVM et aux rôles par défaut générés pour celle-ci. 

## Valeurs renvoyées
<a name="sam-resource-microvmimage-return-values"></a>

### Réf
<a name="sam-resource-microvmimage-return-values-ref"></a>

Lorsque l'ID logique de cette ressource est fourni à la fonction `Ref` intrinsèque, elle renvoie l'ARN de l'image microVM.

Pour plus d'informations sur l'utilisation de la fonction `Ref`, consultez [`Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) dans le *Guide de l'utilisateur AWS CloudFormation *.

### Ventilateur : GetAtt
<a name="sam-resource-microvmimage-return-values-fn--getatt"></a>

`Fn::GetAtt` renvoie une valeur pour un attribut de ce type indiqué. Voici les attributs disponibles et des exemples de valeurs de retour.

Pour plus d'informations sur l'utilisation de `Fn::GetAtt`, consultez [`Fn::GetAtt`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) dans le *Guide de l'utilisateur AWS CloudFormation *.

`CreatedAt`  <a name="sam-microvmimage-getatt-createdat"></a>
Horodatage de création de la version de l'image microVM.

`ImageArn`  <a name="sam-microvmimage-getatt-imagearn"></a>
L'ARN de l'image microVM.

`LatestActiveImageVersion`  <a name="sam-microvmimage-getatt-latestactiveimageversion"></a>
Dernière version active de l'image microVM.

`LatestFailedImageVersion`  <a name="sam-microvmimage-getatt-latestfailedimageversion"></a>
Dernière version défaillante de l'image microVM, le cas échéant.

`State`  <a name="sam-microvmimage-getatt-state"></a>
État actuel de l'image microVM.

`UpdatedAt`  <a name="sam-microvmimage-getatt-updatedat"></a>
Horodatage de la dernière mise à jour de la version de l'image microVM.

## Exemples
<a name="sam-resource-microvmimage-examples"></a>

### Image microVM minimale
<a name="sam-resource-microvmimage-example-minimal"></a>

L'exemple suivant crée une image microVM avec uniquement les propriétés requises. AWS SAM génère automatiquement un rôle de build.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyMicroVM:
    Type: AWS::Serverless::MicrovmImage
    Properties:
      Name: my-app
      CodeUri: s3://my-bucket/app.zip
      BaseImageArn: arn:aws:lambda:us-east-2:aws:microvm-image:al2023-1
      BaseImageVersion: "0"
```

### Configuration complète de l'image MicroVM
<a name="sam-resource-microvmimage-example-full"></a>

L'exemple suivant crée une image microVM avec toutes les propriétés disponibles configurées.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyMicroVM:
    Type: AWS::Serverless::MicrovmImage
    Properties:
      Name: my-app
      CodeUri: s3://my-bucket/app.zip
      BaseImageArn: arn:aws:lambda:us-east-2:aws:microvm-image:al2023-1
      BaseImageVersion: "0"
      Description: "Production MicroVM application"
      CpuConfigurations:
        - Architecture: ARM_64
      Resources:
        - MinimumMemoryInMiB: 1024
      AdditionalOsCapabilities:
        - ALL
      EgressNetworkConnectors:
        - arn:aws:lambda:us-east-2:aws:network-connector:aws-network-connector:INTERNET_EGRESS
      Hooks:
        Port: 9000
        MicrovmHooks:
          Run: ENABLED
          RunTimeoutInSeconds: 30
          Suspend: ENABLED
          Resume: ENABLED
        MicrovmImageHooks:
          Ready: ENABLED
          ReadyTimeoutInSeconds: 60
      EnvironmentVariables:
        LOG_LEVEL: info
        APP_ENV: production
      Logging:
        CloudWatch:
          LogGroup: /aws/lambda-microvms/my-app
      Tags:
        Environment: Production
        Team: Platform
```