Skip to content

Commit cedb5c9

Browse files
refactor(parameters): add overload signatures for get_parameter and get_parameters (#3534)
Co-authored-by: Ruben Fonseca <[email protected]>
1 parent 6d8e900 commit cedb5c9

File tree

2 files changed

+107
-3
lines changed

2 files changed

+107
-3
lines changed

aws_lambda_powertools/utilities/parameters/ssm.py

+106-2
Original file line numberDiff line numberDiff line change
@@ -545,9 +545,57 @@ def _raise_if_errors_key_is_present(parameters: Dict, reserved_parameter: str, r
545545
)
546546

547547

548+
@overload
549+
def get_parameter(
550+
name: str,
551+
transform: None = None,
552+
decrypt: Optional[bool] = None,
553+
force_fetch: bool = False,
554+
max_age: Optional[int] = None,
555+
**sdk_options,
556+
) -> str:
557+
...
558+
559+
560+
@overload
561+
def get_parameter(
562+
name: str,
563+
transform: Literal["json"],
564+
decrypt: Optional[bool] = None,
565+
force_fetch: bool = False,
566+
max_age: Optional[int] = None,
567+
**sdk_options,
568+
) -> dict:
569+
...
570+
571+
572+
@overload
548573
def get_parameter(
549574
name: str,
550-
transform: Optional[str] = None,
575+
transform: Literal["binary"],
576+
decrypt: Optional[bool] = None,
577+
force_fetch: bool = False,
578+
max_age: Optional[int] = None,
579+
**sdk_options,
580+
) -> Union[str, dict, bytes]:
581+
...
582+
583+
584+
@overload
585+
def get_parameter(
586+
name: str,
587+
transform: Literal["auto"],
588+
decrypt: Optional[bool] = None,
589+
force_fetch: bool = False,
590+
max_age: Optional[int] = None,
591+
**sdk_options,
592+
) -> bytes:
593+
...
594+
595+
596+
def get_parameter(
597+
name: str,
598+
transform: TransformOptions = None,
551599
decrypt: Optional[bool] = None,
552600
force_fetch: bool = False,
553601
max_age: Optional[int] = None,
@@ -625,9 +673,65 @@ def get_parameter(
625673
)
626674

627675

676+
@overload
628677
def get_parameters(
629678
path: str,
630-
transform: Optional[str] = None,
679+
transform: None = None,
680+
recursive: bool = True,
681+
decrypt: Optional[bool] = None,
682+
force_fetch: bool = False,
683+
max_age: Optional[int] = None,
684+
raise_on_transform_error: bool = False,
685+
**sdk_options,
686+
) -> Dict[str, str]:
687+
...
688+
689+
690+
@overload
691+
def get_parameters(
692+
path: str,
693+
transform: Literal["json"],
694+
recursive: bool = True,
695+
decrypt: Optional[bool] = None,
696+
force_fetch: bool = False,
697+
max_age: Optional[int] = None,
698+
raise_on_transform_error: bool = False,
699+
**sdk_options,
700+
) -> Dict[str, dict]:
701+
...
702+
703+
704+
@overload
705+
def get_parameters(
706+
path: str,
707+
transform: Literal["binary"],
708+
recursive: bool = True,
709+
decrypt: Optional[bool] = None,
710+
force_fetch: bool = False,
711+
max_age: Optional[int] = None,
712+
raise_on_transform_error: bool = False,
713+
**sdk_options,
714+
) -> Dict[str, bytes]:
715+
...
716+
717+
718+
@overload
719+
def get_parameters(
720+
path: str,
721+
transform: Literal["auto"],
722+
recursive: bool = True,
723+
decrypt: Optional[bool] = None,
724+
force_fetch: bool = False,
725+
max_age: Optional[int] = None,
726+
raise_on_transform_error: bool = False,
727+
**sdk_options,
728+
) -> Union[Dict[str, bytes], Dict[str, dict], Dict[str, str]]:
729+
...
730+
731+
732+
def get_parameters(
733+
path: str,
734+
transform: TransformOptions = None,
631735
recursive: bool = True,
632736
decrypt: Optional[bool] = None,
633737
force_fetch: bool = False,

examples/parameters/src/getting_started_single_ssm_parameter.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
def lambda_handler(event: dict, context: LambdaContext) -> dict:
88
try:
99
# Retrieve a single parameter
10-
endpoint_comments: str = parameters.get_parameter("/lambda-powertools/endpoint_comments") # type: ignore[assignment] # noqa: E501
10+
endpoint_comments = parameters.get_parameter("/lambda-powertools/endpoint_comments")
1111

1212
# the value of this parameter is https://jsonplaceholder.typicode.com/comments/
1313
comments: requests.Response = requests.get(endpoint_comments)

0 commit comments

Comments
 (0)