forked from aws-powertools/powertools-lambda-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathappsync.py
70 lines (51 loc) · 1.51 KB
/
appsync.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
from typing import Optional, List, Dict, Union, Any
from pydantic import BaseModel
class AppSyncIamIdentity(BaseModel):
accountId: str
cognitoIdentityPoolId: Optional[str]
cognitoIdentityId: Optional[str]
sourceIp: List[str]
username: str
userArn: str
cognitoIdentityAuthType: Optional[str]
cognitoIdentityAuthProvider: Optional[str]
class AppSyncCognitoIdentity(BaseModel):
sub: str
issuer: str
username: str
claims: Dict[str, Any]
sourceIp: List[str]
defaultAuthStrategy: str
groups: Optional[List[str]]
class AppSyncOidcIdentity(BaseModel):
claims: Dict[str, Any]
issuer: str
sub: str
class AppSyncLambdaIdentity(BaseModel):
resolverContext: Dict[str, Any]
AppSyncIdentity = Union[
AppSyncIamIdentity,
AppSyncCognitoIdentity,
AppSyncOidcIdentity,
AppSyncLambdaIdentity,
]
class AppSyncRequestModel(BaseModel):
domainName: Optional[str]
headers: Dict[str, str]
class AppSyncInfoModel(BaseModel):
selectionSetList: List[str]
selectionSetGraphQL: str
parentTypeName: str
fieldName: str
variables: Dict[str, Any]
class AppSyncPrevModel(BaseModel):
result: Dict[str, Any]
class AppSyncResolverEventModel(BaseModel):
arguments: Dict[str, Any]
identity: Optional[AppSyncIdentity]
source: Optional[Dict[str, Any]]
request: AppSyncRequestModel
info: AppSyncInfoModel
prev: Optional[AppSyncPrevModel]
stash: Dict[str, Any]
AppSyncBatchResolverEventModel = List[AppSyncResolverEventModel]