src.aws_resources.lambda_function package
Submodules
src.aws_resources.lambda_function.request module
- class src.aws_resources.lambda_function.request.Request(event)
Bases:
objectLambda関数のリクエストイベントを解析するクラス。
API Gatewayから受取ったイベントを解析し、インスタンスIDやドライランフラグを取出す。
- Parameters:
event (dict) – API Gatewayから受取ったイベント。
- property dry_run
ドライランモードの場合は真を表す真偽値。
- Type:
bool
- extract(event)
イベントからボディを取出す。
- Parameters:
event (dict) – API Gatewayから受取ったイベント。
- Returns:
取出したボディ。ボディが空の場合は空のdict。
- Return type:
dict
- property instance_id
EC2インスタンスID。
- Type:
str
- class src.aws_resources.lambda_function.request.State(*values)
Bases:
Enumリクエストの状態を表す列挙子。
- BODY_HAS_NOT_INSTANCE_ID = 4
ボディにinstance_idが含まれない状態。
- Type:
int
- BODY_IS_EMPTY = 2
ボディが空の状態。
- Type:
int
- BODY_IS_NOT_JSON = 3
ボディがJSON形式でない状態。
- Type:
int
- BODY_IS_VALID = 5
ボディが正常に解析できた状態。
- Type:
int
- UNDEFINED = 1
初期状態。
- Type:
int
src.aws_resources.lambda_function.response module
- class src.aws_resources.lambda_function.response.AcceptedState
Bases:
StateEC2インスタンスの起動を受付けた状態 (202: Accepted)。
EC2インスタンスの起動リクエストを正常に受付けた場合に返す。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.BodyHasNotInstanceIdState
Bases:
Stateリクエストボディにinstance_idが含まれない状態 (400: Bad Request)。
受取ったリクエストボディのJSONにinstance_idキーが存在しない場合に返す。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.BodyIsEmptyState
Bases:
Stateリクエストボディが空の状態 (400: Bad Request)。
受取ったリクエストにボディが存在しない場合に返す。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.BodyIsNotJsonState
Bases:
StateリクエストボディがJSON形式でない状態 (400: Bad Request)。
受取ったリクエストボディのパースに失敗した場合に返す。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.EC2InstanceIdIsInvalidState
Bases:
StateEC2インスタンスIDが無効な状態 (400: Bad Request)。
インスタンスIDが文字列でない、または対象のEC2インスタンスが存在しない場合に返す。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.EC2InstanceIsAlreadyRunningState
Bases:
StateEC2インスタンスが既に起動中の状態 (409: Conflict)。
起動リクエスト時にEC2インスタンスが既に起動中だった場合に返す。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.IgnoreState
Bases:
Stateドライランモードで実行した状態 (200: OK)。
ドライランモードで実行したため、実際の起動を行わなかった場合に返す。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.InsufficientCapacityState
Bases:
StateEC2インスタンスのキャパシティが不足している状態 (503: Service Unavailable)。
EC2インスタンスの起動時にインスタンスタイプのキャパシティ不足が発生した場合に返す。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.NoneState
Bases:
State状態未設定時のデフォルト状態 (500: Internal Server Error)。
予期しないエラーとなった場合に返す可能性がある。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.Response
Bases:
objectLambda関数のレスポンスを生成するクラス。
設定された状態に基づき、HTTPステータスコードとボディを含むレスポンスを生成する。
- property body
JSONシリアライズしたレスポンスボディ。
- Type:
str
- create_response()
Lambdaレスポンスを生成する。
- Returns:
- HTTPステータスコードとボディを含むレスポンス。
- {
“statusCode”: int, “body”: str
}
- Return type:
dict
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.StartedEC2InstanceIsFailedState
Bases:
StateEC2インスタンスの起動に失敗した状態 (500: Internal Server Error)。
EC2インスタンスの起動処理中に予期しないエラーが発生した場合に返す。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- property status_code
HTTPステータスコード。
- Type:
int
- class src.aws_resources.lambda_function.response.State
Bases:
objectレスポンスの状態を表す基底クラス。
具象クラスは status_code と body_message を必ずオーバーライドする必要がある。 オブジェクト生成時に上記がオーバーライドされているか確認する。
- Raises:
NotImplementedError – 実装必須プロパティが実装されていない場合。
- property body_message
レスポンスボディに設定する文字列。
- Type:
str
- check()
実装必須メソッドが正常に実装されているかチェックする。
- Raises:
NotImplementedError – 実装必須プロパティが実装されていない場合。
- property status_code
HTTPステータスコード。
- Type:
int
Module contents
- class src.aws_resources.lambda_function.LambdaFunction(event, context)
Bases:
objectLambda関数のイベント処理とレスポンス生成を管理するクラス。
API Gatewayから受取ったイベントを解析し、実行結果をレスポンスとして返す。
- Parameters:
event (dict) – API Gatewayから受取ったイベント。
context (dict) – Lambda実行コンテキスト。
- create_response()
イベントを解析してレスポンスを生成する。
- Returns:
HTTPステータスコードとボディを含むレスポンス。
- Return type:
dict