

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.

# Api
<a name="sam-property-function-api"></a>

L'objet décrivant un type de source d'événement `Api`. Si une ressource [AWS::Serverless::Api](sam-resource-api.md) est définie, les valeurs de chemin d'accès et de méthode doivent correspondre à une opération dans la définition OpenAPI de l'API.

Si aucune [AWS::Serverless::Api](sam-resource-api.md) n'est définie, l'entrée et la sortie de la fonction sont une représentation de la demande HTTP et de la réponse HTTP.

Par exemple, à l'aide de l' JavaScript API, le code d'état et le corps de la réponse peuvent être contrôlés en renvoyant un objet avec les clés statusCode et body.

## Syntaxe
<a name="sam-property-function-api-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-property-function-api-syntax.yaml"></a>

```
  [Auth](#sam-function-api-auth): ApiFunctionAuth
  [Method](#sam-function-api-method): String
  [Path](#sam-function-api-path): String
  [RequestModel](#sam-function-api-requestmodel): RequestModel
  [RequestParameters](#sam-function-api-requestparameters): List of [ String | RequestParameter ]
  [RestApiId](#sam-function-api-restapiid): String
  [ResponseTransferMode](#sam-function-api-responsetransfermode): String
  TimeoutInMillis: Integer
```

## Propriétés
<a name="sam-property-function-api-properties"></a>

 `Auth`   <a name="sam-function-api-auth"></a>
