S3Schema: ZodObject<
{
Records: ZodArray<
ZodObject<
{
awsRegion: ZodString;
eventName: ZodString;
eventSource: ZodLiteral<"aws:s3">;
eventTime: ZodString;
eventVersion: ZodString;
glacierEventData: ZodOptional<
ZodObject<
{
restoreEventData: ZodObject<
{
lifecycleRestorationExpiryTime: ZodString;
lifecycleRestoreStorageClass: ZodString;
},
"strip",
ZodTypeAny,
{
lifecycleRestorationExpiryTime: string;
lifecycleRestoreStorageClass: string;
},
{
lifecycleRestorationExpiryTime: string;
lifecycleRestoreStorageClass: string;
},
>;
},
"strip",
ZodTypeAny,
{
restoreEventData: {
lifecycleRestorationExpiryTime: string;
lifecycleRestoreStorageClass: string;
};
},
{
restoreEventData: {
lifecycleRestorationExpiryTime: string;
lifecycleRestoreStorageClass: string;
};
},
>,
>;
requestParameters: ZodObject<
{
sourceIPAddress: ZodUnion<
[ZodString, ZodLiteral<"s3.amazonaws.com">],
>;
},
"strip",
ZodTypeAny,
{ sourceIPAddress: string },
{ sourceIPAddress: string },
>;
responseElements: ZodObject<
{ "x-amz-id-2": ZodString; "x-amz-request-id": ZodString },
"strip",
ZodTypeAny,
{ "x-amz-id-2": string; "x-amz-request-id": string },
{ "x-amz-id-2": string; "x-amz-request-id": string },
>;
s3: ZodObject<
{
bucket: ZodObject<
{
arn: ZodString;
name: ZodString;
ownerIdentity: ZodObject<
{ principalId: ... },
"strip",
ZodTypeAny,
{ principalId: ... },
{ principalId: ... },
>;
},
"strip",
ZodTypeAny,
{
arn: string;
name: string;
ownerIdentity: { principalId: string };
},
{
arn: string;
name: string;
ownerIdentity: { principalId: string };
},
>;
configurationId: ZodString;
object: ZodObject<
{
eTag: ZodOptional<ZodString>;
key: ZodString;
sequencer: ZodOptional<ZodString>;
size: ZodOptional<ZodNumber>;
urlDecodedKey: ZodOptional<ZodString>;
versionId: ZodOptional<ZodString>;
},
"strip",
ZodTypeAny,
{
eTag?: string;
key: string;
sequencer?: string;
size?: number;
urlDecodedKey?: string;
versionId?: string;
},
{
eTag?: string;
key: string;
sequencer?: string;
size?: number;
urlDecodedKey?: string;
versionId?: string;
},
>;
s3SchemaVersion: ZodString;
},
"strip",
ZodTypeAny,
{
bucket: {
arn: string;
name: string;
ownerIdentity: { principalId: string };
};
configurationId: string;
object: {
eTag?: string;
key: string;
sequencer?: string;
size?: number;
urlDecodedKey?: string;
versionId?: string;
};
s3SchemaVersion: string;
},
{
bucket: {
arn: string;
name: string;
ownerIdentity: { principalId: string };
};
configurationId: string;
object: {
eTag?: string;
key: string;
sequencer?: string;
size?: number;
urlDecodedKey?: string;
versionId?: string;
};
s3SchemaVersion: string;
},
>;
userIdentity: ZodObject<
{ principalId: ZodString },
"strip",
ZodTypeAny,
{ principalId: string },
{ principalId: string },
>;
},
"strip",
ZodTypeAny,
{
awsRegion: string;
eventName: string;
eventSource: "aws:s3";
eventTime: string;
eventVersion: string;
glacierEventData?: {
restoreEventData: {
lifecycleRestorationExpiryTime: string;
lifecycleRestoreStorageClass: string;
};
};
requestParameters: { sourceIPAddress: string };
responseElements: { "x-amz-id-2": string; "x-amz-request-id": string };
s3: {
bucket: {
arn: string;
name: string;
ownerIdentity: { principalId: string };
};
configurationId: string;
object: {
eTag?: string;
key: string;
sequencer?: string;
size?: number;
urlDecodedKey?: string;
versionId?: string;
};
s3SchemaVersion: string;
};
userIdentity: { principalId: string };
},
{
awsRegion: string;
eventName: string;
eventSource: "aws:s3";
eventTime: string;
eventVersion: string;
glacierEventData?: {
restoreEventData: {
lifecycleRestorationExpiryTime: string;
lifecycleRestoreStorageClass: string;
};
};
requestParameters: { sourceIPAddress: string };
responseElements: { "x-amz-id-2": string; "x-amz-request-id": string };
s3: {
bucket: {
arn: string;
name: string;
ownerIdentity: { principalId: string };
};
configurationId: string;
object: {
eTag?: string;
key: string;
sequencer?: string;
size?: number;
urlDecodedKey?: string;
versionId?: string;
};
s3SchemaVersion: string;
};
userIdentity: { principalId: string };
},
>,
"many",
>;
},
"strip",
ZodTypeAny,
{
Records: {
awsRegion: string;
eventName: string;
eventSource: "aws:s3";
eventTime: string;
eventVersion: string;
glacierEventData?: {
restoreEventData: {
lifecycleRestorationExpiryTime: string;
lifecycleRestoreStorageClass: string;
};
};
requestParameters: { sourceIPAddress: string };
responseElements: { "x-amz-id-2": string; "x-amz-request-id": string };
s3: {
bucket: {
arn: string;
name: string;
ownerIdentity: { principalId: string };
};
configurationId: string;
object: {
eTag?: string;
key: string;
sequencer?: string;
size?: number;
urlDecodedKey?: string;
versionId?: string;
};
s3SchemaVersion: string;
};
userIdentity: { principalId: string };
}[];
},
{
Records: {
awsRegion: string;
eventName: string;
eventSource: "aws:s3";
eventTime: string;
eventVersion: string;
glacierEventData?: {
restoreEventData: {
lifecycleRestorationExpiryTime: string;
lifecycleRestoreStorageClass: string;
};
};
requestParameters: { sourceIPAddress: string };
responseElements: { "x-amz-id-2": string; "x-amz-request-id": string };
s3: {
bucket: {
arn: string;
name: string;
ownerIdentity: { principalId: string };
};
configurationId: string;
object: {
eTag?: string;
key: string;
sequencer?: string;
size?: number;
urlDecodedKey?: string;
versionId?: string;
};
s3SchemaVersion: string;
};
userIdentity: { principalId: string };
}[];
},
> = ...
Zod schema for S3 event