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

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

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

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

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

次の表は、 によるリソース属性のサポートをまとめたものです。ただし AWS SAM、以下を前提と例外しています。

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

DependsOn

Metadata 1、2

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

条件

DeletionPolicy

UpdateReplacePolicy

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

注意:

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

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

例外

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

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

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

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

    • AWS::CodeDeploy::Application

    • AWS::CodeDeploy::DeploymentGroup

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

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

    • UpdateReplacePolicy:

      1. Retain

      2. Snapshot

      3. Delete

    • DeletionPolicy:

      1. Retain

      2. Delete