

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

`Api` イベントソースタイプを説明するオブジェクトです。[AWS::Serverless::Api](sam-resource-api.md) リソースが定義されている場合、パスとメソッドの値は、API の OpenApi 定義にあるオペレーションに対応している必要があります。

[AWS::Serverless::Api](sam-resource-api.md) が定義されていない場合、関数の入出力は HTTP リクエストと HTTP レスポンスの表現です。

例えば、JavaScript API を使用すると、statusCode および body キーを持つオブジェクトを返すことによって、レスポンスのステータスコードと本文を制御できます。

## 構文
<a name="sam-property-function-api-syntax"></a>

 AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。

### 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
```

## プロパティ
<a name="sam-property-function-api-properties"></a>

 `Auth`   <a name="sam-function-api-auth"></a>
この特定の Api とパスとメソッドの認証設定です。  
`DefaultAuthorizer` が指定されていない場合に個々のパス上にある API の `DefaultAuthorizer` 設定の認証設定を上書きする、またはデフォルトの `ApiKeyRequired` 設定を上書きするために役立ちます。  
*タイプ*: [ApiFunctionAuth](sam-property-function-apifunctionauth.md)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Method`   <a name="sam-function-api-method"></a>
この関数が呼び出される HTTP メソッドです。オプションには `DELETE`、`GET`、`HEAD`、`OPTIONS`、`PATCH`、`POST`、`PUT`、および `ANY` があります。詳細については、「*API Gateway デベロッパーガイド*」の「[HTTP メソッドをセットアップする](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-add-http-method)」を参照してください。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Path`   <a name="sam-function-api-path"></a>
この関数が呼び出される URI パスです。`/` で始まる必要があります。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `RequestModel`   <a name="sam-function-api-requestmodel"></a>
この特定の Api とパスとメソッドに使用するリクエストモデルです。これは、[AWS::Serverless::Api](sam-resource-api.md) リソースの `Models` セクションに指定されているモデルの名前を参照する必要があります。  
*タイプ*: [RequestModel](sam-property-function-requestmodel.md)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のプロパティはありません。

 `RequestParameters`   <a name="sam-function-api-requestparameters"></a>
この特定の API、パス、メソッドのリクエストパラメータ設定です。すべてのパラメータ名は `method.request` で始まり `method.request.header`、`method.request.querystring`、または `method.request.path` に制限する必要があります。  
リストには、パラメータ名の文字列と [RequestParameter](sam-property-function-requestparameter.md) オブジェクトの両方を含めることができます。文字列の場合、`Required` および `Caching` プロパティはデフォルトで `false` になります。  
*タイプ*: [ String \$1 [RequestParameter](sam-property-function-requestparameter.md) ] のリスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `RestApiId`   <a name="sam-function-api-restapiid"></a>
RestApi リソースの識別子です。これには、指定されたパスとメソッドを持つオペレーションが含まれている必要があります。通常、このテンプレートで定義される [AWS::Serverless::Api](sam-resource-api.md) リソースを参照するように設定されます。  
このプロパティを定義しない場合、 は生成された`OpenApi`ドキュメントを使用してデフォルトの[AWS::Serverless::Api](sam-resource-api.md)リソース AWS SAM を作成します。そのリソースには、`RestApiId` を指定しない同じテンプレート内の `Api` イベントによって定義されるすべてのパスとメソッドの和集合が含まれます。  
これは、別のテンプレートで定義された [AWS::Serverless::Api](sam-resource-api.md) リソースを参照できません。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

`ResponseTransferMode`  <a name="sam-function-api-responsetransfermode"></a>
Lambda 関数統合のレスポンス転送モード。に設定する`RESPONSE_STREAM`と、API Gateway を介した Lambda レスポンスのストリーミングが有効になり、関数はレスポンスをクライアントにストリーミングできます。に設定すると`RESPONSE_STREAM`、API Gateway は Lambda InvokeWithResponseStreaming API を使用します。  
*タイプ*: 文字列  
*必須:* いいえ  
*有効な値:* `BUFFERED` \$1 `RESPONSE_STREAM`  
*CloudFormation 互換性*: このプロパティは、 の [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)プロパティに直接渡されます`AWS::ApiGateway::Method Integration`。

`TimeoutInMillis`  <a name="sam-function-api-timeoutinmillis"></a>
50～29,000 ミリ秒のカスタムタイムアウトです。  
このプロパティを指定すると、 は OpenAPI 定義 AWS SAM を変更します。OpenAPI の定義は、`DefinitionBody` プロパティを使用してインラインで指定する必要があります。
*タイプ:* 整数  
*必須:* いいえ  
*デフォルト* = 29,000 ミリ秒 (29 秒)  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、同等の CloudFormation ものはありません。

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

### 基本的な の例
<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>

特定の API、パス、およびメソッドに対して、イベントレベルで認可を設定します。

## 構文
<a name="sam-property-function-apifunctionauth-syntax"></a>

 AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。

### 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
```

