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.networks import EmailStr
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[EmailStr]
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]]
bcc: Optional[List[str]]
sender: Optional[List[str]]
reply_to: Optional[List[str]] = Field(None, alias="reply-to")
returnPath: EmailStr
messageId: str
date: str
subject: str
class SesMail(BaseModel):
timestamp: datetime
source: EmailStr
messageId: str
destination: List[EmailStr]
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: EmailStr messageId: str destination: List[EmailStr] headersTruncated: bool headers: List[SesMailHeaders] commonHeaders: SesMailCommonHeadersAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var commonHeaders : SesMailCommonHeadersvar destination : List[pydantic.networks.EmailStr]var headers : List[SesMailHeaders]var headersTruncated : boolvar messageId : strvar source : pydantic.networks.EmailStrvar 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]] bcc: Optional[List[str]] sender: Optional[List[str]] reply_to: Optional[List[str]] = Field(None, alias="reply-to") returnPath: EmailStr 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 : pydantic.networks.EmailStrvar 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[EmailStr] 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[pydantic.networks.EmailStr]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