Source code for runway.cfngin.hooks.awslambda.models.responses

"""Response data models."""
from typing import List, Optional

from pydantic import Extra

from runway.utils import BaseModel


[docs]class AwsLambdaHookDeployResponse(BaseModel): """Data model for AwsLambdaHook deploy response. When returned by the hook as ``hook_data``, this model is dumped to a standard :class:`~typing.Dict` using the field's aliases as the ``key`` in place of the attribute names. This is done so that the ``key`` is a direct match to a CloudFormation Property where the value should be used. """ bucket_name: str """Name of the S3 Bucket where the deployment package is located. (alias ``S3Bucket``)""" code_sha256: str """SHA256 of the deployment package. This can be used by CloudFormation as the value of ``AWS::Lambda::Version.CodeSha256``. (alias ``CodeSha256``) """ compatible_architectures: Optional[List[str]] = None """A list of compatible instruction set architectures. (https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html) (alias ``CompatibleArchitectures``) """ compatible_runtimes: Optional[List[str]] = None """A list of compatible function runtimes. Used for filtering with ``ListLayers`` and ``ListLayerVersions``. (alias ``CompatibleRuntimes``) """ license: Optional[str] = None """The layer's software license (alias ``License``). Can be any of the following: - A SPDX license identifier (e.g. ``MIT``). - The URL of a license hosted on the internet (e.g. ``https://opensource.org/licenses/MIT``). - The full text of the license. """ object_key: str """Key (file path) of the deployment package S3 Object. (alias ``S3Key``)""" object_version_id: Optional[str] = None """The version ID of the deployment package S3 Object. This will only have a value if the S3 Bucket has versioning enabled. (alias ``S3ObjectVersion``) """ runtime: str """Runtime of the Lambda Function. (alias ``Runtime``)"""
[docs] class Config: """Model configuration.""" allow_population_by_field_name = True extra = Extra.forbid fields = { "bucket_name": {"alias": "S3Bucket"}, "code_sha256": {"alias": "CodeSha256"}, "compatible_architectures": {"alias": "CompatibleArchitectures"}, "compatible_runtimes": {"alias": "CompatibleRuntimes"}, "license": {"alias": "License"}, "object_key": {"alias": "S3Key"}, "object_version_id": {"alias": "S3ObjectVersion"}, "runtime": {"alias": "Runtime"}, }