"""Validation schemas description.""" from marshmallow import fields from marshmallow import INCLUDE from marshmallow import Schema class Configuration(Schema): """Configuration Schema.""" output_bucket_name = fields.String(required=True) preview_bucket_name = fields.String(required=True) elastic_transcoder_id = fields.String(required=True) class Asset(Schema): """Asset validation schema. To be extended.""" config = fields.Nested(Configuration, required=True, strict=True) class Meta: """Allow other fields.""" unknown = INCLUDE class LambdaEvent(Schema): """Lambda event validation schema.""" config = fields.Nested(Configuration, required=True, strict=True) key = fields.String(required=True) bucket = fields.String(required=True) file_type = fields.String(required=True) class Meta: """Allow other fields.""" unknown = INCLUDE class EncodingRouteEvent(Schema): """encoding route event validation schema.""" config = fields.Nested(Configuration, required=True, strict=True) key = fields.String(required=True) bucket = fields.String(required=True) class Meta: """Allow other fields.""" unknown = INCLUDE