aws-lambda-powertools 3.10.1a6__py3-none-any.whl → 3.10.1a7__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.
- aws_lambda_powertools/event_handler/api_gateway.py +8 -5
- aws_lambda_powertools/event_handler/appsync.py +3 -1
- aws_lambda_powertools/event_handler/bedrock_agent.py +8 -8
- aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +4 -1
- aws_lambda_powertools/event_handler/graphql_appsync/base.py +4 -1
- aws_lambda_powertools/event_handler/graphql_appsync/router.py +3 -1
- aws_lambda_powertools/event_handler/lambda_function_url.py +2 -1
- aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +1 -1
- aws_lambda_powertools/event_handler/openapi/compat.py +16 -18
- aws_lambda_powertools/event_handler/openapi/dependant.py +3 -1
- aws_lambda_powertools/event_handler/openapi/encoders.py +3 -1
- aws_lambda_powertools/event_handler/openapi/exceptions.py +2 -1
- aws_lambda_powertools/event_handler/openapi/models.py +0 -1
- aws_lambda_powertools/event_handler/openapi/params.py +3 -1
- aws_lambda_powertools/event_handler/openapi/types.py +2 -1
- aws_lambda_powertools/event_handler/util.py +5 -2
- aws_lambda_powertools/event_handler/vpc_lattice.py +2 -1
- aws_lambda_powertools/logging/logger.py +34 -4
- aws_lambda_powertools/shared/version.py +1 -1
- aws_lambda_powertools/utilities/batch/base.py +1 -2
- aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -1
- aws_lambda_powertools/utilities/data_classes/transfer_family_event.py +0 -2
- aws_lambda_powertools/utilities/data_masking/provider/base.py +0 -1
- aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -1
- aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -1
- {aws_lambda_powertools-3.10.1a6.dist-info → aws_lambda_powertools-3.10.1a7.dist-info}/METADATA +1 -1
- {aws_lambda_powertools-3.10.1a6.dist-info → aws_lambda_powertools-3.10.1a7.dist-info}/RECORD +29 -29
- {aws_lambda_powertools-3.10.1a6.dist-info → aws_lambda_powertools-3.10.1a7.dist-info}/LICENSE +0 -0
- {aws_lambda_powertools-3.10.1a6.dist-info → aws_lambda_powertools-3.10.1a7.dist-info}/WHEEL +0 -0
@@ -12,7 +12,7 @@ from enum import Enum
|
|
12
12
|
from functools import partial
|
13
13
|
from http import HTTPStatus
|
14
14
|
from pathlib import Path
|
15
|
-
from typing import TYPE_CHECKING, Any,
|
15
|
+
from typing import TYPE_CHECKING, Any, Generic, Literal, Match, Pattern, TypeVar, cast
|
16
16
|
|
17
17
|
from typing_extensions import override
|
18
18
|
|
@@ -59,6 +59,9 @@ from aws_lambda_powertools.utilities.data_classes import (
|
|
59
59
|
)
|
60
60
|
from aws_lambda_powertools.utilities.data_classes.common import BaseProxyEvent
|
61
61
|
|
62
|
+
if TYPE_CHECKING:
|
63
|
+
from collections.abc import Callable, Mapping, Sequence
|
64
|
+
|
62
65
|
logger = logging.getLogger(__name__)
|
63
66
|
|
64
67
|
_DYNAMIC_ROUTE_PATTERN = r"(<\w+>)"
|
@@ -68,6 +71,7 @@ _UNSAFE_URI = r"%<> \[\]{}|^"
|
|
68
71
|
_NAMED_GROUP_BOUNDARY_PATTERN = rf"(?P\1[{_SAFE_URI}{_UNSAFE_URI}\\w]+)"
|
69
72
|
_DEFAULT_OPENAPI_RESPONSE_DESCRIPTION = "Successful Response"
|
70
73
|
_ROUTE_REGEX = "^{}$"
|
74
|
+
_JSON_DUMP_CALL = partial(json.dumps, separators=(",", ":"), cls=Encoder)
|
71
75
|
|
72
76
|
ResponseEventT = TypeVar("ResponseEventT", bound=BaseProxyEvent)
|
73
77
|
ResponseT = TypeVar("ResponseT")
|
@@ -830,7 +834,7 @@ class ResponseBuilder(Generic[ResponseEventT]):
|
|
830
834
|
def __init__(
|
831
835
|
self,
|
832
836
|
response: Response,
|
833
|
-
serializer: Callable[[Any], str] =
|
837
|
+
serializer: Callable[[Any], str] = _JSON_DUMP_CALL,
|
834
838
|
route: Route | None = None,
|
835
839
|
):
|
836
840
|
self.response = response
|
@@ -1600,7 +1604,6 @@ class ApiGatewayResolver(BaseRouter):
|
|
1600
1604
|
response_validation_error_http_code: HTTPStatus | int | None,
|
1601
1605
|
enable_validation: bool,
|
1602
1606
|
) -> HTTPStatus:
|
1603
|
-
|
1604
1607
|
if response_validation_error_http_code and not enable_validation:
|
1605
1608
|
msg = "'response_validation_error_http_code' cannot be set when enable_validation is False."
|
1606
1609
|
raise ValueError(msg)
|
@@ -1609,7 +1612,6 @@ class ApiGatewayResolver(BaseRouter):
|
|
1609
1612
|
not isinstance(response_validation_error_http_code, HTTPStatus)
|
1610
1613
|
and response_validation_error_http_code is not None
|
1611
1614
|
):
|
1612
|
-
|
1613
1615
|
try:
|
1614
1616
|
response_validation_error_http_code = HTTPStatus(response_validation_error_http_code)
|
1615
1617
|
except ValueError:
|
@@ -1723,8 +1725,9 @@ class ApiGatewayResolver(BaseRouter):
|
|
1723
1725
|
security = security or self.openapi_config.security
|
1724
1726
|
openapi_extensions = openapi_extensions or self.openapi_config.openapi_extensions
|
1725
1727
|
|
1728
|
+
from pydantic.json_schema import GenerateJsonSchema
|
1729
|
+
|
1726
1730
|
from aws_lambda_powertools.event_handler.openapi.compat import (
|
1727
|
-
GenerateJsonSchema,
|
1728
1731
|
get_compat_model_name_map,
|
1729
1732
|
get_definitions,
|
1730
1733
|
)
|
@@ -3,13 +3,15 @@ from __future__ import annotations
|
|
3
3
|
import asyncio
|
4
4
|
import logging
|
5
5
|
import warnings
|
6
|
-
from typing import TYPE_CHECKING, Any
|
6
|
+
from typing import TYPE_CHECKING, Any
|
7
7
|
|
8
8
|
from aws_lambda_powertools.event_handler.graphql_appsync.exceptions import InvalidBatchResponse, ResolverNotFoundError
|
9
9
|
from aws_lambda_powertools.event_handler.graphql_appsync.router import Router
|
10
10
|
from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
|
11
11
|
|
12
12
|
if TYPE_CHECKING:
|
13
|
+
from collections.abc import Callable
|
14
|
+
|
13
15
|
from aws_lambda_powertools.utilities.typing import LambdaContext
|
14
16
|
|
15
17
|
from aws_lambda_powertools.warnings import PowertoolsUserWarning
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
import json
|
4
|
-
from typing import TYPE_CHECKING, Any
|
4
|
+
from typing import TYPE_CHECKING, Any
|
5
5
|
|
6
6
|
from typing_extensions import override
|
7
7
|
|
@@ -14,6 +14,7 @@ from aws_lambda_powertools.event_handler.api_gateway import (
|
|
14
14
|
from aws_lambda_powertools.event_handler.openapi.constants import DEFAULT_API_VERSION, DEFAULT_OPENAPI_VERSION
|
15
15
|
|
16
16
|
if TYPE_CHECKING:
|
17
|
+
from collections.abc import Callable
|
17
18
|
from http import HTTPStatus
|
18
19
|
from re import Match
|
19
20
|
|
@@ -109,11 +110,11 @@ class BedrockAgentResolver(ApiGatewayResolver):
|
|
109
110
|
tags: list[str] | None = None,
|
110
111
|
operation_id: str | None = None,
|
111
112
|
include_in_schema: bool = True,
|
113
|
+
openapi_extensions: dict[str, Any] | None = None,
|
112
114
|
deprecated: bool = False,
|
113
115
|
custom_response_validation_http_code: int | HTTPStatus | None = None,
|
114
116
|
middlewares: list[Callable[..., Any]] | None = None,
|
115
117
|
) -> Callable[[Callable[..., Any]], Callable[..., Any]]:
|
116
|
-
openapi_extensions = None
|
117
118
|
security = None
|
118
119
|
|
119
120
|
return super().get(
|
@@ -150,11 +151,11 @@ class BedrockAgentResolver(ApiGatewayResolver):
|
|
150
151
|
tags: list[str] | None = None,
|
151
152
|
operation_id: str | None = None,
|
152
153
|
include_in_schema: bool = True,
|
154
|
+
openapi_extensions: dict[str, Any] | None = None,
|
153
155
|
deprecated: bool = False,
|
154
156
|
custom_response_validation_http_code: int | HTTPStatus | None = None,
|
155
157
|
middlewares: list[Callable[..., Any]] | None = None,
|
156
158
|
):
|
157
|
-
openapi_extensions = None
|
158
159
|
security = None
|
159
160
|
|
160
161
|
return super().post(
|
@@ -191,11 +192,11 @@ class BedrockAgentResolver(ApiGatewayResolver):
|
|
191
192
|
tags: list[str] | None = None,
|
192
193
|
operation_id: str | None = None,
|
193
194
|
include_in_schema: bool = True,
|
195
|
+
openapi_extensions: dict[str, Any] | None = None,
|
194
196
|
deprecated: bool = False,
|
195
197
|
custom_response_validation_http_code: int | HTTPStatus | None = None,
|
196
198
|
middlewares: list[Callable[..., Any]] | None = None,
|
197
199
|
):
|
198
|
-
openapi_extensions = None
|
199
200
|
security = None
|
200
201
|
|
201
202
|
return super().put(
|
@@ -232,11 +233,11 @@ class BedrockAgentResolver(ApiGatewayResolver):
|
|
232
233
|
tags: list[str] | None = None,
|
233
234
|
operation_id: str | None = None,
|
234
235
|
include_in_schema: bool = True,
|
236
|
+
openapi_extensions: dict[str, Any] | None = None,
|
235
237
|
deprecated: bool = False,
|
236
238
|
custom_response_validation_http_code: int | HTTPStatus | None = None,
|
237
239
|
middlewares: list[Callable] | None = None,
|
238
240
|
):
|
239
|
-
openapi_extensions = None
|
240
241
|
security = None
|
241
242
|
|
242
243
|
return super().patch(
|
@@ -273,11 +274,11 @@ class BedrockAgentResolver(ApiGatewayResolver):
|
|
273
274
|
tags: list[str] | None = None,
|
274
275
|
operation_id: str | None = None,
|
275
276
|
include_in_schema: bool = True,
|
277
|
+
openapi_extensions: dict[str, Any] | None = None,
|
276
278
|
deprecated: bool = False,
|
277
279
|
custom_response_validation_http_code: int | HTTPStatus | None = None,
|
278
280
|
middlewares: list[Callable[..., Any]] | None = None,
|
279
281
|
):
|
280
|
-
openapi_extensions = None
|
281
282
|
security = None
|
282
283
|
|
283
284
|
return super().delete(
|
@@ -324,6 +325,7 @@ class BedrockAgentResolver(ApiGatewayResolver):
|
|
324
325
|
license_info: License | None = None,
|
325
326
|
security_schemes: dict[str, SecurityScheme] | None = None,
|
326
327
|
security: list[dict[str, list[str]]] | None = None,
|
328
|
+
openapi_extensions: dict[str, Any] | None = None,
|
327
329
|
) -> str:
|
328
330
|
"""
|
329
331
|
Returns the OpenAPI schema as a JSON serializable dict.
|
@@ -364,8 +366,6 @@ class BedrockAgentResolver(ApiGatewayResolver):
|
|
364
366
|
"""
|
365
367
|
from aws_lambda_powertools.event_handler.openapi.compat import model_json
|
366
368
|
|
367
|
-
openapi_extensions = None
|
368
|
-
|
369
369
|
schema = super().get_openapi_schema(
|
370
370
|
title=title,
|
371
371
|
version=version,
|
@@ -1,11 +1,13 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
-
from typing import TYPE_CHECKING
|
3
|
+
from typing import TYPE_CHECKING
|
4
4
|
|
5
5
|
from aws_lambda_powertools.event_handler.graphql_appsync._registry import ResolverRegistry
|
6
6
|
from aws_lambda_powertools.event_handler.graphql_appsync.base import BaseRouter
|
7
7
|
|
8
8
|
if TYPE_CHECKING:
|
9
|
+
from collections.abc import Callable
|
10
|
+
|
9
11
|
from aws_lambda_powertools.utilities.data_classes.appsync_resolver_event import AppSyncResolverEvent
|
10
12
|
from aws_lambda_powertools.utilities.typing.lambda_context import LambdaContext
|
11
13
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
-
from typing import TYPE_CHECKING,
|
3
|
+
from typing import TYPE_CHECKING, Pattern
|
4
4
|
|
5
5
|
from aws_lambda_powertools.event_handler.api_gateway import (
|
6
6
|
ApiGatewayResolver,
|
@@ -8,6 +8,7 @@ from aws_lambda_powertools.event_handler.api_gateway import (
|
|
8
8
|
)
|
9
9
|
|
10
10
|
if TYPE_CHECKING:
|
11
|
+
from collections.abc import Callable
|
11
12
|
from http import HTTPStatus
|
12
13
|
|
13
14
|
from aws_lambda_powertools.event_handler import CORSConfig
|
@@ -365,7 +365,7 @@ def _validate_field(
|
|
365
365
|
"""
|
366
366
|
Validate a field, and append any errors to the existing_errors list.
|
367
367
|
"""
|
368
|
-
validated_value, errors = field.validate(value
|
368
|
+
validated_value, errors = field.validate(value=value, loc=loc)
|
369
369
|
|
370
370
|
if isinstance(errors, list):
|
371
371
|
processed_errors = _regenerate_error_with_loc(errors=errors, loc_prefix=())
|
@@ -1,36 +1,30 @@
|
|
1
1
|
# mypy: ignore-errors
|
2
|
-
# flake8: noqa
|
3
2
|
from __future__ import annotations
|
4
3
|
|
5
4
|
from collections import deque
|
6
|
-
from
|
5
|
+
from collections.abc import Mapping, Sequence
|
7
6
|
|
8
7
|
# MAINTENANCE: remove when deprecating Pydantic v1. Mypy doesn't handle two different code paths that import different
|
9
8
|
# versions of a module, so we need to ignore errors here.
|
10
|
-
|
11
9
|
from dataclasses import dataclass, is_dataclass
|
12
|
-
from
|
13
|
-
from typing import TYPE_CHECKING, Any, Deque, FrozenSet, List, Mapping, Sequence, Set, Tuple, Union
|
14
|
-
|
15
|
-
from typing_extensions import Annotated, Literal, get_origin, get_args
|
16
|
-
|
17
|
-
from pydantic import BaseModel, create_model
|
18
|
-
from pydantic.fields import FieldInfo
|
10
|
+
from typing import TYPE_CHECKING, Any, Deque, FrozenSet, List, Set, Tuple, Union
|
19
11
|
|
20
|
-
from
|
21
|
-
|
22
|
-
from pydantic import TypeAdapter, ValidationError
|
12
|
+
from pydantic import BaseModel, TypeAdapter, ValidationError, create_model
|
23
13
|
|
24
14
|
# Importing from internal libraries in Pydantic may introduce potential risks, as these internal libraries
|
25
15
|
# are not part of the public API and may change without notice in future releases.
|
26
16
|
# We use this for forward reference, as it allows us to handle forward references in type annotations.
|
27
17
|
from pydantic._internal._typing_extra import eval_type_lenient
|
28
|
-
from pydantic.fields import FieldInfo
|
29
18
|
from pydantic._internal._utils import lenient_issubclass
|
30
|
-
from pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue
|
31
19
|
from pydantic_core import PydanticUndefined, PydanticUndefinedType
|
20
|
+
from typing_extensions import Annotated, Literal, get_args, get_origin
|
21
|
+
|
22
|
+
from aws_lambda_powertools.event_handler.openapi.types import UnionType
|
32
23
|
|
33
24
|
if TYPE_CHECKING:
|
25
|
+
from pydantic.fields import FieldInfo
|
26
|
+
from pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue
|
27
|
+
|
34
28
|
from aws_lambda_powertools.event_handler.openapi.types import IncEx, ModelNameMap
|
35
29
|
|
36
30
|
Undefined = PydanticUndefined
|
@@ -119,7 +113,10 @@ class ModelField:
|
|
119
113
|
)
|
120
114
|
|
121
115
|
def validate(
|
122
|
-
self,
|
116
|
+
self,
|
117
|
+
value: Any,
|
118
|
+
*,
|
119
|
+
loc: tuple[int | str, ...] = (),
|
123
120
|
) -> tuple[Any, list[dict[str, Any]] | None]:
|
124
121
|
try:
|
125
122
|
return (self._type_adapter.validate_python(value, from_attributes=True), None)
|
@@ -184,7 +181,8 @@ def copy_field_info(*, field_info: FieldInfo, annotation: Any) -> FieldInfo:
|
|
184
181
|
|
185
182
|
def get_missing_field_error(loc: tuple[str, ...]) -> dict[str, Any]:
|
186
183
|
error = ValidationError.from_exception_data(
|
187
|
-
"Field required",
|
184
|
+
"Field required",
|
185
|
+
[{"type": "missing", "loc": loc, "input": {}}],
|
188
186
|
).errors()[0]
|
189
187
|
error["input"] = None
|
190
188
|
return error
|
@@ -308,7 +306,7 @@ def value_is_sequence(value: Any) -> bool:
|
|
308
306
|
|
309
307
|
def _annotation_is_complex(annotation: type[Any] | None) -> bool:
|
310
308
|
return (
|
311
|
-
lenient_issubclass(annotation, (BaseModel, Mapping)) #
|
309
|
+
lenient_issubclass(annotation, (BaseModel, Mapping)) # Keep it to UploadFile
|
312
310
|
or _annotation_is_sequence(annotation)
|
313
311
|
or is_dataclass(annotation)
|
314
312
|
)
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
import inspect
|
4
4
|
import re
|
5
|
-
from typing import TYPE_CHECKING, Any,
|
5
|
+
from typing import TYPE_CHECKING, Any, ForwardRef, cast
|
6
6
|
|
7
7
|
from aws_lambda_powertools.event_handler.openapi.compat import (
|
8
8
|
ModelField,
|
@@ -27,6 +27,8 @@ from aws_lambda_powertools.event_handler.openapi.params import (
|
|
27
27
|
from aws_lambda_powertools.event_handler.openapi.types import OpenAPIResponse, OpenAPIResponseContentModel
|
28
28
|
|
29
29
|
if TYPE_CHECKING:
|
30
|
+
from collections.abc import Callable
|
31
|
+
|
30
32
|
from pydantic import BaseModel
|
31
33
|
|
32
34
|
"""
|
@@ -8,7 +8,7 @@ from enum import Enum
|
|
8
8
|
from pathlib import Path, PurePath
|
9
9
|
from re import Pattern
|
10
10
|
from types import GeneratorType
|
11
|
-
from typing import TYPE_CHECKING, Any
|
11
|
+
from typing import TYPE_CHECKING, Any
|
12
12
|
from uuid import UUID
|
13
13
|
|
14
14
|
from pydantic import BaseModel
|
@@ -17,6 +17,8 @@ from pydantic.types import SecretBytes, SecretStr
|
|
17
17
|
from aws_lambda_powertools.event_handler.openapi.compat import _model_dump
|
18
18
|
|
19
19
|
if TYPE_CHECKING:
|
20
|
+
from collections.abc import Callable
|
21
|
+
|
20
22
|
from aws_lambda_powertools.event_handler.openapi.types import IncEx
|
21
23
|
|
22
24
|
from aws_lambda_powertools.event_handler.openapi.exceptions import SerializationError
|
@@ -36,7 +36,6 @@ class OpenAPIExtensions(BaseModel):
|
|
36
36
|
@model_validator(mode="before")
|
37
37
|
def serialize_openapi_extension_v2(self):
|
38
38
|
if isinstance(self, dict) and self.get("openapi_extensions"):
|
39
|
-
|
40
39
|
openapi_extension_value = self.get("openapi_extensions")
|
41
40
|
|
42
41
|
for extension_key in openapi_extension_value:
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
import inspect
|
4
4
|
from enum import Enum
|
5
|
-
from typing import TYPE_CHECKING, Any,
|
5
|
+
from typing import TYPE_CHECKING, Any, Literal
|
6
6
|
|
7
7
|
from pydantic import BaseConfig
|
8
8
|
from pydantic.fields import FieldInfo
|
@@ -20,6 +20,8 @@ from aws_lambda_powertools.event_handler.openapi.compat import (
|
|
20
20
|
)
|
21
21
|
|
22
22
|
if TYPE_CHECKING:
|
23
|
+
from collections.abc import Callable
|
24
|
+
|
23
25
|
from aws_lambda_powertools.event_handler.openapi.models import Example
|
24
26
|
from aws_lambda_powertools.event_handler.openapi.types import CacheKey
|
25
27
|
|
@@ -1,9 +1,10 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
import types
|
4
|
-
from typing import TYPE_CHECKING, Any,
|
4
|
+
from typing import TYPE_CHECKING, Any, Dict, Set, Type, TypedDict, Union
|
5
5
|
|
6
6
|
if TYPE_CHECKING:
|
7
|
+
from collections.abc import Callable
|
7
8
|
from enum import Enum
|
8
9
|
|
9
10
|
from pydantic import BaseModel
|
@@ -1,6 +1,9 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
-
from typing import
|
3
|
+
from typing import TYPE_CHECKING, Any
|
4
|
+
|
5
|
+
if TYPE_CHECKING:
|
6
|
+
from collections.abc import Mapping
|
4
7
|
|
5
8
|
|
6
9
|
class _FrozenDict(dict):
|
@@ -18,7 +21,7 @@ class _FrozenDict(dict):
|
|
18
21
|
return hash(frozenset(self.keys()))
|
19
22
|
|
20
23
|
|
21
|
-
class _FrozenListDict(
|
24
|
+
class _FrozenListDict(list[dict[str, list[str]]]):
|
22
25
|
"""
|
23
26
|
Freezes a list of dictionaries containing lists of strings.
|
24
27
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
-
from typing import TYPE_CHECKING,
|
3
|
+
from typing import TYPE_CHECKING, Pattern
|
4
4
|
|
5
5
|
from aws_lambda_powertools.event_handler.api_gateway import (
|
6
6
|
ApiGatewayResolver,
|
@@ -8,6 +8,7 @@ from aws_lambda_powertools.event_handler.api_gateway import (
|
|
8
8
|
)
|
9
9
|
|
10
10
|
if TYPE_CHECKING:
|
11
|
+
from collections.abc import Callable
|
11
12
|
from http import HTTPStatus
|
12
13
|
|
13
14
|
from aws_lambda_powertools.event_handler import CORSConfig
|
@@ -242,10 +242,6 @@ class Logger:
|
|
242
242
|
buffer_config: LoggerBufferConfig | None = None,
|
243
243
|
**kwargs,
|
244
244
|
) -> None:
|
245
|
-
|
246
|
-
# Used in case of sampling
|
247
|
-
self.initial_log_level = self._determine_log_level(level)
|
248
|
-
|
249
245
|
self.service = resolve_env_var_choice(
|
250
246
|
choice=service,
|
251
247
|
env=os.getenv(constants.SERVICE_NAME_ENV, "service_undefined"),
|
@@ -285,6 +281,9 @@ class Logger:
|
|
285
281
|
if self._buffer_config:
|
286
282
|
self._buffer_cache = LoggerBufferCache(max_size_bytes=self._buffer_config.max_bytes)
|
287
283
|
|
284
|
+
# Used in case of sampling
|
285
|
+
self.initial_log_level = self._determine_log_level(level)
|
286
|
+
|
288
287
|
self._init_logger(
|
289
288
|
formatter_options=formatter_options,
|
290
289
|
log_level=level,
|
@@ -1047,6 +1046,20 @@ class Logger:
|
|
1047
1046
|
stacklevel=2,
|
1048
1047
|
)
|
1049
1048
|
|
1049
|
+
# Check if buffer level is less verbose than ALC
|
1050
|
+
if (
|
1051
|
+
hasattr(self, "_buffer_config")
|
1052
|
+
and self._buffer_config
|
1053
|
+
and logging.getLevelName(lambda_log_level)
|
1054
|
+
> logging.getLevelName(self._buffer_config.buffer_at_verbosity)
|
1055
|
+
):
|
1056
|
+
warnings.warn(
|
1057
|
+
"Advanced Logging Controls (ALC) Log Level is less verbose than Log Buffering Log Level. "
|
1058
|
+
"Buffered logs will be filtered by ALC",
|
1059
|
+
PowertoolsUserWarning,
|
1060
|
+
stacklevel=2,
|
1061
|
+
)
|
1062
|
+
|
1050
1063
|
# AWS Lambda Advanced Logging Controls takes precedence over Powertools log level and we use this
|
1051
1064
|
if lambda_log_level:
|
1052
1065
|
return lambda_log_level
|
@@ -1133,6 +1146,7 @@ class Logger:
|
|
1133
1146
|
Handles special first invocation buffering and migration of log records
|
1134
1147
|
between different tracer contexts.
|
1135
1148
|
"""
|
1149
|
+
|
1136
1150
|
# Determine tracer ID, defaulting to first invoke marker
|
1137
1151
|
tracer_id = get_tracer_id()
|
1138
1152
|
|
@@ -1180,6 +1194,7 @@ class Logger:
|
|
1180
1194
|
Any exceptions from underlying logging or buffer mechanisms
|
1181
1195
|
will be propagated to caller
|
1182
1196
|
"""
|
1197
|
+
|
1183
1198
|
tracer_id = get_tracer_id()
|
1184
1199
|
|
1185
1200
|
# Flushing log without a tracer id? Return
|
@@ -1191,6 +1206,21 @@ class Logger:
|
|
1191
1206
|
if not buffer:
|
1192
1207
|
return
|
1193
1208
|
|
1209
|
+
if not self._buffer_config:
|
1210
|
+
return
|
1211
|
+
|
1212
|
+
# Check ALC level against buffer level
|
1213
|
+
lambda_log_level = self._get_aws_lambda_log_level()
|
1214
|
+
if lambda_log_level:
|
1215
|
+
# Check if buffer level is less verbose than ALC
|
1216
|
+
if logging.getLevelName(lambda_log_level) > logging.getLevelName(self._buffer_config.buffer_at_verbosity):
|
1217
|
+
warnings.warn(
|
1218
|
+
"Advanced Logging Controls (ALC) Log Level is less verbose than Log Buffering Log Level. "
|
1219
|
+
"Some logs might be missing",
|
1220
|
+
PowertoolsUserWarning,
|
1221
|
+
stacklevel=2,
|
1222
|
+
)
|
1223
|
+
|
1194
1224
|
# Process log records
|
1195
1225
|
for log_line in buffer:
|
1196
1226
|
self._create_and_flush_log_record(log_line)
|
@@ -296,8 +296,7 @@ class BasePartialBatchProcessor(BasePartialProcessor): # noqa
|
|
296
296
|
|
297
297
|
if self._entire_batch_failed() and self.raise_on_entire_batch_failure:
|
298
298
|
raise BatchProcessingError(
|
299
|
-
msg=f"All records failed processing. {len(self.exceptions)} individual errors logged "
|
300
|
-
f"separately below.",
|
299
|
+
msg=f"All records failed processing. {len(self.exceptions)} individual errors logged separately below.",
|
301
300
|
child_exceptions=self.exceptions,
|
302
301
|
)
|
303
302
|
|
@@ -314,7 +314,6 @@ class CodePipelineJobEvent(DictWrapper):
|
|
314
314
|
# So we are using if/else instead.
|
315
315
|
|
316
316
|
if self.data.encryption_key:
|
317
|
-
|
318
317
|
encryption_key_id = self.data.encryption_key.get_id
|
319
318
|
encryption_key_type = self.data.encryption_key.get_type
|
320
319
|
if encryption_key_type == "KMS":
|
@@ -39,7 +39,6 @@ class TransferFamilyAuthorizer(DictWrapper):
|
|
39
39
|
|
40
40
|
|
41
41
|
class TransferFamilyAuthorizerResponse:
|
42
|
-
|
43
42
|
def _build_authentication_response(
|
44
43
|
self,
|
45
44
|
role_arn: str,
|
@@ -51,7 +50,6 @@ class TransferFamilyAuthorizerResponse:
|
|
51
50
|
user_uid: int | None = None,
|
52
51
|
public_keys: str | None = None,
|
53
52
|
) -> dict[str, Any]:
|
54
|
-
|
55
53
|
response: dict[str, Any] = {}
|
56
54
|
|
57
55
|
if home_directory_type == "PATH":
|
{aws_lambda_powertools-3.10.1a6.dist-info → aws_lambda_powertools-3.10.1a7.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: aws_lambda_powertools
|
3
|
-
Version: 3.10.
|
3
|
+
Version: 3.10.1a7
|
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
|
{aws_lambda_powertools-3.10.1a6.dist-info → aws_lambda_powertools-3.10.1a7.dist-info}/RECORD
RENAMED
@@ -1,40 +1,40 @@
|
|
1
1
|
aws_lambda_powertools/__init__.py,sha256=o4iEHU0MfWC0_TfVmisxi0VOAUw5uQfqLQWr0t29ZaE,676
|
2
2
|
aws_lambda_powertools/event_handler/__init__.py,sha256=RM4TF62aonr60nVlq4V8ogfjef8RtpUUGuDUfZY34_w,901
|
3
|
-
aws_lambda_powertools/event_handler/api_gateway.py,sha256=
|
4
|
-
aws_lambda_powertools/event_handler/appsync.py,sha256=
|
5
|
-
aws_lambda_powertools/event_handler/bedrock_agent.py,sha256=
|
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
|
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
7
|
aws_lambda_powertools/event_handler/exceptions.py,sha256=JgNxrdKTLBqd84Lhqb9NlXX7g54K8Xx2u9LJtpnOkdE,1919
|
8
8
|
aws_lambda_powertools/event_handler/graphql_appsync/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
-
aws_lambda_powertools/event_handler/graphql_appsync/_registry.py,sha256=
|
10
|
-
aws_lambda_powertools/event_handler/graphql_appsync/base.py,sha256=
|
9
|
+
aws_lambda_powertools/event_handler/graphql_appsync/_registry.py,sha256=cKbu_6ZqBmZ7JNLraetylXFVIUViecywT9SnHkNSH_g,2579
|
10
|
+
aws_lambda_powertools/event_handler/graphql_appsync/base.py,sha256=xbU2sLWyTjfNpbOK_NjQszDf2LgVRhozRt9HysLI3oM,5422
|
11
11
|
aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py,sha256=vTayCG3teb2XBfAhCMtTBDOOF1LJYs4uijY9GwQ5a-s,221
|
12
|
-
aws_lambda_powertools/event_handler/graphql_appsync/router.py,sha256=
|
13
|
-
aws_lambda_powertools/event_handler/lambda_function_url.py,sha256=
|
12
|
+
aws_lambda_powertools/event_handler/graphql_appsync/router.py,sha256=zMyJ63Ck1ySqv3PofmpQs8lexJKiEkoEZATeLzu9aiI,2253
|
13
|
+
aws_lambda_powertools/event_handler/lambda_function_url.py,sha256=cX5u2xMrsRbNkUzb9i4mJhRtYLGLa-BRkI_Gw4sl7fs,2343
|
14
14
|
aws_lambda_powertools/event_handler/middlewares/__init__.py,sha256=3R5XptoCT8owm4swcAEG0lsV_zbL4X-gU5nv8eJ0jQs,158
|
15
15
|
aws_lambda_powertools/event_handler/middlewares/base.py,sha256=llr1_sGaAsyMY9Gn4zKUDxePQ5X7ClcqgjqPesg5FJw,3724
|
16
|
-
aws_lambda_powertools/event_handler/middlewares/openapi_validation.py,sha256=
|
16
|
+
aws_lambda_powertools/event_handler/middlewares/openapi_validation.py,sha256=L7QjXgRT9c_PsKNVwk08uCFYGdf0htu5D_warAM2N34,16091
|
17
17
|
aws_lambda_powertools/event_handler/middlewares/schema_validation.py,sha256=gEX0lgO8e7sxNQZwFbhK3ExQyb_b_Fw3l6k5SeZyHqk,5204
|
18
18
|
aws_lambda_powertools/event_handler/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
|
-
aws_lambda_powertools/event_handler/openapi/compat.py,sha256=
|
19
|
+
aws_lambda_powertools/event_handler/openapi/compat.py,sha256=r1mvw-XlltSlUdF7Yv8I-hNFtl6Z6JylUl9WyVliUOc,10781
|
20
20
|
aws_lambda_powertools/event_handler/openapi/config.py,sha256=FFz5L42FbwgReUjxgh6FD4fkumbhhhAVD0TAQ7bu17I,2950
|
21
21
|
aws_lambda_powertools/event_handler/openapi/constants.py,sha256=iGEfmNa8c0nQ_RT4b6qyXJqKS-50zXj8QoVLI60Qmew,129
|
22
|
-
aws_lambda_powertools/event_handler/openapi/dependant.py,sha256=
|
23
|
-
aws_lambda_powertools/event_handler/openapi/encoders.py,sha256=
|
24
|
-
aws_lambda_powertools/event_handler/openapi/exceptions.py,sha256=
|
25
|
-
aws_lambda_powertools/event_handler/openapi/models.py,sha256=
|
26
|
-
aws_lambda_powertools/event_handler/openapi/params.py,sha256=
|
22
|
+
aws_lambda_powertools/event_handler/openapi/dependant.py,sha256=5-RAGq0l17rUdsT6bN1mW1JGT69Bi451z1pcM5tMk_4,12554
|
23
|
+
aws_lambda_powertools/event_handler/openapi/encoders.py,sha256=IWEJt9yIM53qbirxQoaonlsi_gxRWC3vPk-hlRLuMAY,11727
|
24
|
+
aws_lambda_powertools/event_handler/openapi/exceptions.py,sha256=tkoK3o2Q8OJqzogxUToM880dvktLqIRmh47d0oOYgCk,1156
|
25
|
+
aws_lambda_powertools/event_handler/openapi/models.py,sha256=i7K2goC3vYCq-WqFi_BAUnTwHeHq7gJaEo5BJWEZPT0,17100
|
26
|
+
aws_lambda_powertools/event_handler/openapi/params.py,sha256=5EMSDeqhBDY1tIsPJfvMxlZ7Y3bavZRnK4VWgkwSbAw,42550
|
27
27
|
aws_lambda_powertools/event_handler/openapi/pydantic_loader.py,sha256=Bud_yzI_Cao7UN_9zx6NeP0H2rQOZJbdbDAjgtthB-g,217
|
28
28
|
aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py,sha256=52wY3inOe1EPunrNl5cUqVQWHM6FsJHU5wpObSAX7-M,335
|
29
29
|
aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py,sha256=83f5h3j1E-4Q5OcRpq9ulgR_w0hL5CIanYFMEaOU59E,2769
|
30
30
|
aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py,sha256=YEG3ICbwtArNrUYWZARcD4npULajyID5odB3VZ5zpe8,5561
|
31
31
|
aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js,sha256=s_tWqUyVGy4dmU9BppKMNDoKgC9Q9qzvnB3XJEtGEQk,1265807
|
32
32
|
aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css,sha256=Q0DBjhDAqyjE6KmzTrq1DGYU1UeF7aHQSuTiou_pLS0,151723
|
33
|
-
aws_lambda_powertools/event_handler/openapi/types.py,sha256=
|
33
|
+
aws_lambda_powertools/event_handler/openapi/types.py,sha256=qIUSazCYnMu2GKwXrih-KnH4WK42kMoPVXk4f60Hps8,2108
|
34
34
|
aws_lambda_powertools/event_handler/router.py,sha256=cxL3MtN2Q8_RkPndNtAAcjJSqDJ4WN02dro_O83nxAM,980
|
35
35
|
aws_lambda_powertools/event_handler/types.py,sha256=yppbl_2wdyXSK_oTkSnkwPdAlJibc-uTm1IWmlB1RfU,177
|
36
|
-
aws_lambda_powertools/event_handler/util.py,sha256=
|
37
|
-
aws_lambda_powertools/event_handler/vpc_lattice.py,sha256=
|
36
|
+
aws_lambda_powertools/event_handler/util.py,sha256=MQvqlA1Cf7SkoEJbPP-0VVIYyBCSGFWLSbo5nAB5vaY,3217
|
37
|
+
aws_lambda_powertools/event_handler/vpc_lattice.py,sha256=1L7nTGhpqnAbsa29FLuJww2NiQ2p_WOD8H9ENtOhMxo,3689
|
38
38
|
aws_lambda_powertools/exceptions/__init__.py,sha256=bv7fiO8Cj5xbHOTlDpWpM3pIkbdSB74Nt_mHbzLzYDw,163
|
39
39
|
aws_lambda_powertools/logging/__init__.py,sha256=G5MTkVqaQvpfa7k3fGkj4QN0KU6nFfP0_SLF_47G_VE,72
|
40
40
|
aws_lambda_powertools/logging/buffer/__init__.py,sha256=2sdmJToRBp6QJI2VQuvgjuxsJkTMd4dL3TYp6dASiOQ,109
|
@@ -49,7 +49,7 @@ aws_lambda_powertools/logging/formatter.py,sha256=rVNzfEP34KCUUUfvb7dRhmHasPmFl-
|
|
49
49
|
aws_lambda_powertools/logging/formatters/__init__.py,sha256=OqddpJcWMqRYhx5SFy-SPqtt72tkRZbfpEi_oCC47eI,301
|
50
50
|
aws_lambda_powertools/logging/formatters/datadog.py,sha256=ReH9e4SDxfvHCLN_y5Avjy6RFok8eKXs8v-4Dp51rT4,3201
|
51
51
|
aws_lambda_powertools/logging/lambda_context.py,sha256=VHst_6hxMpXgScoxNwaC61UXPTIdd3AEBHTPzb4esPc,1736
|
52
|
-
aws_lambda_powertools/logging/logger.py,sha256=
|
52
|
+
aws_lambda_powertools/logging/logger.py,sha256=YC0v2o-iV1Ady1kbhtCXqMMFQObDu14pX-Ny33TMklE,50322
|
53
53
|
aws_lambda_powertools/logging/types.py,sha256=Zc95nGdZ2sJUEPdwR0uoArT_F-JSKfpS_LokdCVO0nQ,1263
|
54
54
|
aws_lambda_powertools/logging/utils.py,sha256=YpYre4EBGxjZi7ZE0o8Cfdq3iFP_UQacFrOgfpToRVo,4101
|
55
55
|
aws_lambda_powertools/metrics/__init__.py,sha256=B5FpJS_VR7zivm2ylvUF8RHBthKz4aDk0VA5GpDn3Tk,592
|
@@ -88,14 +88,14 @@ aws_lambda_powertools/shared/json_encoder.py,sha256=JQeWNu-4M7_xI_hqYExrxsb3OcEH
|
|
88
88
|
aws_lambda_powertools/shared/lazy_import.py,sha256=TbXQm2bcwXdZrYdBaJJXIswyLlumM85RJ_A_0w-h-GU,2019
|
89
89
|
aws_lambda_powertools/shared/types.py,sha256=EZ_tbX3F98LA4Zcra1hTEjzRacpZAtggK957Zcv1oKg,135
|
90
90
|
aws_lambda_powertools/shared/user_agent.py,sha256=DrCMFQuT4a4iIrpcWpAIjY37EFqR9-QxlxDGD-Nn9Gg,7081
|
91
|
-
aws_lambda_powertools/shared/version.py,sha256=
|
91
|
+
aws_lambda_powertools/shared/version.py,sha256=O_w5cO_he61m0xs9f4BxK7ziAwbaQ064UPZpHHO4aUw,85
|
92
92
|
aws_lambda_powertools/tracing/__init__.py,sha256=f4bMThOPBPWTPVcYqcAIErAJPerMsf3H_Z4gCXCsK9I,141
|
93
93
|
aws_lambda_powertools/tracing/base.py,sha256=WSO986XGBOe9K0F2SnG6ustJokIrtO0m0mcL8N7mfno,4544
|
94
94
|
aws_lambda_powertools/tracing/extensions.py,sha256=APOfXOq-hRBKaK5WyfIyrd_6M1_9SWJZ3zxLA9jDZzU,492
|
95
95
|
aws_lambda_powertools/tracing/tracer.py,sha256=WEZMAL3T-Y5CfBbtXpE102sYE8uzJsjPapwn67097K0,32488
|
96
96
|
aws_lambda_powertools/utilities/__init__.py,sha256=BhnoYxIaDboi8oCsEMAizR2Bp-EaJJ-OcdMa9q07thc,39
|
97
97
|
aws_lambda_powertools/utilities/batch/__init__.py,sha256=mjFmfhJwot_3miZrstDcMKH7LzM_0aD35z-581HgZfY,1073
|
98
|
-
aws_lambda_powertools/utilities/batch/base.py,sha256=
|
98
|
+
aws_lambda_powertools/utilities/batch/base.py,sha256=Jn6TkFtXk-8PvafNznlLxW-KkKJCGV2C7HVX_GE3JaY,25304
|
99
99
|
aws_lambda_powertools/utilities/batch/decorators.py,sha256=HK0DzPd9UWoyvIcH7feFYM3oqXzXlCkWmHyxkDTJR4U,9397
|
100
100
|
aws_lambda_powertools/utilities/batch/exceptions.py,sha256=ZbWgItDimiSXmrDlejIpGc-4mez8XKgl3MB5bAPlrCo,1765
|
101
101
|
aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py,sha256=MPE87ZithqQOcwzoZdYReOajc4mrbiKOsIXcXicznZE,4236
|
@@ -117,7 +117,7 @@ aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py,
|
|
117
117
|
aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py,sha256=uuGqErwHw0gTyGKEV5Q92W4yGAEjzUULsb33Egd723M,3470
|
118
118
|
aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py,sha256=EextMoBG9v_e5bS9Q1DlzVvzljGtIL1ddBszt5fgTeY,1191
|
119
119
|
aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py,sha256=chJSwmEj7GcKNlqY3HyWHOuhQIQSjqvA4fUxs-PxovA,464
|
120
|
-
aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py,sha256=
|
120
|
+
aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py,sha256=2EjZMdNR6Y6p8nfqNZEyOAyvw2YTpbCI0FUtskP0G7E,10529
|
121
121
|
aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py,sha256=oHYYcFYeX5bQp7avtrLtwizWqSmJzLA3qqVvZ4ybj94,40540
|
122
122
|
aws_lambda_powertools/utilities/data_classes/common.py,sha256=s3VqYE1yLsJxq1eQ9Oi4vm4GQlBxasSOIHlS1RuexEs,19564
|
123
123
|
aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py,sha256=4_L73ATO-M_2zUD3r0zS4c6I4zoLxTK9l8JQc-dATog,5468
|
@@ -138,14 +138,14 @@ aws_lambda_powertools/utilities/data_classes/ses_event.py,sha256=iQYVaAM3NTR7vLE
|
|
138
138
|
aws_lambda_powertools/utilities/data_classes/shared_functions.py,sha256=zAv_JzSJy_k3ZhLKyARXoX6zH7exqw9pjTDsmGB7qxw,4426
|
139
139
|
aws_lambda_powertools/utilities/data_classes/sns_event.py,sha256=jaYbt4a-XX51Iq-SLlwXmqOybinCVbek1zBzIPasqYs,3918
|
140
140
|
aws_lambda_powertools/utilities/data_classes/sqs_event.py,sha256=EwRNH88iAqlbg36cIUShpmFneT4hqJs0qS58ojgm0rg,8873
|
141
|
-
aws_lambda_powertools/utilities/data_classes/transfer_family_event.py,sha256=
|
141
|
+
aws_lambda_powertools/utilities/data_classes/transfer_family_event.py,sha256=3bMLYPPJGQNsLWxp7WtUNKD8o8KpMsZ1hnLw-lOi8v8,6854
|
142
142
|
aws_lambda_powertools/utilities/data_classes/vpc_lattice.py,sha256=SEZUvRTMsI-iQi7hcpqaKqYtJLYqIxX5ijqmeTSrf9E,6363
|
143
143
|
aws_lambda_powertools/utilities/data_masking/__init__.py,sha256=Ez0MABo8ARkgWKSu8Dog4uFSkkZuHkW7DoWcexJGeyU,108
|
144
144
|
aws_lambda_powertools/utilities/data_masking/base.py,sha256=z239-bkFYMf2g8qzzA_t-kvFAOulM-zl2woyDdxw3Qw,18602
|
145
145
|
aws_lambda_powertools/utilities/data_masking/constants.py,sha256=hKeeWDE4g53zxCq6fOD0D1vUTjuqVXNrr9oXCv-7mGg,752
|
146
146
|
aws_lambda_powertools/utilities/data_masking/exceptions.py,sha256=MGg6t5K9smOPcydmxMI3a_9D20u_zC3JCdd_eQpBisg,621
|
147
147
|
aws_lambda_powertools/utilities/data_masking/provider/__init__.py,sha256=83eP8qT3OpY99T--QUIV9K37MmAIi8cbAMmkHyIGVHI,119
|
148
|
-
aws_lambda_powertools/utilities/data_masking/provider/base.py,sha256=
|
148
|
+
aws_lambda_powertools/utilities/data_masking/provider/base.py,sha256=n7ydS-Sfbcq5d6mtd9hEaz637sjAind29CmWAOSJ3jo,6089
|
149
149
|
aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py,sha256=tP9PLaaf_hiET_bJGibeKEc0BWnFfVZBr5LiulUJsn4,161
|
150
150
|
aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py,sha256=dSE1XQNqLj5EewjYF1JdPu9rFfbmEQ4colREmomho0c,8967
|
151
151
|
aws_lambda_powertools/utilities/feature_flags/__init__.py,sha256=xd5YD3QeLbc6CfvIMb9Bnh3MYJ2XotI-buSI6vrisJE,619
|
@@ -171,10 +171,10 @@ aws_lambda_powertools/utilities/idempotency/persistence/redis.py,sha256=KN3XfUZz
|
|
171
171
|
aws_lambda_powertools/utilities/idempotency/serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
172
172
|
aws_lambda_powertools/utilities/idempotency/serialization/base.py,sha256=E6ZO7uGOJnhepSkS4NkUbPhw9BNU1581HRmdgEaXe8k,1445
|
173
173
|
aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py,sha256=QhPDPoa-MHAqo8APjSaQEENPeRiOnTovHWhQgCBkfIg,1018
|
174
|
-
aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py,sha256=
|
174
|
+
aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py,sha256=1mrfLZMhe7HtoDumtdHAFh2lXX9FL7vFlUi_yDINkpY,1578
|
175
175
|
aws_lambda_powertools/utilities/idempotency/serialization/functions.py,sha256=Vs3MZxu2rO5Y55mkjMBFD-PlBBEIQ78qz1C7riR6_yY,1977
|
176
176
|
aws_lambda_powertools/utilities/idempotency/serialization/no_op.py,sha256=9m5-EGZVGdmqN-69jCgDUwteRu7ZK4A3gOiZxkLgdoY,456
|
177
|
-
aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py,sha256=
|
177
|
+
aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py,sha256=NVKiKk87d_8BgcYpyxHJVRnRaDVCA6PP28SG3J0GGKg,1471
|
178
178
|
aws_lambda_powertools/utilities/jmespath_utils/__init__.py,sha256=Br89UButW4sLv2Dkjz_MiPS0TpMEPOO-W4wW0n9quPc,3597
|
179
179
|
aws_lambda_powertools/utilities/jmespath_utils/envelopes.py,sha256=jZJYbUldrZgCWl-PL8oRmC9p6G6D-3812kJmJfLkM6Q,817
|
180
180
|
aws_lambda_powertools/utilities/parameters/__init__.py,sha256=KVJWu7pyunw9to8VkTZ0fy6MCR9iW0tUCjAJVqgdwdw,771
|
@@ -258,7 +258,7 @@ aws_lambda_powertools/utilities/validation/envelopes.py,sha256=YD5HOFx6IClQgii0n
|
|
258
258
|
aws_lambda_powertools/utilities/validation/exceptions.py,sha256=PKy_19zQMBJGCMMFl-sMkcm-cc0v3zZBn_bhGE4wKNo,2084
|
259
259
|
aws_lambda_powertools/utilities/validation/validator.py,sha256=khCqFhACSdn0nKyYRRPiC5Exht956hTfSfhlV3IRmpg,10099
|
260
260
|
aws_lambda_powertools/warnings/__init__.py,sha256=vqDVeZz8wGtD8WGYNSkQE7AHwqtIrPGRxuoJR_BBnSs,1193
|
261
|
-
aws_lambda_powertools-3.10.
|
262
|
-
aws_lambda_powertools-3.10.
|
263
|
-
aws_lambda_powertools-3.10.
|
264
|
-
aws_lambda_powertools-3.10.
|
261
|
+
aws_lambda_powertools-3.10.1a7.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
|
262
|
+
aws_lambda_powertools-3.10.1a7.dist-info/METADATA,sha256=Cfx7bBKx3f770PR5ocj_50L0Z4r0U52-W54RLOmc3yM,11187
|
263
|
+
aws_lambda_powertools-3.10.1a7.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
264
|
+
aws_lambda_powertools-3.10.1a7.dist-info/RECORD,,
|
{aws_lambda_powertools-3.10.1a6.dist-info → aws_lambda_powertools-3.10.1a7.dist-info}/LICENSE
RENAMED
File without changes
|
File without changes
|