でサポートされるリソース属性 AWS SAM - AWS Serverless Application Model

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

でサポートされるリソース属性 AWS SAM

リソース属性は、追加の動作 AWS SAM と関係を制御するために および CloudFormation リソースに追加できる属性です。リソース属性の詳細については、AWS CloudFormation ユーザーガイドの「Resource Attribute Reference」を参照してください。

AWS SAM は、 で定義されるリソース属性のサブセットをサポートします CloudFormation。サポートされているリソース属性のうち、一部は対応するリソースの基本生成 CloudFormation リソースにのみコピーされ AWS SAM 、一部は対応する CloudFormation リソースから生成されたすべての AWS SAM リソースにコピーされます。対応する CloudFormation リソースから生成された AWS SAM リソースの詳細については、「」を参照してくださいの生成済み CloudFormation リソース AWS SAM

次の表は、以下の条件に従って AWS SAM、 によるリソース属性のサポートをまとめ例外たものです。

リソース属性 送信先で生成されるリソース

DependsOn

Metadata 1、2

ベース CloudFormation 生成リソースのみ。 AWS SAM リソースとベース CloudFormation リソース間のマッピングについては、「」を参照してください生成された CloudFormation リソースシナリオ

条件

DeletionPolicy

UpdateReplacePolicy

対応する CloudFormation AWS SAM リソースから生成されたすべてのリソース。生成された CloudFormation リソースのシナリオについては、「」を参照してください生成された CloudFormation リソースシナリオ

注意:

  1. AWS::Serverless::Function リソースタイプとの Metadata リソース属性の使用に関する詳細については、「でのカスタムランタイムを使用した Lambda 関数の構築 AWS SAM」を参照してください。

  2. AWS::Serverless::LayerVersion リソースタイプとの Metadata リソース属性の使用に関する詳細については、「での Lambda レイヤーの構築 AWS SAM」を参照してください。

例外

前述のリソース属性ルールには、いくつかの例外があります。

  • の場合AWS::Lambda::LayerVersion、 AWS SAMのみのカスタムフィールドは、生成された CloudFormation リソースDeletionPolicyRetentionPolicyを設定します。この設定は、DeletionPolicy 自体よりも優先されます。どちらも設定されていない場合、DeletionPolicy はデフォルトで Retain に設定されます。

  • AWS::Lambda::Version については、DeletionPolicy が指定されていない場合のデフォルトは Retain です。

  • サーバーレス関数に DeploymentPreferencesが指定されている場合、リソース属性は次の生成された CloudFormation リソースにコピーされません。

    • AWS::CodeDeploy::Application

    • AWS::CodeDeploy::DeploymentGroup

    • このシナリオ用に作成された、CodeDeployServiceRole という名前の AWS::IAM::Role

  • AWS SAM テンプレートに暗黙的に作成された API イベントソースを持つ複数の関数が含まれている場合、関数は生成されたAWS::ApiGateway::RestApiリソースを共有します。このシナリオでは、関数のリソース属性が異なる場合、生成されたAWS::ApiGateway::RestApiリソースについて、 は次の優先順位リストに従ってリソース属性 AWS SAM をコピーします。

    • UpdateReplacePolicy:

      1. Retain

      2. Snapshot

      3. Delete

    • DeletionPolicy:

      1. Retain

      2. Delete