Module aws_lambda_powertools.utilities.parser.models.ses
Expand source code
from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel, Field
from pydantic.types import PositiveInt
from ..types import Literal
class SesReceiptVerdict(BaseModel):
status: Literal["PASS", "FAIL", "GRAY", "PROCESSING_FAILED"]
class SesReceiptAction(BaseModel):
type: Literal["Lambda"] # noqa A003,VNE003
invocationType: Literal["Event"]
functionArn: str
class SesReceipt(BaseModel):
timestamp: datetime
processingTimeMillis: PositiveInt
recipients: List[str]
spamVerdict: SesReceiptVerdict
virusVerdict: SesReceiptVerdict
spfVerdict: SesReceiptVerdict
dmarcVerdict: SesReceiptVerdict
action: SesReceiptAction
class SesMailHeaders(BaseModel):
name: str
value: str
class SesMailCommonHeaders(BaseModel):
header_from: List[str] = Field(None, alias="from")
to: List[str]
cc: Optional[List[str]] = None
bcc: Optional[List[str]] = None
sender: Optional[List[str]] = None
reply_to: Optional[List[str]] = Field(None, alias="reply-to")
returnPath: str
messageId: str
date: str
subject: str
class SesMail(BaseModel):
timestamp: datetime
source: str
messageId: str
destination: List[str]
headersTruncated: bool
headers: List[SesMailHeaders]
commonHeaders: SesMailCommonHeaders
class SesMessage(BaseModel):
mail: SesMail
receipt: SesReceipt
class SesRecordModel(BaseModel):
eventSource: Literal["aws:ses"]
eventVersion: str
ses: SesMessage
class SesModel(BaseModel):
Records: List[SesRecordModel]
Classes
class SesMail (**data: Any)-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
Expand source code
class SesMail(BaseModel): timestamp: datetime source: str messageId: str destination: List[str] headersTruncated: bool headers: List[SesMailHeaders] commonHeaders: SesMailCommonHeadersAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var commonHeaders : SesMailCommonHeadersvar destination : List[str]var headers : List[SesMailHeaders]var headersTruncated : boolvar messageId : strvar source : strvar timestamp : datetime.datetime
class SesMailCommonHeaders (**data: Any)-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
Expand source code
class SesMailCommonHeaders(BaseModel): header_from: List[str] = Field(None, alias="from") to: List[str] cc: Optional[List[str]] = None bcc: Optional[List[str]] = None sender: Optional[List[str]] = None reply_to: Optional[List[str]] = Field(None, alias="reply-to") returnPath: str messageId: str date: str subject: strAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var bcc : Optional[List[str]]var cc : Optional[List[str]]var date : strvar header_from : List[str]var messageId : strvar reply_to : Optional[List[str]]var returnPath : strvar sender : Optional[List[str]]var subject : strvar to : List[str]
class SesMailHeaders (**data: Any)-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
Expand source code
class SesMailHeaders(BaseModel): name: str value: strAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var name : strvar value : str
class SesMessage (**data: Any)-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
Expand source code
class SesMessage(BaseModel): mail: SesMail receipt: SesReceiptAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var mail : SesMailvar receipt : SesReceipt
class SesModel (**data: Any)-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
Expand source code
class SesModel(BaseModel): Records: List[SesRecordModel]Ancestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var Records : List[SesRecordModel]
class SesReceipt (**data: Any)-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
Expand source code
class SesReceipt(BaseModel): timestamp: datetime processingTimeMillis: PositiveInt recipients: List[str] spamVerdict: SesReceiptVerdict virusVerdict: SesReceiptVerdict spfVerdict: SesReceiptVerdict dmarcVerdict: SesReceiptVerdict action: SesReceiptActionAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var action : SesReceiptActionvar dmarcVerdict : SesReceiptVerdictvar processingTimeMillis : pydantic.types.PositiveIntvar recipients : List[str]var spamVerdict : SesReceiptVerdictvar spfVerdict : SesReceiptVerdictvar timestamp : datetime.datetimevar virusVerdict : SesReceiptVerdict
class SesReceiptAction (**data: Any)-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
Expand source code
class SesReceiptAction(BaseModel): type: Literal["Lambda"] # noqa A003,VNE003 invocationType: Literal["Event"] functionArn: strAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var functionArn : strvar invocationType : Literal['Event']var type : Literal['Lambda']
class SesReceiptVerdict (**data: Any)-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
Expand source code
class SesReceiptVerdict(BaseModel): status: Literal["PASS", "FAIL", "GRAY", "PROCESSING_FAILED"]Ancestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var status : Literal['PASS', 'FAIL', 'GRAY', 'PROCESSING_FAILED']
class SesRecordModel (**data: Any)-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
Expand source code
class SesRecordModel(BaseModel): eventSource: Literal["aws:ses"] eventVersion: str ses: SesMessageAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var eventSource : Literal['aws:ses']var eventVersion : strvar ses : SesMessage