Skip to content

Commit 155d114

Browse files
committed
feat(parser): Added Cognito trigger schemas
1 parent d89f1f9 commit 155d114

File tree

3 files changed

+394
-0
lines changed

3 files changed

+394
-0
lines changed

aws_lambda_powertools/utilities/parser/models/__init__.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,43 @@
4949
CloudWatchLogsLogEvent,
5050
CloudWatchLogsModel,
5151
)
52+
from .cognito import (
53+
CognitoCallerContextModel,
54+
CognitoChallengeResultModel,
55+
CognitoPreSignupRequestModel,
56+
CognitoPreSignupResponseModel,
57+
CognitoPreSignupTriggerModel,
58+
CognitoPostConfirmationRequestModel,
59+
CognitoPostConfirmationTriggerModel,
60+
CognitoPreAuthenticationRequestModel,
61+
CognitoPreAuthenticationTriggerModel,
62+
CognitoPostAuthenticationRequestModel,
63+
CognitoPostAuthenticationTriggerModel,
64+
CognitoGroupConfigurationModel,
65+
CognitoPreTokenGenRequestModel,
66+
CognitoClaimsOverrideDetailsModel,
67+
CognitoPreTokenGenResponseModel,
68+
CognitoPreTokenGenerationTriggerModel,
69+
CognitoMigrateUserRequestModel,
70+
CognitoMigrateUserResponseModel,
71+
CognitoMigrateUserTriggerModel,
72+
CognitoCustomMessageRequestModel,
73+
CognitoCustomMessageResponseModel,
74+
CognitoCustomMessageTriggerModel,
75+
CognitoCustomEmailSenderRequestModel,
76+
CognitoCustomEmailSenderTriggerModel,
77+
CognitoCustomSMSSenderRequestModel,
78+
CognitoCustomSMSSenderTriggerModel,
79+
CognitoDefineAuthChallengeRequestModel,
80+
CognitoDefineAuthChallengeResponseModel,
81+
CognitoDefineAuthChallengeTriggerModel,
82+
CognitoCreateAuthChallengeRequestModel,
83+
CognitoCreateAuthChallengeResponseModel,
84+
CognitoCreateAuthChallengeTriggerModel,
85+
CognitoVerifyAuthChallengeRequestModel,
86+
CognitoVerifyAuthChallengeResponseModel,
87+
CognitoVerifyAuthChallengeTriggerModel,
88+
)
5289
from .dynamodb import (
5390
DynamoDBStreamChangedRecordModel,
5491
DynamoDBStreamModel,
@@ -137,6 +174,41 @@
137174
"CloudWatchLogsDecode",
138175
"CloudWatchLogsLogEvent",
139176
"CloudWatchLogsModel",
177+
"CognitoCallerContextModel",
178+
"CognitoChallengeResultModel",
179+
"CognitoPreSignupRequestModel",
180+
"CognitoPreSignupResponseModel",
181+
"CognitoPreSignupTriggerModel",
182+
"CognitoPostConfirmationRequestModel",
183+
"CognitoPostConfirmationTriggerModel",
184+
"CognitoPreAuthenticationRequestModel",
185+
"CognitoPreAuthenticationTriggerModel",
186+
"CognitoPostAuthenticationRequestModel",
187+
"CognitoPostAuthenticationTriggerModel",
188+
"CognitoGroupConfigurationModel",
189+
"CognitoPreTokenGenRequestModel",
190+
"CognitoClaimsOverrideDetailsModel",
191+
"CognitoPreTokenGenResponseModel",
192+
"CognitoPreTokenGenerationTriggerModel",
193+
"CognitoMigrateUserRequestModel",
194+
"CognitoMigrateUserResponseModel",
195+
"CognitoMigrateUserTriggerModel",
196+
"CognitoCustomMessageRequestModel",
197+
"CognitoCustomMessageResponseModel",
198+
"CognitoCustomMessageTriggerModel",
199+
"CognitoCustomEmailSenderRequestModel",
200+
"CognitoCustomEmailSenderTriggerModel",
201+
"CognitoCustomSMSSenderRequestModel",
202+
"CognitoCustomSMSSenderTriggerModel",
203+
"CognitoDefineAuthChallengeRequestModel",
204+
"CognitoDefineAuthChallengeResponseModel",
205+
"CognitoDefineAuthChallengeTriggerModel",
206+
"CognitoCreateAuthChallengeRequestModel",
207+
"CognitoCreateAuthChallengeResponseModel",
208+
"CognitoCreateAuthChallengeTriggerModel",
209+
"CognitoVerifyAuthChallengeRequestModel",
210+
"CognitoVerifyAuthChallengeResponseModel",
211+
"CognitoVerifyAuthChallengeTriggerModel",
140212
"AlbModel",
141213
"AlbRequestContext",
142214
"AlbRequestContextData",
Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
from __future__ import annotations
2+
from typing import Any, Dict, List, Optional
3+
from pydantic import BaseModel
4+
5+
6+
class CognitoCallerContextModel(BaseModel):
7+
awsSdkVersion: str
8+
clientId: str
9+
10+
11+
class CognitoChallengeResultModel(BaseModel):
12+
challengeName: str
13+
challengeResult: bool
14+
challengeMetadata: Optional[str]
15+
16+
17+
class CognitoPreSignupRequestModel(BaseModel):
18+
userAttributes: Dict[str, str]
19+
validationData: Optional[Dict[str, str]] = None
20+
clientMetadata: Optional[Dict[str, str]] = None
21+
22+
23+
class CognitoPreSignupResponseModel(BaseModel):
24+
autoConfirmUser: Optional[bool] = None
25+
autoVerifyPhone: Optional[bool] = None
26+
autoVerifyEmail: Optional[bool] = None
27+
28+
29+
class CognitoPreSignupTriggerModel(BaseModel):
30+
version: str
31+
region: str
32+
userPoolId: str
33+
userName: str
34+
callerContext: CognitoCallerContextModel
35+
triggerSource: str
36+
request: CognitoPreSignupRequestModel
37+
response: CognitoPreSignupResponseModel
38+
39+
40+
class CognitoPostConfirmationRequestModel(BaseModel):
41+
userAttributes: Dict[str, str]
42+
clientMetadata: Optional[Dict[str, str]] = None
43+
44+
45+
class CognitoPostConfirmationTriggerModel(BaseModel):
46+
version: str
47+
region: str
48+
userPoolId: str
49+
userName: str
50+
callerContext: CognitoCallerContextModel
51+
triggerSource: str
52+
request: CognitoPostConfirmationRequestModel
53+
response: Dict[str, Any] = {}
54+
55+
56+
class CognitoPreAuthenticationRequestModel(BaseModel):
57+
userAttributes: Dict[str, str]
58+
validationData: Optional[Dict[str, str]] = None
59+
userNotFound: Optional[bool] = None
60+
61+
62+
class CognitoPreAuthenticationTriggerModel(BaseModel):
63+
version: str
64+
region: str
65+
userPoolId: str
66+
userName: str
67+
callerContext: CognitoCallerContextModel
68+
triggerSource: str
69+
request: CognitoPreAuthenticationRequestModel
70+
response: Dict[str, Any] = {}
71+
72+
73+
class CognitoPostAuthenticationRequestModel(BaseModel):
74+
userAttributes: Dict[str, str]
75+
newDeviceUsed: bool
76+
clientMetadata: Optional[Dict[str, str]] = None
77+
78+
79+
class CognitoPostAuthenticationTriggerModel(BaseModel):
80+
version: str
81+
region: str
82+
userPoolId: str
83+
userName: str
84+
callerContext: CognitoCallerContextModel
85+
triggerSource: str
86+
request: CognitoPostAuthenticationRequestModel
87+
response: Dict[str, Any] = {}
88+
89+
90+
class CognitoGroupConfigurationModel(BaseModel):
91+
groupsToOverride: List[str]
92+
iamRolesToOverride: List[str]
93+
preferredRole: Optional[str] = None
94+
95+
96+
class CognitoPreTokenGenRequestModel(BaseModel):
97+
userAttributes: Dict[str, str]
98+
groupConfiguration: CognitoGroupConfigurationModel
99+
clientMetadata: Optional[Dict[str, str]] = None
100+
101+
102+
class CognitoClaimsOverrideDetailsModel(BaseModel):
103+
claimsToAddOrOverride: Optional[Dict[str, str]] = None
104+
claimsToSuppress: Optional[List[str]] = None
105+
groupOverrideDetails: Optional[CognitoGroupConfigurationModel] = None
106+
107+
108+
class CognitoPreTokenGenResponseModel(BaseModel):
109+
claimsOverrideDetails: Optional[CognitoClaimsOverrideDetailsModel] = None
110+
111+
112+
class CognitoPreTokenGenerationTriggerModel(BaseModel):
113+
version: str
114+
region: str
115+
userPoolId: str
116+
userName: str
117+
callerContext: CognitoCallerContextModel
118+
triggerSource: str
119+
request: CognitoPreTokenGenRequestModel
120+
response: CognitoPreTokenGenResponseModel
121+
122+
123+
class CognitoMigrateUserRequestModel(BaseModel):
124+
password: str
125+
validationData: Optional[Dict[str, str]] = None
126+
clientMetadata: Optional[Dict[str, str]] = None
127+
128+
129+
class CognitoMigrateUserResponseModel(BaseModel):
130+
userAttributes: Dict[str, str]
131+
finalUserStatus: Optional[str] = None
132+
messageAction: Optional[str] = None
133+
desiredDeliveryMediums: Optional[List[str]] = None
134+
forceAliasCreation: Optional[bool] = None
135+
enableSMSMFA: Optional[bool] = None
136+
137+
138+
class CognitoMigrateUserTriggerModel(BaseModel):
139+
userName: str
140+
version: Optional[str] = None
141+
region: Optional[str] = None
142+
userPoolId: Optional[str] = None
143+
callerContext: Optional[CognitoCallerContextModel] = None
144+
triggerSource: Optional[str] = None
145+
request: CognitoMigrateUserRequestModel
146+
response: CognitoMigrateUserResponseModel
147+
148+
149+
class CognitoCustomMessageRequestModel(BaseModel):
150+
userAttributes: Dict[str, str]
151+
codeParameter: Optional[str] = None
152+
usernameParameter: Optional[str] = None
153+
clientMetadata: Optional[Dict[str, str]] = None
154+
155+
156+
class CognitoCustomMessageResponseModel(BaseModel):
157+
smsMessage: Optional[str] = None
158+
emailMessage: Optional[str] = None
159+
emailSubject: Optional[str] = None
160+
161+
162+
class CognitoCustomMessageTriggerModel(BaseModel):
163+
version: str
164+
region: str
165+
userPoolId: str
166+
userName: str
167+
callerContext: CognitoCallerContextModel
168+
triggerSource: str
169+
request: CognitoCustomMessageRequestModel
170+
response: CognitoCustomMessageResponseModel
171+
172+
173+
class CognitoCustomEmailSenderRequestModel(BaseModel):
174+
type: str
175+
code: str
176+
clientMetadata: Optional[Dict[str, str]] = None
177+
userAttributes: Dict[str, str]
178+
179+
180+
class CognitoCustomEmailSenderTriggerModel(BaseModel):
181+
version: str
182+
region: str
183+
userPoolId: str
184+
userName: str
185+
callerContext: CognitoCallerContextModel
186+
triggerSource: str
187+
request: CognitoCustomEmailSenderRequestModel
188+
189+
190+
class CognitoCustomSMSSenderRequestModel(BaseModel):
191+
type: str
192+
code: str
193+
clientMetadata: Optional[Dict[str, str]] = None
194+
userAttributes: Dict[str, str]
195+
196+
197+
class CognitoCustomSMSSenderTriggerModel(BaseModel):
198+
version: str
199+
region: str
200+
userPoolId: str
201+
userName: str
202+
callerContext: CognitoCallerContextModel
203+
triggerSource: str
204+
request: CognitoCustomSMSSenderRequestModel
205+
206+
207+
class CognitoDefineAuthChallengeRequestModel(BaseModel):
208+
userAttributes: Dict[str, str]
209+
session: List[CognitoChallengeResultModel]
210+
clientMetadata: Optional[Dict[str, str]] = None
211+
userNotFound: Optional[bool] = None
212+
213+
214+
class CognitoDefineAuthChallengeResponseModel(BaseModel):
215+
challengeName: str
216+
issueTokens: bool
217+
failAuthentication: bool
218+
219+
220+
class CognitoDefineAuthChallengeTriggerModel(BaseModel):
221+
version: str
222+
region: str
223+
userPoolId: str
224+
userName: str
225+
callerContext: CognitoCallerContextModel
226+
triggerSource: str
227+
request: CognitoDefineAuthChallengeRequestModel
228+
response: CognitoDefineAuthChallengeResponseModel
229+
230+
231+
class CognitoCreateAuthChallengeRequestModel(BaseModel):
232+
userAttributes: Dict[str, str]
233+
challengeName: str
234+
session: List[CognitoChallengeResultModel]
235+
clientMetadata: Optional[Dict[str, str]] = None
236+
userNotFound: Optional[bool] = None
237+
238+
239+
class CognitoCreateAuthChallengeResponseModel(BaseModel):
240+
publicChallengeParameters: Dict[str, str]
241+
privateChallengeParameters: Dict[str, str]
242+
challengeMetadata: Optional[str] = None
243+
244+
245+
class CognitoCreateAuthChallengeTriggerModel(BaseModel):
246+
version: str
247+
region: str
248+
userPoolId: str
249+
userName: str
250+
callerContext: CognitoCallerContextModel
251+
triggerSource: str
252+
request: CognitoCreateAuthChallengeRequestModel
253+
response: CognitoCreateAuthChallengeResponseModel
254+
255+
256+
class CognitoVerifyAuthChallengeRequestModel(BaseModel):
257+
userAttributes: Dict[str, str]
258+
privateChallengeParameters: Dict[str, str]
259+
challengeAnswer: str
260+
clientMetadata: Optional[Dict[str, str]] = None
261+
userNotFound: Optional[bool] = None
262+
263+
264+
class CognitoVerifyAuthChallengeResponseModel(BaseModel):
265+
answerCorrect: bool
266+
267+
268+
class CognitoVerifyAuthChallengeTriggerModel(BaseModel):
269+
version: str
270+
region: str
271+
userPoolId: str
272+
userName: str
273+
callerContext: CognitoCallerContextModel
274+
triggerSource: str
275+
request: CognitoVerifyAuthChallengeRequestModel
276+
response: CognitoVerifyAuthChallengeResponseModel

0 commit comments

Comments
 (0)