

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

# の生成済み CloudFormation リソース AWS SAM
<a name="sam-specification-generated-resources"></a>

このセクションでは、 が AWS テンプレート AWS SAM を処理するときに作成される CloudFormation リソースについて詳しく説明します。が AWS SAM 生成する CloudFormation リソースのセットは、指定したシナリオによって異なります。*シナリオ*とは、テンプレートファイルで指定される AWS SAM リソースとプロパティの組み合わせのことです。テンプレートファイル内の他の部分で生成された CloudFormation リソースは、テンプレートファイルで明示的に宣言するリファレンスの参照方法と同じように参照できます。

例えば、 AWS SAM テンプレートファイルで `AWS::Serverless::Function` リソースを指定すると、 AWS SAM は常に `AWS::Lambda::Function` ベースのリソースを生成します。オプションの `AutoPublishAlias`プロパティも指定すると、 は AWS SAM さらに `AWS::Lambda::Alias`および `AWS::Lambda::Version`リソースを生成します。

このセクションでは、シナリオとそれらが生成する CloudFormation リソースを一覧表示し、 AWS SAM テンプレートファイルで生成された CloudFormation リソースを参照する方法を示します。

## 生成された CloudFormation リソースの参照
<a name="sam-specification-generated-resources-referencing"></a>

 AWS SAM テンプレートファイル内で生成された CloudFormation リソースを参照するには、 `LogicalId`または参照可能なプロパティの 2 つのオプションがあります。

### LogicalId による生成された CloudFormation リソースの参照
<a name="sam-specification-generated-resources-referencing-logicalid"></a>

が AWS SAM 生成する各 CloudFormation リソースには`[LogicalId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-logicalid)`、テンプレートファイル内で一意の英数字 (A～Z、a～z、0～9) 識別子である があります。 は、テンプレートファイル内の AWS SAM リソース`LogicalIds`の AWS SAM を使用して、生成する CloudFormation リソース`LogicalIds`の を構築します。生成された CloudFormation リソース`LogicalId`の を使用して、明示的に宣言した リソースの場合と同様に CloudFormation 、テンプレートファイル内のそのリソースのプロパティにアクセスできます。 CloudFormation および AWS SAM テンプレートの詳細については、`LogicalIds`*AWS CloudFormation 「 ユーザーガイド*」の[「 リソース](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html)」を参照してください。

**注記**  
生成されたリソースの `LogicalIds` には、名前空間の衝突を避けるための一意のハッシュ値が含まれるものがあります。これらのリソースの `LogicalIds` は、スタックの作成時に導出されます。スタックが作成された後にのみ AWS マネジメントコンソール、 AWS CLI、またはいずれかの AWS SDKs を使用して取得できます。ハッシュ値が変更される可能性があるため、`LogicalId` によるこれらのリソースの参照は推奨されません。

### 参照可能なプロパティによる生成された CloudFormation リソースの参照
<a name="sam-specification-generated-resources-referencing-referenceable-property"></a>

一部の生成されたリソースについて、 はリソースの AWS SAM 参照可能なプロパティ AWS SAM を提供します。このプロパティを使用して、生成された CloudFormation リソースとそのプロパティを AWS SAM テンプレートファイル内で参照できます。

**注記**  
生成されたすべての CloudFormation リソースに参照可能なプロパティがあるわけではありません。これらのリソースには、`LogicalId` を使用する必要があります。

## 生成された CloudFormation リソースシナリオ
<a name="sam-specification-generated-resources-scenarios"></a>

次の表は、 AWS SAM リソースを生成するシナリオを構成する CloudFormation リソースとプロパティをまとめたものです。**シナリオ**列のトピックには、そのシナリオで が AWS SAM 生成する追加の CloudFormation リソースに関する詳細が記載されています。


