Module aws_lambda_powertools.utilities.parser.models.s3
Expand source code
from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel
from pydantic.fields import Field
from pydantic.networks import IPvAnyNetwork
from pydantic.types import PositiveInt
from ..types import Literal
class S3EventRecordGlacierRestoreEventData(BaseModel):
lifecycleRestorationExpiryTime: datetime
lifecycleRestoreStorageClass: str
class S3EventRecordGlacierEventData(BaseModel):
restoreEventData: S3EventRecordGlacierRestoreEventData
class S3Identity(BaseModel):
principalId: str
class S3RequestParameters(BaseModel):
sourceIPAddress: IPvAnyNetwork
class S3ResponseElements(BaseModel):
x_amz_request_id: str = Field(None, alias="x-amz-request-id")
x_amz_id_2: str = Field(None, alias="x-amz-id-2")
class S3OwnerIdentify(BaseModel):
principalId: str
class S3Bucket(BaseModel):
name: str
ownerIdentity: S3OwnerIdentify
arn: str
class S3Object(BaseModel):
key: str
size: PositiveInt
eTag: str
sequencer: str
versionId: Optional[str]
class S3Message(BaseModel):
s3SchemaVersion: str
configurationId: str
bucket: S3Bucket
object: S3Object # noqa: A003,VNE003
class S3RecordModel(BaseModel):
eventVersion: str
eventSource: Literal["aws:s3"]
awsRegion: str
eventTime: datetime
eventName: str
userIdentity: S3Identity
requestParameters: S3RequestParameters
responseElements: S3ResponseElements
s3: S3Message
glacierEventData: Optional[S3EventRecordGlacierEventData]
class S3Model(BaseModel):
Records: List[S3RecordModel]
Classes
class S3Bucket (**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 S3Bucket(BaseModel): name: str ownerIdentity: S3OwnerIdentify arn: strAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var arn : strvar name : strvar ownerIdentity : S3OwnerIdentify
class S3EventRecordGlacierEventData (**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 S3EventRecordGlacierEventData(BaseModel): restoreEventData: S3EventRecordGlacierRestoreEventDataAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var restoreEventData : S3EventRecordGlacierRestoreEventData
class S3EventRecordGlacierRestoreEventData (**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 S3EventRecordGlacierRestoreEventData(BaseModel): lifecycleRestorationExpiryTime: datetime lifecycleRestoreStorageClass: strAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var lifecycleRestorationExpiryTime : datetime.datetimevar lifecycleRestoreStorageClass : str
class S3Identity (**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 S3Identity(BaseModel): principalId: strAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var principalId : str
class S3Message (**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 S3Message(BaseModel): s3SchemaVersion: str configurationId: str bucket: S3Bucket object: S3Object # noqa: A003,VNE003Ancestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var bucket : S3Bucketvar configurationId : strvar object : S3Objectvar s3SchemaVersion : str
class S3Model (**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 S3Model(BaseModel): Records: List[S3RecordModel]Ancestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var Records : List[S3RecordModel]
class S3Object (**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 S3Object(BaseModel): key: str size: PositiveInt eTag: str sequencer: str versionId: Optional[str]Ancestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var eTag : strvar key : strvar sequencer : strvar size : pydantic.types.PositiveIntvar versionId : Union[str, NoneType]
class S3OwnerIdentify (**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 S3OwnerIdentify(BaseModel): principalId: strAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var principalId : str
class S3RecordModel (**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 S3RecordModel(BaseModel): eventVersion: str eventSource: Literal["aws:s3"] awsRegion: str eventTime: datetime eventName: str userIdentity: S3Identity requestParameters: S3RequestParameters responseElements: S3ResponseElements s3: S3Message glacierEventData: Optional[S3EventRecordGlacierEventData]Ancestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var awsRegion : strvar eventName : strvar eventSource : Literal['aws:s3']var eventTime : datetime.datetimevar eventVersion : strvar glacierEventData : Union[S3EventRecordGlacierEventData, NoneType]var requestParameters : S3RequestParametersvar responseElements : S3ResponseElementsvar s3 : S3Messagevar userIdentity : S3Identity
class S3RequestParameters (**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 S3RequestParameters(BaseModel): sourceIPAddress: IPvAnyNetworkAncestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var sourceIPAddress : pydantic.networks.IPvAnyNetwork
class S3ResponseElements (**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 S3ResponseElements(BaseModel): x_amz_request_id: str = Field(None, alias="x-amz-request-id") x_amz_id_2: str = Field(None, alias="x-amz-id-2")Ancestors
- pydantic.main.BaseModel
- pydantic.utils.Representation
Class variables
var x_amz_id_2 : strvar x_amz_request_id : str