aws-lambda-powertools 3.10.1a11__py3-none-any.whl → 3.11.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. aws_lambda_powertools/event_handler/__init__.py +2 -0
  2. aws_lambda_powertools/event_handler/api_gateway.py +6 -20
  3. aws_lambda_powertools/event_handler/appsync.py +4 -29
  4. aws_lambda_powertools/event_handler/events_appsync/__init__.py +5 -0
  5. aws_lambda_powertools/event_handler/events_appsync/_registry.py +92 -0
  6. aws_lambda_powertools/event_handler/events_appsync/appsync_events.py +422 -0
  7. aws_lambda_powertools/event_handler/events_appsync/base.py +44 -0
  8. aws_lambda_powertools/event_handler/events_appsync/exceptions.py +25 -0
  9. aws_lambda_powertools/event_handler/events_appsync/functions.py +106 -0
  10. aws_lambda_powertools/event_handler/events_appsync/router.py +199 -0
  11. aws_lambda_powertools/event_handler/events_appsync/types.py +21 -0
  12. aws_lambda_powertools/event_handler/exception_handling.py +118 -0
  13. aws_lambda_powertools/shared/version.py +1 -1
  14. aws_lambda_powertools/utilities/data_classes/__init__.py +2 -0
  15. aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +41 -34
  16. aws_lambda_powertools/utilities/data_classes/appsync_resolver_events_event.py +56 -0
  17. {aws_lambda_powertools-3.10.1a11.dist-info → aws_lambda_powertools-3.11.0.dist-info}/METADATA +1 -1
  18. {aws_lambda_powertools-3.10.1a11.dist-info → aws_lambda_powertools-3.11.0.dist-info}/RECORD +20 -10
  19. {aws_lambda_powertools-3.10.1a11.dist-info → aws_lambda_powertools-3.11.0.dist-info}/LICENSE +0 -0
  20. {aws_lambda_powertools-3.10.1a11.dist-info → aws_lambda_powertools-3.11.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,56 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any
4
+
5
+ from aws_lambda_powertools.utilities.data_classes.appsync_resolver_event import AppSyncEventBase
6
+ from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
7
+
8
+
9
+ class AppSyncResolverEventsInfo(DictWrapper):
10
+ @property
11
+ def channel(self) -> dict[str, Any]:
12
+ """Channel details including path and segments"""
13
+ return self["channel"]
14
+
15
+ @property
16
+ def channel_path(self) -> str:
17
+ """Provides direct access to the 'path' attribute within the 'channel' object."""
18
+ return self["channel"]["path"]
19
+
20
+ @property
21
+ def channel_segments(self) -> list[str]:
22
+ """Provides direct access to the 'segments' attribute within the 'channel' object."""
23
+ return self["channel"]["segments"]
24
+
25
+ @property
26
+ def channel_namespace(self) -> dict:
27
+ """Namespace configuration for the channel"""
28
+ return self["channelNamespace"]
29
+
30
+ @property
31
+ def operation(self) -> str:
32
+ """The operation being performed (e.g., PUBLISH, SUBSCRIBE)"""
33
+ return self["operation"]
34
+
35
+
36
+ class AppSyncResolverEventsEvent(AppSyncEventBase):
37
+ """AppSync resolver event events
38
+ Documentation:
39
+ -------------
40
+ - TBD
41
+ """
42
+
43
+ @property
44
+ def events(self) -> list[dict[str, Any]]:
45
+ """The payload sent to Lambda"""
46
+ return self.get("events") or [{}]
47
+
48
+ @property
49
+ def out_errors(self) -> list:
50
+ """The outErrors property"""
51
+ return self.get("outErrors") or []
52
+
53
+ @property
54
+ def info(self) -> AppSyncResolverEventsInfo:
55
+ "The info containing information about channel, namespace, and event"
56
+ return AppSyncResolverEventsInfo(self["info"])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: aws_lambda_powertools
3
- Version: 3.10.1a11
3
+ Version: 3.11.0
4
4
  Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
5
5
  License: MIT
6
6
  Keywords: aws_lambda_powertools,aws,tracing,logging,lambda,powertools,feature_flags,idempotency,middleware
@@ -1,9 +1,18 @@
1
1
  aws_lambda_powertools/__init__.py,sha256=o4iEHU0MfWC0_TfVmisxi0VOAUw5uQfqLQWr0t29ZaE,676
2
- aws_lambda_powertools/event_handler/__init__.py,sha256=RM4TF62aonr60nVlq4V8ogfjef8RtpUUGuDUfZY34_w,901
3
- aws_lambda_powertools/event_handler/api_gateway.py,sha256=rlLS3vZfTapwnwozNlbWt_h7k2A_sPnewPQg4jl6vC0,119799
4
- aws_lambda_powertools/event_handler/appsync.py,sha256=IMnch6-50F3CzrosWZ8tuGN1kTV-M_ajirqoMMlNC9w,19241
2
+ aws_lambda_powertools/event_handler/__init__.py,sha256=Wz6aiAibULxZ38XTXMqnraRAjhO0rShRe7UwLR2WBcM,1030
3
+ aws_lambda_powertools/event_handler/api_gateway.py,sha256=iDF0FIWao1bP12_KlbYU3yjz458544pf05PO3LaDa8k,119414
4
+ aws_lambda_powertools/event_handler/appsync.py,sha256=MNUlaM-4Ioaejei4L5hoW_DuDgOkQWAtMmKZU_Jwce4,18530
5
5
  aws_lambda_powertools/event_handler/bedrock_agent.py,sha256=i3F5uq3Wme6IY2KcodysvabqEwmh6uvW7-kHR8RXoCM,14619
6
6
  aws_lambda_powertools/event_handler/content_types.py,sha256=0MKsKNu-SSrxbULVKnUjwgK-lVXhVD7BBjZ4Js0kEsI,163
7
+ aws_lambda_powertools/event_handler/events_appsync/__init__.py,sha256=_SkA-qYoSdpDhPFHLxpFz8RacjMRMY6R8FFElQ3Otzs,144
8
+ aws_lambda_powertools/event_handler/events_appsync/_registry.py,sha256=pzFQfv662Y0DPZQXCgJgabYZq-1gfasV5Mdl_aC9FBc,3071
9
+ aws_lambda_powertools/event_handler/events_appsync/appsync_events.py,sha256=3l-jmvo21nJG6pbql6EpVih295usPwrfGAkQ7mR47ic,14648
10
+ aws_lambda_powertools/event_handler/events_appsync/base.py,sha256=Oh93x3Zxq0pm2VJNAmxCzo4LxxLqzkvT23pOx6v0CRs,1024
11
+ aws_lambda_powertools/event_handler/events_appsync/exceptions.py,sha256=eLlM_BZLKyCRx2vkkB0cFIK7vhjAbLex7_yXEIYQenI,779
12
+ aws_lambda_powertools/event_handler/events_appsync/functions.py,sha256=hR626XYNSJ7uzdFKGa90OEo-MNcSRKJdohAN6f-wORM,3260
13
+ aws_lambda_powertools/event_handler/events_appsync/router.py,sha256=AImJsZ2Nk4WosPl47cXd1PhGPlPtUzjP7MhzQEJpB58,6983
14
+ aws_lambda_powertools/event_handler/events_appsync/types.py,sha256=kQ2tcfg5AjxMWzO3t6pUTItveGrdyrjNuux2W8V_Opc,431
15
+ aws_lambda_powertools/event_handler/exception_handling.py,sha256=hy31jShtYOliuH5aBuajaU7N_V_6WUG7kX4_bgxLnuo,4229
7
16
  aws_lambda_powertools/event_handler/exceptions.py,sha256=JgNxrdKTLBqd84Lhqb9NlXX7g54K8Xx2u9LJtpnOkdE,1919
8
17
  aws_lambda_powertools/event_handler/graphql_appsync/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
18
  aws_lambda_powertools/event_handler/graphql_appsync/_registry.py,sha256=cKbu_6ZqBmZ7JNLraetylXFVIUViecywT9SnHkNSH_g,2579
@@ -88,7 +97,7 @@ aws_lambda_powertools/shared/json_encoder.py,sha256=JQeWNu-4M7_xI_hqYExrxsb3OcEH
88
97
  aws_lambda_powertools/shared/lazy_import.py,sha256=TbXQm2bcwXdZrYdBaJJXIswyLlumM85RJ_A_0w-h-GU,2019
89
98
  aws_lambda_powertools/shared/types.py,sha256=EZ_tbX3F98LA4Zcra1hTEjzRacpZAtggK957Zcv1oKg,135
90
99
  aws_lambda_powertools/shared/user_agent.py,sha256=DrCMFQuT4a4iIrpcWpAIjY37EFqR9-QxlxDGD-Nn9Gg,7081
91
- aws_lambda_powertools/shared/version.py,sha256=me0Ete6Lw-gDkqZcf9ikrFqvlTCygLUrko-thA2YFNI,86
100
+ aws_lambda_powertools/shared/version.py,sha256=K42bG5B65D_GB09VdoMXzgRABNrWtbZnE8bUBgnzAdw,83
92
101
  aws_lambda_powertools/tracing/__init__.py,sha256=f4bMThOPBPWTPVcYqcAIErAJPerMsf3H_Z4gCXCsK9I,141
93
102
  aws_lambda_powertools/tracing/base.py,sha256=WSO986XGBOe9K0F2SnG6ustJokIrtO0m0mcL8N7mfno,4544
94
103
  aws_lambda_powertools/tracing/extensions.py,sha256=APOfXOq-hRBKaK5WyfIyrd_6M1_9SWJZ3zxLA9jDZzU,492
@@ -100,7 +109,7 @@ aws_lambda_powertools/utilities/batch/decorators.py,sha256=HK0DzPd9UWoyvIcH7feFY
100
109
  aws_lambda_powertools/utilities/batch/exceptions.py,sha256=ZbWgItDimiSXmrDlejIpGc-4mez8XKgl3MB5bAPlrCo,1765
101
110
  aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py,sha256=MPE87ZithqQOcwzoZdYReOajc4mrbiKOsIXcXicznZE,4236
102
111
  aws_lambda_powertools/utilities/batch/types.py,sha256=XgUSbOIfzY4d2z3cFntQHAe6hcmxt6fbvSpa2KaMLeU,1112
103
- aws_lambda_powertools/utilities/data_classes/__init__.py,sha256=QrLQ-fJI2gH5-N9HmkRsEytED1DW-lIvygu94Ocl88I,3345
112
+ aws_lambda_powertools/utilities/data_classes/__init__.py,sha256=A020w2qKAXsRPjWPkPJMbuc1uh3lVFuWO6du8gU6Z18,3449
104
113
  aws_lambda_powertools/utilities/data_classes/active_mq_event.py,sha256=-AdONdHS6soJ9secO6sJ5EgiamiIUJRlgyymCe7z1io,4438
105
114
  aws_lambda_powertools/utilities/data_classes/alb_event.py,sha256=cHfLaAWwhSuIk-H52xIA4Mq1nx8b0tDxN0slPy0ZamQ,1836
106
115
  aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py,sha256=dmoR9aIbhqRIrFKX__BFxvbkYl3fr72RbLct7hG5f04,27034
@@ -109,7 +118,8 @@ aws_lambda_powertools/utilities/data_classes/api_gateway_websocket_event.py,sha2
109
118
  aws_lambda_powertools/utilities/data_classes/appsync/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
119
  aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py,sha256=EjaJKZsPwyM6XY-FrooZzadfAtvZRbYS1BHiyQi-GrQ,2662
111
120
  aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py,sha256=312D_hbPpCFK3978Ruhu91du5pj0N-5GeJ0rj9jZxk4,3833
112
- aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py,sha256=XMVjOCkx4sQxPzAVRIqOM0GFDU7REvvcwaGO1RhwCfA,9072
121
+ aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py,sha256=y8ylZBZz9q0CblIIN6th48Cwd5Ywz8zbjXUL0yv1vjg,9457
122
+ aws_lambda_powertools/utilities/data_classes/appsync_resolver_events_event.py,sha256=znawUERcOzW-m2puEhvc-g3oLu9Hco8F9qdckuLYWiU,1718
113
123
  aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py,sha256=BwSG8R96yGLlYRgY0qe2Y49k2gGvkXkfsglvMuES38s,12228
114
124
  aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py,sha256=PHavf1gILqkUNa2_eUo-q-gXNFF8lPK1CSqjAI9LAvU,3599
115
125
  aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py,sha256=_5IOvCWhyQvbmmzV4Xg6Yee1LKyLe4oBeYmAMxoRlEA,6398
@@ -258,7 +268,7 @@ aws_lambda_powertools/utilities/validation/envelopes.py,sha256=YD5HOFx6IClQgii0n
258
268
  aws_lambda_powertools/utilities/validation/exceptions.py,sha256=PKy_19zQMBJGCMMFl-sMkcm-cc0v3zZBn_bhGE4wKNo,2084
259
269
  aws_lambda_powertools/utilities/validation/validator.py,sha256=khCqFhACSdn0nKyYRRPiC5Exht956hTfSfhlV3IRmpg,10099
260
270
  aws_lambda_powertools/warnings/__init__.py,sha256=vqDVeZz8wGtD8WGYNSkQE7AHwqtIrPGRxuoJR_BBnSs,1193
261
- aws_lambda_powertools-3.10.1a11.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
262
- aws_lambda_powertools-3.10.1a11.dist-info/METADATA,sha256=f767jNSyvszkhvFk8pssW3PjqWRhaqHCSnFwsa0hwxU,11188
263
- aws_lambda_powertools-3.10.1a11.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
264
- aws_lambda_powertools-3.10.1a11.dist-info/RECORD,,
271
+ aws_lambda_powertools-3.11.0.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
272
+ aws_lambda_powertools-3.11.0.dist-info/METADATA,sha256=piTxjXsZdqnOpZKyjo8kieDeEdMoGJg_4zrFWcvUixg,11185
273
+ aws_lambda_powertools-3.11.0.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
274
+ aws_lambda_powertools-3.11.0.dist-info/RECORD,,