Configuration d'authentification pour cette méthode Api\$1Chemin\$1Méthode spécifique.  
Utile pour remplacer la configuration d'autorisation du paramètre de `DefaultAuthorizer` de l'API sur un chemin d'accès individuel, lorsqu'aucun `DefaultAuthorizer` n'est spécifié, ou pour remplacer le paramètre `ApiKeyRequired` par défaut.  
*Type :* [ApiFunctionAuth](sam-property-function-apifunctionauth.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Method`   <a name="sam-function-api-method"></a>
Méthode HTTP pour laquelle cette fonction est appelée. Les options incluent `DELETE``GET`,`HEAD`,`OPTIONS`,`PATCH`,`POST`,`PUT`, et`ANY`. Reportez-vous à la section [Configurer une méthode HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-add-http-method) dans le *guide du développeur d'API Gateway* pour plus de détails.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Path`   <a name="sam-function-api-path"></a>
Chemin d'accès d'URI pour lequel cette fonction est appelée. Doit commencer par `/`.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RequestModel`   <a name="sam-function-api-requestmodel"></a>
Demander un modèle à utiliser pour cette formule Api\$1Chemin\$1Méthode spécifique. Cela devrait faire référence au nom d'un modèle spécifié dans la section `Models` d'une ressource [AWS::Serverless::Api](sam-resource-api.md).  
*Type :* [RequestModel](sam-property-function-requestmodel.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RequestParameters`   <a name="sam-function-api-requestparameters"></a>
Configuration des paramètres de demande pour cette formule Api\$1Chemin\$1Méthode spécifique. Tous les noms de paramètres doivent commencer par `method.request` et doivent être limités à `method.request.header`, `method.request.querystring`, ou `method.request.path`.  
Une liste peut contenir à la fois des chaînes de noms de paramètres et [RequestParameter](sam-property-function-requestparameter.md)des objets. Pour les chaînes, les propriétés `Required` et `Caching` prendront par défaut la valeur `false`.  
*Type* : Liste de [String \$1 [RequestParameter](sam-property-function-requestparameter.md)]  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `RestApiId`   <a name="sam-function-api-restapiid"></a>
Identifiant d'une RestApi ressource, qui doit contenir une opération avec le chemin et la méthode donnés. Cela est généralement défini pour faire référence à une ressource [AWS::Serverless::Api](sam-resource-api.md), qui est définie dans ce modèle.  
Si vous ne définissez pas cette propriété, AWS SAM crée une [AWS::Serverless::Api](sam-resource-api.md) ressource par défaut à l'aide d'un `OpenApi` document généré. Cette ressource contient une union de tous les chemins et méthodes définis par `Api` dans le même modèle qui ne spécifient pas un `RestApiId`.  
Cela ne peut pas référencer une ressource [AWS::Serverless::Api](sam-resource-api.md) définie dans un autre modèle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

`ResponseTransferMode`  <a name="sam-function-api-responsetransfermode"></a>
Mode de transfert de réponse pour l'intégration de la fonction Lambda. Définissez cette valeur `RESPONSE_STREAM` pour activer le streaming des réponses Lambda via API Gateway, ce qui permet à la fonction de renvoyer les réponses aux clients. Lorsqu'il est défini sur`RESPONSE_STREAM`, API Gateway utilise l'API Lambda InvokeWithResponseStreaming .  
*Type* : chaîne  
*Obligatoire* : non  
*Valeurs valides* : `BUFFERED` \$1 `RESPONSE_STREAM`  
*CloudFormation compatibilité* : Cette propriété est transmise directement à la [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode)propriété d'un`AWS::ApiGateway::Method Integration`.

`TimeoutInMillis`  <a name="sam-function-api-timeoutinmillis"></a>
Délai d'attente personnalisé compris entre 50 et 29 000 millisecondes.  
Lorsque vous spécifiez cette propriété, cela AWS SAM modifie votre définition OpenAPI. La définition OpenAPI doit être spécifiée en ligne à l'aide de la propriété `DefinitionBody`. 
*Type* : entier  
*Obligatoire* : non  
*Par défaut* : 29 000 millisecondes ou 29 secondes  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-api--examples"></a>

### Exemple de base
<a name="sam-property-function-api--examples--apievent"></a>

#### YAML
<a name="sam-property-function-api--examples--apievent--yaml"></a>

```
Events:
  ApiEvent:
    Type: Api
    Properties:
      Path: /path
      Method: get
      RequestParameters:
        - method.request.header.Authorization
        - method.request.querystring.keyword:
            Required: true
            Caching: false
```

# ApiFunctionAuth
<a name="sam-property-function-apifunctionauth"></a>

Configure l'autorisation au niveau de l'événement, pour une API, un chemin et une méthode spécifiques.

## Syntaxe
<a name="sam-property-function-apifunctionauth-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-property-function-apifunctionauth-syntax.yaml"></a>

```
  [ApiKeyRequired](#sam-function-apifunctionauth-apikeyrequired): Boolean
  [AuthorizationScopes](#sam-function-apifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-apifunctionauth-authorizer): String
  [InvokeRole](#sam-function-apifunctionauth-invokerole): String
  OverrideApiAuth: Boolean
  [ResourcePolicy](#sam-function-apifunctionauth-resourcepolicy): ResourcePolicyStatement
```

## Propriétés
<a name="sam-property-function-apifunctionauth-properties"></a>

 `ApiKeyRequired`   <a name="sam-function-apifunctionauth-apikeyrequired"></a>
Nécessite une clé API pour cette API, ce chemin d'accès et cette méthode.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AuthorizationScopes`   <a name="sam-function-apifunctionauth-authorizationscopes"></a>
Les étendues d'autorisation à appliquer à cette API, ce chemin d'accès et cette méthode.  
Les étendues que vous spécifiez remplaceront toutes les étendues appliquées par la propriété `DefaultAuthorizer` si vous l'avez spécifiée.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Authorizer`   <a name="sam-function-apifunctionauth-authorizer"></a>
Le `Authorizer` pour une fonction spécifique.  
Si un mécanisme d'autorisation global est spécifié pour votre ressource `AWS::Serverless::Api`, vous pouvez remplacer le mécanisme d'autorisation en définissant `Authorizer` sur `NONE`. Pour obtenir un exemple, consultez [Remplacer un mécanisme d'autorisation global pour votre API REST Amazon API Gateway](#sam-property-function-apifunctionauth--examples--override).  
Si vous utilisez la propriété `DefinitionBody` d'une ressource `AWS::Serverless::Api` pour décrire votre API, vous devez utiliser `OverrideApiAuth` avec `Authorizer` pour remplacer votre mécanisme d'autorisation global. Pour plus d’informations, consultez `OverrideApiAuth`.
*Valeurs valides* : `AWS_IAM``NONE`, ou l'identifiant logique de tout autorisateur défini dans votre AWS SAM modèle.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `InvokeRole`   <a name="sam-function-apifunctionauth-invokerole"></a>
Spécifie le `InvokeRole` à utiliser pour l'autorisation `AWS_IAM`.  
*Type* : chaîne  
*Obligatoire* : non  
*Par défaut* : `CALLER_CREDENTIALS`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.  
*Informations complémentaires* : `CALLER_CREDENTIALS` mappe avec `arn:aws:iam:::<user>/`, qui utilise les informations d'identification de l'appelant pour appeler le point de terminaison.

`OverrideApiAuth`  <a name="sam-function-apifunctionauth-overrideapiauth"></a>
Définissez-la sur `true` pour remplacer la configuration du mécanisme d'autorisation global de votre ressource `AWS::Serverless::Api`. Cette propriété n'est requise que si vous spécifiez un mécanisme d'autorisation global et que vous utilisez la propriété `DefinitionBody` d'une ressource `AWS::Serverless::Api` pour décrire votre API.  
Lorsque vous spécifiez `OverrideApiAuth` comme`true`, AWS SAM cela remplacera votre autorisateur global par toutes les valeurs fournies pour `ApiKeyRequired``Authorizer`, ou. `ResourcePolicy` C'est pourquoi au moins une de ces propriétés doit également être spécifiée lors de l'utilisation de `OverrideApiAuth`. Pour obtenir un exemple, consultez [Remplacer un autorisateur global lorsque DefinitionBody for est spécifié AWS::Serverless::Api](#sam-property-function-apifunctionauth--examples--override2).
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ResourcePolicy`   <a name="sam-function-apifunctionauth-resourcepolicy"></a>
Configurez la stratégie de ressources pour ce chemin d'accès sur une API.  
*Type :* [ResourcePolicyStatement](sam-property-function-resourcepolicystatement.md)  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-apifunctionauth--examples"></a>

### Fonction-Auth (Autorisation fonction)
<a name="sam-property-function-apifunctionauth--examples--function-auth"></a>

L'exemple suivant spécifie l'autorisation au niveau de la fonction.

#### YAML
<a name="sam-property-function-apifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  ApiKeyRequired: true
  Authorizer: NONE
```

### Remplacer un mécanisme d'autorisation global pour votre API REST Amazon API Gateway
<a name="sam-property-function-apifunctionauth--examples--override"></a>

Vous pouvez spécifier un mécanisme d'autorisation global pour votre ressource `AWS::Serverless::Api`. Voici un exemple de configuration d'un mécanisme d'autorisation global par défaut :

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
```

Pour remplacer l'autorisateur par défaut pour votre AWS Lambda fonction, vous pouvez spécifier `Authorizer` comme. `NONE` Voici un exemple :

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  ...
  MyFn:
    Type: AWS::Serverless::Function
    Properties:
      ...
      Events:
        LambdaRequest:
          Type: Api
          Properties:
            RestApiId: !Ref MyApiWithLambdaRequestAuth
            Method: GET
            Auth:
              Authorizer: NONE
```

### Remplacer un autorisateur global lorsque DefinitionBody for est spécifié AWS::Serverless::Api
<a name="sam-property-function-apifunctionauth--examples--override2"></a>

Lorsque vous utilisez la propriété `DefinitionBody` pour décrire votre ressource `AWS::Serverless::Api`, la méthode de remplacement précédente ne fonctionne pas. Voici un exemple d'utilisation de la propriété `DefinitionBody` pour une ressource `AWS::Serverless::Api` :

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      DefinitionBody:
        swagger: 2.0
        ...
        paths:
          /lambda-request:
            ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
```

Pour annuler le mécanisme d'autorisation global, utilisez la propriété `OverrideApiAuth`. Voici un exemple qui utilise `OverrideApiAuth` pour remplacer le mécanisme d'autorisation global par la valeur fournie pour `Authorizer` :

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      DefinitionBody:
        swagger: 2-0
        ...
        paths:
          /lambda-request:
            ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
    
    MyAuthFn:
      Type: AWS::Serverless::Function
      ...
    
    MyFn:
      Type: AWS::Serverless::Function
        Properties:
          ...
          Events:
            LambdaRequest:
              Type: Api
              Properties:
                RestApiId: !Ref MyApiWithLambdaRequestAuth
                Method: GET
                Auth:
                  Authorizer: NONE
                  OverrideApiAuth: true
                Path: /lambda-token
```

# ResourcePolicyStatement
<a name="sam-property-function-resourcepolicystatement"></a>

Configure une stratégie de ressource pour toutes les méthodes et chemins d'accès d'une API. Pour plus d'informations sur les stratégies de ressources, consultez [Contrôle de l'accès à une API avec des stratégies de ressources API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html) dans le *Guide du développeur API*.

## Syntaxe
<a name="sam-property-function-resourcepolicystatement-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-property-function-resourcepolicystatement-syntax.yaml"></a>

```
  [AwsAccountBlacklist](#sam-function-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-function-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-function-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-function-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-function-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-function-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-function-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-function-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-function-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-function-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-function-resourcepolicystatement-sourcevpcwhitelist): List
```

## Propriétés
<a name="sam-property-function-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-function-resourcepolicystatement-awsaccountblacklist"></a>
Les AWS comptes à bloquer.  
*Type* : liste de chaînes  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AwsAccountWhitelist`   <a name="sam-function-resourcepolicystatement-awsaccountwhitelist"></a>
Les AWS comptes à autoriser. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste de chaînes  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `CustomStatements`   <a name="sam-function-resourcepolicystatement-customstatements"></a>
Une liste des instructions de stratégie de ressource personnalisées à appliquer à cette API. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpcBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcblacklist"></a>
La liste des clouds privés virtuels (VPCs) à bloquer, où chaque VPC est spécifié comme référence, telle qu'une [référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou une fonction `Ref` [intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpcWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcwhitelist"></a>
La liste des VPCs à autoriser, où chaque VPC est spécifié comme référence, telle qu'une [référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou une fonction `Ref` [intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpceBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpceblacklist"></a>
Liste des points de terminaison VPC à bloquer, où chaque point de terminaison VPC est spécifié comme une référence telle qu'une [Référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou la [fonction intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) `Ref`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IntrinsicVpceWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcewhitelist"></a>
Liste des points de terminaison VPC à autoriser, où chaque point de terminaison VPC est spécifié en tant que référence telle qu'une [Référence dynamique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) ou la [fonction intrinsèque](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) `Ref`. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IpRangeBlacklist`   <a name="sam-function-resourcepolicystatement-iprangeblacklist"></a>
L'adresse IP ou les plages d'adresses à bloquer. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `IpRangeWhitelist`   <a name="sam-function-resourcepolicystatement-iprangewhitelist"></a>
L'adresse IP ou les plages d'adresses à autoriser.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceVpcBlacklist`   <a name="sam-function-resourcepolicystatement-sourcevpcblacklist"></a>
Les points de terminaison VPC ou VPC source à bloquer. Les noms de VPC source doivent commencer par `"vpc-"` et les noms de point de terminaison VPC source doivent commencer par `"vpce-"`. Pour obtenir un exemple d'utilisation de cette propriété, consultez la section Exemples en bas de cette page.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `SourceVpcWhitelist`   <a name="sam-function-resourcepolicystatement-sourcevpcwhitelist"></a>
Les points de terminaison VPC ou VPC source à autoriser. Les noms de VPC source doivent commencer par `"vpc-"` et les noms de point de terminaison VPC source doivent commencer par `"vpce-"`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-resourcepolicystatement--examples"></a>

### Exemples de stratégie basée sur les ressources
<a name="sam-property-function-resourcepolicystatement--examples--resource-policy-example"></a>

L'exemple suivant bloque deux adresses IP et un VPC source, et autorise un AWS compte.

#### YAML
<a name="sam-property-function-resourcepolicystatement--examples--resource-policy-example--yaml"></a>

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# RequestModel
<a name="sam-property-function-requestmodel"></a>

Configure un modèle de demande pour une formule Api\$1Chemin\$1Méthode spécifique.

## Syntaxe
<a name="sam-property-function-requestmodel-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-property-function-requestmodel-syntax.yaml"></a>

```
  [Model](#sam-function-requestmodel-model): String
  [Required](#sam-function-requestmodel-required): Boolean
  [ValidateBody](#sam-function-requestmodel-validatebody): Boolean
  [ValidateParameters](#sam-function-requestmodel-validateparameters): Boolean
```

## Propriétés
<a name="sam-property-function-requestmodel-properties"></a>

 `Model`   <a name="sam-function-requestmodel-model"></a>
Nom d'un modèle défini dans la propriété Modèles de la [AWS::Serverless::Api](sam-resource-api.md).  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Required`   <a name="sam-function-requestmodel-required"></a>
Ajoute une `required` propriété dans la section des paramètres de la OpenApi définition pour le point de terminaison d'API donné.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ValidateBody`   <a name="sam-function-requestmodel-validatebody"></a>
Indique si API Gateway utilise le `Model` pour valider le corps de la demande. Pour de plus amples informations, veuillez consulter [Activer la validation de demande de base pour une API sur API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) dans le *Manuel du développeur API Gateway*.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ValidateParameters`   <a name="sam-function-requestmodel-validateparameters"></a>
Spécifie si API Gateway utilise le `Model` pour valider les paramètres du chemin de la requête, les chaînes de requête et les en-têtes. Pour de plus amples informations, veuillez consulter [Activer la validation de demande de base pour une API sur API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) dans le *Manuel du développeur API Gateway*.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-requestmodel--examples"></a>

### Modèle de demande
<a name="sam-property-function-requestmodel--examples--request-model"></a>

Exemple de modèle de demande

#### YAML
<a name="sam-property-function-requestmodel--examples--request-model--yaml"></a>

```
RequestModel:
  Model: User
  Required: true
  ValidateBody: true
  ValidateParameters: true
```

# RequestParameter
<a name="sam-property-function-requestparameter"></a>

Configurez le paramètre de demande pour une formule Api\$1Chemin\$1Méthode spécifique.

La propriété `Required` ou `Caching` doit être spécifiée pour le paramètre de demande

## Syntaxe
<a name="sam-property-function-requestparameter-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-property-function-requestparameter-syntax.yaml"></a>

```
  [Caching](#sam-function-requestparameter-caching): Boolean
  [Required](#sam-function-requestparameter-required): Boolean
```

## Propriétés
<a name="sam-property-function-requestparameter-properties"></a>

 `Caching`   <a name="sam-function-requestparameter-caching"></a>
Ajoute une `cacheKeyParameters` section à la OpenApi définition d'API Gateway  
*Type* : valeur booléenne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Required`   <a name="sam-function-requestparameter-required"></a>
Ce champ indique si un paramètre est nécessaire.  
*Type* : valeur booléenne  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-function-requestparameter--examples"></a>

### Paramètre de demande
<a name="sam-property-function-requestparameter--examples--request-parameter"></a>

Exemple de définition des paramètres de demande

#### YAML
<a name="sam-property-function-requestparameter--examples--request-parameter--yaml"></a>

```
RequestParameters:
  - method.request.header.Authorization:
      Required: true
      Caching: true
```