AWS::Serverless::Application - AWS Serverless Application Model

AWS::Serverless::Application

AWS Serverless Application Repository から、または Amazon S3 バケットからのサーバーレスアプリケーションを、ネストされたアプリケーションとして埋め込みます。ネストされたアプリケーションは、ネストされた AWS::CloudFormation::Stack リソースとしてデプロイされます。このリソースには、他の AWS::Serverless::Application リソースを含めたその他のリソースを複数含めることができます。

構文

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

YAML

Type: AWS::Serverless::Application Properties: Location: String | ApplicationLocationObject NotificationARNs: List Parameters: Map Tags: Map TimeoutInMinutes: Integer

プロパティ

Location

ネストされたアプリケーションのテンプレート URL、ファイルパス、またはロケーションオブジェクトです。

テンプレート URL が指定されている場合は、CloudFormation TemplateUrl ドキュメントに指定されている形式に従い、有効な CloudFormation または SAM テンプレートが含まれている必要があります。AWS Serverless Application Repository に公開されたアプリケーションを指定するには、ApplicationLocationObject を使用することができます。

ローカルファイルパスを指定する場合は、定義が適切に変換されるようにするために、テンプレートが sam deploy または sam package コマンドを含むワークフローを実行する必要があります。

タイプ: 文字列 | ApplicationLocationObject

必須: はい

AWS CloudFormation との互換性: このプロパティは、AWS::CloudFormation::Stack リソースの TemplateURL プロパティに似ています。CloudFormation バージョンでは、ApplicationLocationObject からアプリケーションを取得するために AWS Serverless Application Repository を使用しません。

NotificationARNs

スタックイベントに関する通知が送信される既存の Amazon SNS トピックのリストです。

タイプ: リスト

必須: いいえ

AWS CloudFormation との互換性: このプロパティは、AWS::CloudFormation::Stack リソースの NotificationARNs プロパティに直接渡されます。

Parameters

アプリケーションパラメータ値です。

タイプ: マップ

必須: いいえ

AWS CloudFormation との互換性: このプロパティは、AWS::CloudFormation::Stack リソースの Parameters プロパティに直接渡されます。

Tags

このアプリケーションに追加されるタグを指定するマップ (文字列対文字列) です。キーと値に使用できるのは英数字のみです。キーの長さは 1~127 文字の Unicode 文字で、「aws:」をプレフィックスとして使用することはできません。値の長さは 1~255 文字の Unicode 文字にすることができます。

タイプ: マップ

必須: いいえ

AWS CloudFormation との互換性: このプロパティは、AWS::CloudFormation::Stack リソースの Tags プロパティに似ています。SAM の Tags プロパティは、キーバリューペアで構成されています。CloudFormation では、タグオブジェクトのリストで構成されています。スタックが作成されると、SAM がこのアプリケーションに lambda:createdBy:SAM タグを自動的に追加します。さらに、このアプリケーションが AWS Serverless Application Repository からのものである場合、SAM は 2 つの追加のタグ serverlessrepo:applicationId:ApplicationIdserverlessrepo:semanticVersion:SemanticVersion も自動的に追加します。

TimeoutInMinutes

ネストされたスタックが AWS CloudFormation 状態になるまで CREATE_COMPLETE が待機する時間 (分) です。デフォルトではタイムアウトが設定されていません。AWS CloudFormation は、ネストされたスタックが CREATE_COMPLETE 状態になったことを検出すると、親スタック内でネストされたスタックのリソースを CREATE_COMPLETE としてマークして、親スタックの作成を再開します。ネストされたスタックが CREATE_COMPLETE 状態になる前にタイムアウト期限が切れると、AWS CloudFormation はネストされたスタックは失敗としてマークし、ネストされたスタックと親スタックの両方をロールバックします。

タイプ: 整数

必須: いいえ

AWS CloudFormation との互換性: このプロパティは、AWS::CloudFormation::Stack リソースの TimeoutInMinutes プロパティに直接渡されます。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、基盤となる AWS::CloudFormation::Stack リソースのリソース名が返されます。

Ref 関数の使用方法の詳細については、AWS CloudFormation ユーザーガイドの「Ref」を参照してください。

Fn::GetAtt

Fn::GetAtt は、このタイプの指定された属性の値を返します。利用可能な属性とサンプル戻り値は以下のとおりです。

Fn::GetAtt の使用の詳細については、AWS CloudFormation ユーザーガイドの「Fn::GetAtt」を参照してください。

Outputs.ApplicationOutputName

ApplicationOutputName という前のスタック出力の値です。

SAR アプリケーション

Serverless Application Repository からのテンプレートを使用するアプリケーションです。

YAML

Type: AWS::Serverless::Application Properties: Location: ApplicationId: 'arn:aws:serverlessrepo:us-east-1:012345678901:applications/my-application' SemanticVersion: 1.0.0 Parameters: StringParameter: parameter-value IntegerParameter: 2

通常のアプリケーション

S3 url からのアプリケーションです。

YAML

Type: AWS::Serverless::Application Properties: Location: https://s3.amazonaws.com/demo-bucket/template.yaml