## プロパティ
<a name="sam-property-function-apifunctionauth-properties"></a>

 `ApiKeyRequired`   <a name="sam-function-apifunctionauth-apikeyrequired"></a>
この API、パス、およびメソッドの API キーが必要です。  
型: ブール  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に AWS SAM 固有であり、 CloudFormation 同等のものはありません。

 `AuthorizationScopes`   <a name="sam-function-apifunctionauth-authorizationscopes"></a>
この API、パス、およびメソッドに適用する認可スコープです。  
指定するスコープは、`DefaultAuthorizer` プロパティが適用するスコープ (指定されている場合) を上書きします。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に AWS SAM 固有であり、 CloudFormation 同等のものはありません。

 `Authorizer`   <a name="sam-function-apifunctionauth-authorizer"></a>
特定の関数用の `Authorizer` です。  
`AWS::Serverless::Api` リソースにグローバルオーソライザーが指定されている場合は、`Authorizer` を `NONE` に設定することでオーソライザーをオーバーライドできます。例については、[Amazon API Gateway REST API のグローバルオーソライザーをオーバーライドする](#sam-property-function-apifunctionauth--examples--override)を参照してください。  
`AWS::Serverless::Api` リソースの `DefinitionBody` プロパティを使用して API を記述する場合は、`Authorizer` で `OverrideApiAuth` を使用してグローバルオーソライザーをオーバーライドする必要があります。詳細については「`OverrideApiAuth`」を参照してください。
*有効な値*: テンプレートで定義されているオーソライザーの`AWS_IAM``NONE`論理 ID AWS SAM 。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に AWS SAM 固有であり、 CloudFormation 同等のプロパティはありません。

 `InvokeRole`   <a name="sam-function-apifunctionauth-invokerole"></a>
`AWS_IAM` 認可に使用する `InvokeRole` を指定します。  
*タイプ*: 文字列  
*必須:* いいえ  
*デフォルト*: `CALLER_CREDENTIALS`  
*CloudFormation 互換性*: このプロパティは に AWS SAM 固有であり、 CloudFormation 同等のものはありません。  
*追加のメモ*: `CALLER_CREDENTIALS` は `arn:aws:iam:::<user>/` にマップします。これは、発信者の認証情報を使用してエンドポイントを呼び出します。

`OverrideApiAuth`  <a name="sam-function-apifunctionauth-overrideapiauth"></a>
`true` リソースのグローバルオーソライザー設定をオーバーライドするには、`AWS::Serverless::Api` を指定します。このプロパティは、グローバルオーソライザーを指定し、`AWS::Serverless::Api` リソースの `DefinitionBody` プロパティを使用して API を記述する場合にのみ必要です。  
`OverrideApiAuth` として を指定すると`true`、 AWS SAM は `ApiKeyRequired`、、`Authorizer`または に指定された値でグローバルオーソライザーを上書きします`ResourcePolicy`。したがって、`OverrideApiAuth` を使用するときには、これらのプロパティを少なくとも 1 つ指定する必要もあります。例については、[AWS:: Serverless:: Apiの DefinitionBody が指定されている場合にグローバルオーソライザーをオーバーライドする](#sam-property-function-apifunctionauth--examples--override2)を参照してください。
型: ブール  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `ResourcePolicy`   <a name="sam-function-apifunctionauth-resourcepolicy"></a>
この API のパスのためのリソースポリシーを設定します。  
*タイプ*: [ResourcePolicyStatement](sam-property-function-resourcepolicystatement.md)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に AWS SAM 固有であり、 CloudFormation 同等のものはありません。

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

### Function-Auth
<a name="sam-property-function-apifunctionauth--examples--function-auth"></a>

以下の例は、関数レベルで認可を指定します。

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

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

### Amazon API Gateway REST API のグローバルオーソライザーをオーバーライドする
<a name="sam-property-function-apifunctionauth--examples--override"></a>

`AWS::Serverless::Api` リソースにグローバルオーソライザーを指定できます。以下は、デフォルトのグローバルオーソライザーの設定例です。

```
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
```

 AWS Lambda 関数のデフォルトのオーソライザーを上書きするには、 を `Authorizer`として指定します`NONE`。以下に例を示します。

```
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
```

### AWS:: Serverless:: Apiの DefinitionBody が指定されている場合にグローバルオーソライザーをオーバーライドする
<a name="sam-property-function-apifunctionauth--examples--override2"></a>

`DefinitionBody` プロパティを使用して `AWS::Serverless::Api` リソースを記述する場合、以前のオーバーライドメソッドは機能しません。以下は、`AWS::Serverless::Api` リソースの `DefinitionBody` プロパティを使用する例です。

```
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
```

グローバルオーソライザーをオーバーライドするには、`OverrideApiAuth` プロパティを使用します。以下は、`OverrideApiAuth` を使用してグローバルオーソライザーを `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>

API 上のすべてのメソッドとパスのリソースポリシーを設定します。リソースポリシーの詳細については、*API Gateway デベロッパーガイド*の「[API Gateway リソースポリシーを使用して API へのアクセスを制御する](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html)」を参照してください。

## 構文
<a name="sam-property-function-resourcepolicystatement-syntax"></a>

 AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。

### 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
```

## プロパティ
<a name="sam-property-function-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-function-resourcepolicystatement-awsaccountblacklist"></a>
ブロックする AWS アカウント。  
型: 文字列のリスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `AwsAccountWhitelist`   <a name="sam-function-resourcepolicystatement-awsaccountwhitelist"></a>
許可する AWS アカウント。このプロパティの使用例については、このページの下部にある「例」セクションを参照してください。  
型: 文字列のリスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `CustomStatements`   <a name="sam-function-resourcepolicystatement-customstatements"></a>
この API に適用するカスタムリソースポリシーステートメントのリストです。このプロパティの使用例については、このページの下部にある「例」セクションを参照してください。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `IntrinsicVpcBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcblacklist"></a>
ブロックする仮想プライベートクラウド (VPC) のリストで、各 VPC が[動的参照](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)または `Ref` [組み込み関数](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)などのリファレンスとして指定されます。このプロパティの使用例については、このページの下部にある「例」セクションを参照してください。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `IntrinsicVpcWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcwhitelist"></a>
許可する VPC のリストで、各 VPC が[動的参照](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)または `Ref` [組み込み関数](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)などのリファレンスとして指定されます。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `IntrinsicVpceBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpceblacklist"></a>
ブロックする VPC エンドポイントのリストで、各 VPC エンドポイントが[動的参照](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)または `Ref` [組み込み関数](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)などのリファレンスとして指定されます。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のプロパティはありません。

 `IntrinsicVpceWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcewhitelist"></a>
許可する VPC エンドポイントのリストで、各 VPC エンドポイントが[動的参照](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)または `Ref` [組み込み関数](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)などのリファレンスとして指定されます。このプロパティの使用例については、このページの下部にある「例」セクションを参照してください。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `IpRangeBlacklist`   <a name="sam-function-resourcepolicystatement-iprangeblacklist"></a>
ブロックする IP アドレスまたはアドレス範囲です。このプロパティの使用例については、このページの下部にある「例」セクションを参照してください。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `IpRangeWhitelist`   <a name="sam-function-resourcepolicystatement-iprangewhitelist"></a>
許可する IP アドレスまたはアドレス範囲です。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `SourceVpcBlacklist`   <a name="sam-function-resourcepolicystatement-sourcevpcblacklist"></a>
ブロックするソース VPC またはソース VPC エンドポイントです。ソース VPC 名は `"vpc-"` で始まり、ソース VPC エンドポイント名は `"vpce-"` で始まる必要があります。このプロパティの使用例については、このページの下部にある「例」セクションを参照してください。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `SourceVpcWhitelist`   <a name="sam-function-resourcepolicystatement-sourcevpcwhitelist"></a>
許可するソース VPC またはソース VPC エンドポイントです。ソース VPC 名は `"vpc-"` で始まり、ソース VPC エンドポイント名は `"vpce-"` で始まる必要があります。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

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

### リソースポリシーの例
<a name="sam-property-function-resourcepolicystatement--examples--resource-policy-example"></a>

次の例では、2 つの IP アドレスとソース VPC をブロックし、 AWS アカウントを許可します。

#### 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>

特定の API とパスとメソッドのリクエストモデルを設定します。

## 構文
<a name="sam-property-function-requestmodel-syntax"></a>

 AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。

### 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
```

## プロパティ
<a name="sam-property-function-requestmodel-properties"></a>

 `Model`   <a name="sam-function-requestmodel-model"></a>
[AWS::Serverless::Api](sam-resource-api.md) の Models プロパティで定義されたモデルの名前です。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Required`   <a name="sam-function-requestmodel-required"></a>
指定された API エンドポイントの OpenAPI 定義のパラメータセクションに `required` プロパティを追加します。  
型: ブール  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `ValidateBody`   <a name="sam-function-requestmodel-validatebody"></a>
API Gateway が `Model` を使用してリクエストボディを検証するかどうかを指定します。詳細については、*API Gateway デベロッパーガイド*の[API Gateway でリクエストに対する検証を有効にする](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html)を参照してください。  
型: ブール  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `ValidateParameters`   <a name="sam-function-requestmodel-validateparameters"></a>
API Gateway が `Model` を使用してリクエストパスのパラメータ、クエリ文字列、ヘッダーを検証するかどうかを指定します。詳細については、*API Gateway デベロッパーガイド*の[API Gateway でリクエストに対する検証を有効にする](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html)を参照してください。  
型: ブール  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

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

### リクエストモデル
<a name="sam-property-function-requestmodel--examples--request-model"></a>

リクエストモデルの例

#### 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>

特定の Api とパスとメソッドのリクエストパラメータを設定します。

リクエストパラメータには、`Required` または `Caching` プロパティを指定する必要があります

## 構文
<a name="sam-property-function-requestparameter-syntax"></a>

 AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。

### YAML
<a name="sam-property-function-requestparameter-syntax.yaml"></a>

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

## プロパティ
<a name="sam-property-function-requestparameter-properties"></a>

 `Caching`   <a name="sam-function-requestparameter-caching"></a>
API Gateway OpenApi 定義に `cacheKeyParameters` セクションを追加します。  
型: ブール  
*必須*: 条件に応じて異なります  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Required`   <a name="sam-function-requestparameter-required"></a>
このフィールドは、パラメータが必須かどうかを指定します。  
型: ブール  
*必須*: 条件に応じて異なります  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

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

### リクエストパラメータ
<a name="sam-property-function-requestparameter--examples--request-parameter"></a>

リクエストパラメータの設定例

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

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