| AWS SAM リソース | 基本 CloudFormation リソース | シナリオ | 
| --- | --- | --- | 
| AWS::Serverless::Api  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::Application  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::CapacityProvider  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::Function | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::HttpApi | [AWS::ApiGatewayV2::Api](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::LayerVersion  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::SimpleTable  | [AWS::DynamoDB::Table](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::StateMachine  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 

**Topics**
+ [生成された CloudFormation リソースの参照](#sam-specification-generated-resources-referencing)
+ [生成された CloudFormation リソースシナリオ](#sam-specification-generated-resources-scenarios)
+ [CloudFormation AWS::Serverless::Apiが指定されているときに生成される リソース](sam-specification-generated-resources-api.md)
+ [CloudFormation AWS::Serverless::Applicationが指定されているときに生成される リソース](sam-specification-generated-resources-application.md)
+ [CloudFormation AWS::Serverless::CapacityProviderが指定されているときに生成される リソース](sam-specification-generated-resources-capacityprovider.md)
+ [CloudFormation を指定したときに生成される リソース AWS::Serverless::Connector](sam-specification-generated-resources-connector.md)
+ [CloudFormation AWS::Serverless::Functionが指定されているときに生成される リソース](sam-specification-generated-resources-function.md)
+ [CloudFormation AWS::Serverless::GraphQLApiが指定されているときに生成される リソース](sam-specification-generated-resources-graphqlapi.md)
+ [CloudFormation AWS::Serverless::HttpApi を指定したときに生成される リソース](sam-specification-generated-resources-httpapi.md)
+ [CloudFormation AWS::Serverless::LayerVersionが指定されているときに生成される リソース](sam-specification-generated-resources-layerversion.md)
+ [CloudFormation AWS::Serverless::SimpleTableが指定されているときに生成される リソース](sam-specification-generated-resources-simpletable.md)
+ [CloudFormation AWS::Serverless::StateMachineが指定されているときに生成される リソース](sam-specification-generated-resources-statemachine.md)

# CloudFormation AWS::Serverless::Apiが指定されているときに生成される リソース
<a name="sam-specification-generated-resources-api"></a>

を指定する`AWS::Serverless::Api`と、 AWS Serverless Application Model (AWS SAM) は常に`AWS::ApiGateway::RestApi`ベース CloudFormation リソースを生成します。これに加えて、`AWS::ApiGateway::Stage` と `AWS::ApiGateway::Deployment` リソースも常に生成します。

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`<api‑LogicalId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::ApiGateway::Stage`**  
*`LogicalId`: *`<api‑LogicalId><stage‑name>Stage`  
`<stage‑name>` は、`StageName` プロパティが設定されている文字列です。例えば、`StageName` を `Gamma` に設定とすると、`LogicalId` が `MyRestApiGammaStage` になります。  
*参照可能なプロパティ: *`<api‑LogicalId>.Stage`

**`AWS::ApiGateway::Deployment`**  
*`LogicalId`: *`<api‑LogicalId>Deployment<sha>`  
`<sha>` は、スタックが作成されるときに生成される一意のハッシュ値です。例えば、`MyRestApiDeployment926eeb5ff1`。  
*参照可能なプロパティ: *`<api‑LogicalId>.Deployment`

これらの CloudFormation リソースに加えて、 を指定すると、 `AWS::Serverless::Api`は次のシナリオで追加の CloudFormation リソース AWS SAM を生成します。

**Topics**
+ [DomainName プロパティが指定されている](#sam-specification-generated-resources-api-domain-name)
+ [UsagePlan プロパティが指定されている](#sam-specification-generated-resources-api-usage-plan)

## DomainName プロパティが指定されている
<a name="sam-specification-generated-resources-api-domain-name"></a>

の `DomainName`プロパティの `Domain`プロパティを指定すると、 `AWS::Serverless::Api`は `AWS::ApiGateway::DomainName` CloudFormation リソース AWS SAM を生成します。

**`AWS::ApiGateway::DomainName`**  
*`LogicalId`: *`ApiGatewayDomainName<sha>`  
`<sha>` は、スタックが作成されるときに生成される一意のハッシュ値です。例: `ApiGatewayDomainName926eeb5ff1`。  
*参照可能なプロパティ: *`<api‑LogicalId>.DomainName`

## UsagePlan プロパティが指定されている
<a name="sam-specification-generated-resources-api-usage-plan"></a>

の `UsagePlan`プロパティの `Auth`プロパティを指定すると、 `AWS::Serverless::Api`は `AWS::ApiGateway::UsagePlan`、`AWS::ApiGateway::UsagePlanKey`、および の CloudFormation リソース AWS SAM を生成します`AWS::ApiGateway::ApiKey`。

**`AWS::ApiGateway::UsagePlan`**  
*`LogicalId`: *`<api‑LogicalId>UsagePlan`  
*参照可能なプロパティ: *`<api‑LogicalId>.UsagePlan`

**`AWS::ApiGateway::UsagePlanKey`**  
*`LogicalId`: *`<api‑LogicalId>UsagePlanKey`  
*参照可能なプロパティ: *`<api‑LogicalId>.UsagePlanKey`

**`AWS::ApiGateway::ApiKey`**  
*`LogicalId`: *`<api‑LogicalId>ApiKey`  
*参照可能なプロパティ: *`<api‑LogicalId>.ApiKey`

# CloudFormation AWS::Serverless::Applicationが指定されているときに生成される リソース
<a name="sam-specification-generated-resources-application"></a>

`AWS::Serverless::Application` を指定すると、 AWS Serverless Application Model (AWS SAM) は `AWS::CloudFormation::Stack` ベース CloudFormation リソースを生成します。

**`AWS::CloudFormation::Stack`**  
*`LogicalId`: *`<application‑LogicalId>`   
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

# CloudFormation AWS::Serverless::CapacityProviderが指定されているときに生成される リソース
<a name="sam-specification-generated-resources-capacityprovider"></a>

`AWS::Serverless::CapacityProvider` が指定されている場合、 AWS Serverless Application Model (AWS SAM) は `AWS::Lambda::CapacityProvider` のベース CloudFormation リソースを生成します。

**`AWS::Lambda::CapacityProvider`**  
*`LogicalId`: *`<capacityprovider‑LogicalId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

この CloudFormation リソースに加えて、 を指定すると、 `AWS::Serverless::CapacityProvider`は次のシナリオの CloudFormation リソース AWS SAM も生成します。

**Topics**
+ [OperatorRole プロパティが指定されていません](#sam-specification-generated-resources-capacityprovider-iam-role)

## OperatorRole プロパティが指定されていません
<a name="sam-specification-generated-resources-capacityprovider-iam-role"></a>

の `OperatorRole`プロパティが指定され*ていない場合*、 `AWS::Serverless::CapacityProvider`は `AWSLambdaManagedEC2ResourceOperator`マネージドポリシーがアタッチされた `AWS::IAM::Role` CloudFormation リソース AWS SAM を生成します。

**`AWS::IAM::Role`**  
*`LogicalId`: *`<capacityprovider‑LogicalId>OperatorRole`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

# CloudFormation を指定したときに生成される リソース AWS::Serverless::Connector
<a name="sam-specification-generated-resources-connector"></a>

**注記**  
埋め込み `Connectors` プロパティを介してコネクタを定義すると、これらのリソースを生成する前に、まず `AWS::Serverless::Connector` リソースに変換されます。

 AWS SAM テンプレートで `AWS::Serverless::Connector`リソースを指定すると、 は必要に応じて次の AWS CloudFormation リソース AWS SAM を生成します。

**`AWS::IAM::ManagedPolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>Policy`   
 *参照可能なプロパティ:* N/A (この CloudFormation リソースを参照するには、 を使用する必要があります)`LogicalId`。

**`AWS::SNS::TopicPolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>TopicPolicy`   
 *参照可能なプロパティ:* N/A (この CloudFormation リソースを参照するには、 を使用する必要があります)`LogicalId`。

**`AWS::SQS::QueuePolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>QueuePolicy`   
 *参照可能なプロパティ:* N/A (この CloudFormation リソースを参照するには、 を使用する必要があります)`LogicalId`。

**`AWS::Lambda::Permission`**  
 *`LogicalId`:*`<connector‑LogicalId><permission>LambdaPermission`   
 `<permission>` は、`Permissions` プロパティによって指定されたアクセス許可です。例えば、`Write`。  
*参照可能なプロパティ:* N/A (この CloudFormation リソースを参照するには、 を使用する必要があります)`LogicalId`。

# CloudFormation AWS::Serverless::Functionが指定されているときに生成される リソース
<a name="sam-specification-generated-resources-function"></a>

`AWS::Serverless::Function` を指定すると、 AWS Serverless Application Model (AWS SAM) は常に `AWS::Lambda::Function` ベース CloudFormation リソースを作成します。

**`AWS::Lambda::Function`**  
*`LogicalId`: *`<function‑LogicalId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

この CloudFormation リソースに加えて、 を指定すると、 `AWS::Serverless::Function`は次のシナリオの CloudFormation リソース AWS SAM も生成します。

**Topics**
+ [コア関数のプロパティ](#sam-specification-generated-resources-function-core-properties)
+ [イベントソース](#sam-specification-generated-resources-function-event-sources)
+ [イベント設定](#sam-specification-generated-resources-function-event-configuration)

## コア関数のプロパティ
<a name="sam-specification-generated-resources-function-core-properties"></a>

次のシナリオでは、コア関数のプロパティに基づいて CloudFormation リソースを生成します。

### Role プロパティが指定されていない
<a name="sam-specification-generated-resources-function-not-role"></a>

の `Role`プロパティが指定され*ていない場合*、 `AWS::Serverless::Function`は `AWS::IAM::Role` CloudFormation リソース AWS SAM を生成します。

**`AWS::IAM::Role`**  
*`LogicalId`: *`<function‑LogicalId>Role`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

### AutoPublishAlias プロパティが指定されている
<a name="sam-specification-generated-resources-function-autopublishalias"></a>

の `AutoPublishAlias`プロパティ`AWS::Serverless::Function`を指定すると、 は `AWS::Lambda::Alias`および の CloudFormation リソース AWS SAM を生成します`AWS::Lambda::Version`。

**`AWS::Lambda::Alias`**  
*`LogicalId`: *`<function‑LogicalId>Alias<alias‑name>`  
`<alias‑name>` は、`AutoPublishAlias` が設定されている文字列です。例えば、`AutoPublishAlias` を `live` に設定すると、`LogicalId` は *MyFunction*Alias*live* になります。  
*参照可能なプロパティ: *`<function‑LogicalId>.Alias`

**`AWS::Lambda::Version`**  
*`LogicalId`: *`<function‑LogicalId>Version<sha>`  
`<sha>` は、スタックが作成されるときに生成される一意のハッシュ値です。例えば、*MyFunction*Version*926eeb5ff1* などです。  
*参照可能なプロパティ: *`<function‑LogicalId>.Version`

`AutoPublishAlias` プロパティの詳細については、[AWS::Serverless::Function のプロパティセクション](sam-resource-function.md#sam-resource-function-properties)を参照してください。

### DeploymentPreference プロパティが指定されている
<a name="sam-specification-generated-resources-function-deploymentpreference"></a>

の `DeploymentPreference`プロパティを指定する`AWS::CodeDeploy::Application`と、 `AWS::Serverless::Function`は および の CloudFormation リソース AWS SAM リソースを生成します`AWS::CodeDeploy::DeploymentGroup`。さらに、 `DeploymentPreference` オブジェクトの `Role`プロパティが指定され*ていない場合*、 は `AWS::IAM::Role` CloudFormation リソース AWS SAM も生成します。

**`AWS::CodeDeploy::Application`**  
*`LogicalId`: *`ServerlessDeploymentApplication`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::CodeDeploy::DeploymentGroup`**  
*`LogicalId`: *`<function‑LogicalId>DeploymentGroup`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::IAM::Role`**  
*`LogicalId`: *`CodeDeployServiceRole`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

### FunctionUrlConfig プロパティが指定されている
<a name="sam-specification-generated-resources-function-functionurlconfig"></a>

`FunctionUrlConfig` プロパティを指定すると、 は に基づいて異なる CloudFormation リソース AWS SAM を生成します`AuthType`。

を指定する`AuthType: NONE`と、 は次の CloudFormation リソース AWS SAM を生成します。

**`AWS::Lambda::Permission` (アクセスを呼び出す)**  
*`LogicalId`: *`<function‑LogicalId>URLInvokeAllowPublicAccess`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::Lambda::Permission` (パブリックアクセス)**  
*`LogicalId`: *`<function‑LogicalId>UrlPublicPermissions`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

を指定する`AuthType: AWS_IAM`と、 は以下のみ AWS SAM を生成します。

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

`FunctionUrlConfig` プロパティの詳細については、「[FunctionUrlConfig](sam-property-function-functionurlconfig.md)」を参照してください。

## イベントソース
<a name="sam-specification-generated-resources-function-event-sources"></a>

次のシナリオでは、イベントソースに基づいて CloudFormation リソースを生成します。

### Api イベントソースが指定されている
<a name="sam-specification-generated-resources-function-api"></a>

の `Event`プロパティ`AWS::Serverless::Function`が に設定されているが`Api`、 `RestApiId`プロパティが指定され*ていない場合*、 は`AWS::ApiGateway::RestApi` CloudFormation リソース AWS SAM を生成します。

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`ServerlessRestApi`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

### HttpApi イベントソースが指定されている
<a name="sam-specification-generated-resources-function-httpapi"></a>

の `Event`プロパティ`AWS::Serverless::Function`が に設定されているが`HttpApi`、 `ApiId`プロパティが指定され*ていない場合*、 は`AWS::ApiGatewayV2::Api` CloudFormation リソース AWS SAM を生成します。

**`AWS::ApiGatewayV2::Api`**  
*`LogicalId`: *`ServerlessHttpApi`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

### ストリーミングイベントソースが指定されている
<a name="sam-specification-generated-resources-function-streaming"></a>

の `Event`プロパティ`AWS::Serverless::Function`がストリーミングタイプの 1 つに設定されている場合、 は`AWS::Lambda::EventSourceMapping` CloudFormation リソース AWS SAM を生成します。これは、`DynamoDB`、`Kinesis`、`MQ`、`MSK`、および `SQS` の各タイプに適用されます。

**`AWS::Lambda::EventSourceMapping`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

### イベントブリッジ (またはイベントバス) イベントソースが指定されている
<a name="sam-specification-generated-resources-function-eventbridge"></a>

の `Event`プロパティ`AWS::Serverless::Function`がイベントブリッジ (またはイベントバス) タイプの 1 つに設定されている場合、 は`AWS::Events::Rule` CloudFormation リソース AWS SAM を生成します。これは、`EventBridgeRule`、`Schedule`、および `CloudWatchEvents` の各タイプに適用されます。

**`AWS::Events::Rule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

### IotRule イベントソースが指定されている
<a name="sam-specification-generated-resources-function-iotrule"></a>

の `Event`プロパティ`AWS::Serverless::Function`が IoTRule に設定されている場合、 は`AWS::IoT::TopicRule` CloudFormation リソース AWS SAM を生成します。

**`AWS::IoT::TopicRule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

## イベント設定
<a name="sam-specification-generated-resources-function-event-configuration"></a>

次のシナリオでは、イベント設定に基づいて CloudFormation リソースを生成します。

### Amazon SNS イベントに対して OnSuccess (または OnFailure) プロパティが指定されている
<a name="sam-specification-generated-resources-function-sns-onsuccess"></a>

の プロパティの `DestinationConfig`プロパティの `OnSuccess` (または `OnFailure`) `EventInvokeConfig`プロパティ`AWS::Serverless::Function`が指定され、送信先タイプが `SNS`であっても送信先 ARN が指定され*ていない場合*、 は `AWS::Lambda::EventInvokeConfig`および の CloudFormation リソース AWS SAM を生成します`AWS::SNS::Topic`。

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::SNS::Topic`**  
*`LogicalId`: *`<function‑LogicalId>OnSuccessTopic` (または `<function‑LogicalId>OnFailureTopic`)  
*参照可能なプロパティ: *`<function‑LogicalId>.DestinationTopic`  
`OnSuccess` と `OnFailure` の両方が Amazon SNS イベントに指定されている場合、生成されたリソースを区別するには `LogicalId` を使用する必要があります。

### Amazon SQS イベントに対して OnSuccess (または OnFailure) プロパティが指定されている
<a name="sam-specification-generated-resources-function-sqs-onsuccess"></a>

の プロパティの `DestinationConfig`プロパティの `OnSuccess` (または `OnFailure`) `EventInvokeConfig`プロパティ`AWS::Serverless::Function`が指定され、送信先タイプが `SQS`であっても送信先 ARN が指定され*ていない場合*、 は `AWS::Lambda::EventInvokeConfig`および の CloudFormation リソース AWS SAM を生成します`AWS::SQS::Queue`。

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::SQS::Queue`**  
*`LogicalId`: *`<function‑LogicalId>OnSuccessQueue` (または `<function‑LogicalId>OnFailureQueue`)  
*参照可能なプロパティ: *`<function‑LogicalId>.DestinationQueue`  
`OnSuccess` と `OnFailure` の両方が Amazon SQS イベントに指定されている場合、生成されたリソースを区別するには `LogicalId` を使用する必要があります。

# CloudFormation AWS::Serverless::GraphQLApiが指定されているときに生成される リソース
<a name="sam-specification-generated-resources-graphqlapi"></a>

(AWS SAM) テンプレートで AWS Serverless Application Model `AWS::Serverless::GraphQLApi`リソースを指定すると、 AWS SAM は常に次の基本 AWS CloudFormation リソースを作成します。

**`AWS::AppSync::DataSource`**  
*`LogicalId`: *`<graphqlapi-LogicalId><datasource-RelativeId><datasource-Type>DataSource`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::AppSync::FunctionConfiguration`**  
*`LogicalId`: *`<graphqlapi-LogicalId><function-RelativeId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::AppSync::GraphQLApi`**  
*`LogicalId`: *`<graphqlapi-LogicalId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::AppSync::GraphQLSchema`**  
*`LogicalId`: *`<graphqlapi-LogicalId>Schema`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

**`AWS::AppSync::Resolver`**  
*`LogicalId`: *`<graphqlapi-LogicalId><OperationType><resolver-RelativeId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

これらの CloudFormation リソースに加えて、 を指定する`AWS::Serverless::GraphQLApi`と、次の CloudFormation リソースも生成 AWS SAM される場合があります。

`AWS::AppSync::ApiCache`  
*`LogicalId`: *`<graphqlapi-LogicalId>ApiCache`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

`AWS::AppSync::ApiKey`  
*`LogicalId`: *`<graphqlapi-LogicalId><apikey-RelativeId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

`AWS::AppSync::DomainName`  
*`LogicalId`: *`<graphqlapi-LogicalId>DomainName`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

`AWS::AppSync::DomainNameApiAssociation`  
*`LogicalId`: *`<graphqlapi-LogicalId>DomainNameApiAssociation`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

AWS SAM は、 `AWS::Serverless::Connector`リソースを使用してアクセス許可をプロビジョニングすることもできます。詳細については、「[CloudFormation を指定したときに生成される リソース AWS::Serverless::Connector](sam-specification-generated-resources-connector.md)」を参照してください。

# CloudFormation AWS::Serverless::HttpApi を指定したときに生成される リソース
<a name="sam-specification-generated-resources-httpapi"></a>

`AWS::Serverless::HttpApi` を指定すると、 AWS Serverless Application Model (AWS SAM) は `AWS::ApiGatewayV2::Api` ベース CloudFormation リソースを生成します。

**`AWS::ApiGatewayV2::Api`**  
*`LogicalId`: *`<httpapi‑LogicalId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

この CloudFormation リソースに加えて、 を指定すると、 `AWS::Serverless::HttpApi`は次のシナリオの CloudFormation リソース AWS SAM も生成します。

**Topics**
+ [StageName プロパティが指定されている](#sam-specification-generated-resources-httpapi-stage-name)
+ [StageName プロパティが指定されて*いない*](#sam-specification-generated-resources-httpapi-not-stage-name)
+ [DomainName プロパティが指定されている](#sam-specification-generated-resources-httpapi-domain-name)

## StageName プロパティが指定されている
<a name="sam-specification-generated-resources-httpapi-stage-name"></a>

の `StageName`プロパティを指定すると、 `AWS::Serverless::HttpApi`は`AWS::ApiGatewayV2::Stage` CloudFormation リソース AWS SAM を生成します。

**`AWS::ApiGatewayV2::Stage`**  
*`LogicalId`: *`<httpapi‑LogicalId><stage‑name>Stage`  
`<stage‑name>` は、`StageName` プロパティが設定されている文字列です。例えば、`StageName` を `Gamma` に設定すると、`LogicalId` は *MyHttpapigamma*Stage になります。  
*参照可能なプロパティ: *`<httpapi‑LogicalId>.Stage`

## StageName プロパティが指定されて*いない*
<a name="sam-specification-generated-resources-httpapi-not-stage-name"></a>

の `StageName`プロパティが指定され*ていない場合*、 `AWS::Serverless::HttpApi`は`AWS::ApiGatewayV2::Stage` CloudFormation リソース AWS SAM を生成します。

**`AWS::ApiGatewayV2::Stage`**  
*`LogicalId`: *`<httpapi‑LogicalId>ApiGatewayDefaultStage`  
*参照可能なプロパティ: *`<httpapi‑LogicalId>.Stage`

## DomainName プロパティが指定されている
<a name="sam-specification-generated-resources-httpapi-domain-name"></a>

の `DomainName`プロパティの `Domain`プロパティを指定すると、 `AWS::Serverless::HttpApi`は `AWS::ApiGatewayV2::DomainName` CloudFormation リソース AWS SAM を生成します。

**`AWS::ApiGatewayV2::DomainName`**  
*`LogicalId`: *`ApiGatewayDomainNameV2<sha>`  
`<sha>` は、スタックが作成されるときに生成される一意のハッシュ値です。例えば、`ApiGatewayDomainNameV2`*926eeb5ff1* などです。  
*参照可能なプロパティ: *`<httpapi‑LogicalId>.DomainName`

# CloudFormation AWS::Serverless::LayerVersionが指定されているときに生成される リソース
<a name="sam-specification-generated-resources-layerversion"></a>

`AWS::Serverless::LayerVersion` を指定すると、 AWS Serverless Application Model (AWS SAM) は `AWS::Lambda::LayerVersion` ベース CloudFormation リソースを生成します。

**`AWS::Lambda::LayerVersion`**  
*`LogicalId`: *`<layerversion‑LogicalId>`   
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

# CloudFormation AWS::Serverless::SimpleTableが指定されているときに生成される リソース
<a name="sam-specification-generated-resources-simpletable"></a>

`AWS::Serverless::SimpleTable` を指定すると、 AWS Serverless Application Model (AWS SAM) は `AWS::DynamoDB::Table` ベース CloudFormation リソースを生成します。

**`AWS::DynamoDB::Table`**  
*`LogicalId`: *`<simpletable‑LogicalId>`   
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

# CloudFormation AWS::Serverless::StateMachineが指定されているときに生成される リソース
<a name="sam-specification-generated-resources-statemachine"></a>

`AWS::Serverless::StateMachine` が指定されている場合、 AWS Serverless Application Model (AWS SAM) は `AWS::StepFunctions::StateMachine` のベース CloudFormation リソースを生成します。

**`AWS::StepFunctions::StateMachine`**  
*`LogicalId`: *`<statemachine‑LogicalId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

この CloudFormation リソースに加えて、 を指定すると、 `AWS::Serverless::StateMachine`は次のシナリオの CloudFormation リソース AWS SAM も生成します。

**Topics**
+ [Role プロパティが指定されていない](#sam-specification-generated-resources-statemachine-not-role)
+ [Api イベントソースが指定されている](#sam-specification-generated-resources-statemachine-api)
+ [イベントブリッジ (またはイベントバス) イベントソースが指定されている](#sam-specification-generated-resources-statemachine-eventbridge)

## Role プロパティが指定されていない
<a name="sam-specification-generated-resources-statemachine-not-role"></a>

の `Role`プロパティが指定され*ていない場合*、 `AWS::Serverless::StateMachine`は `AWS::IAM::Role` CloudFormation リソース AWS SAM を生成します。

**`AWS::IAM::Role`**  
*`LogicalId`: *`<statemachine‑LogicalId>Role`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

## Api イベントソースが指定されている
<a name="sam-specification-generated-resources-statemachine-api"></a>

の `Event`プロパティ`AWS::Serverless::StateMachine`が に設定されているが`Api`、 `RestApiId`プロパティが指定され*ていない場合*、 は`AWS::ApiGateway::RestApi` CloudFormation リソース AWS SAM を生成します。

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`ServerlessRestApi`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)

## イベントブリッジ (またはイベントバス) イベントソースが指定されている
<a name="sam-specification-generated-resources-statemachine-eventbridge"></a>

の `Event`プロパティ`AWS::Serverless::StateMachine`がイベントブリッジ (またはイベントバス) タイプの 1 つに設定されている場合、 は`AWS::Events::Rule` CloudFormation リソース AWS SAM を生成します。これは、`EventBridgeRule`、`Schedule`、および `CloudWatchEvents` の各タイプに適用されます。

**`AWS::Events::Rule`**  
*`LogicalId`: *`<statemachine‑LogicalId><event‑LogicalId>`  
*参照可能なプロパティ: *該当なし (この CloudFormation リソースを参照`LogicalId`するには を使用する必要があります)