1- from collections .abc import Mapping , Sequence
2- from typing import Any , Callable , Optional , TypeVar , Union , cast
1+ from collections .abc import Callable , Mapping , Sequence
2+ from typing import Any , TypeVar , cast
33
44from cachebox import BaseCacheImpl , LRUCache , TTLCache
55
1717class AwsSsmProvider (AbstractProvider ):
1818 """Provider for AWS Systems Manager Parameter Store."""
1919
20- def __init__ (self , config : Optional [ AwsSsmProviderConfig ] = None ) -> None :
20+ def __init__ (self , config : AwsSsmProviderConfig | None = None ) -> None :
2121 """
2222 Initialize the AWS SSM Provider.
2323
@@ -31,7 +31,7 @@ def __init__(self, config: Optional[AwsSsmProviderConfig] = None) -> None:
3131 enable_decryption = self .config .enable_decryption ,
3232 )
3333
34- self .cache : Optional [ BaseCacheImpl ] = None
34+ self .cache : BaseCacheImpl | None = None
3535 if self .config .cache_config :
3636 cache_config = self .config .cache_config
3737 if cache_config .cache_type == "lru" :
@@ -48,7 +48,7 @@ def get_metadata(self) -> Metadata:
4848 """
4949 return Metadata (name = "aws-ssm" )
5050
51- def _get_cached_value (self , flag_key : str ) -> Optional [ Any ] :
51+ def _get_cached_value (self , flag_key : str ) -> Any | None :
5252 """
5353 Get value from cache if available.
5454
@@ -76,7 +76,7 @@ def _set_cache_value(self, flag_key: str, value: Any) -> None:
7676 def _resolve_with_cache (
7777 self ,
7878 flag_key : str ,
79- parser : Optional [ Callable [[str ], T ]] = None ,
79+ parser : Callable [[str ], T ] | None = None ,
8080 ) -> FlagResolutionDetails [T ]:
8181 """
8282 Base resolution logic with caching for synchronous operations.
@@ -108,7 +108,7 @@ def _resolve_with_cache(
108108 async def _resolve_with_cache_async (
109109 self ,
110110 flag_key : str ,
111- parser : Optional [ Callable [[str ], T ]] = None ,
111+ parser : Callable [[str ], T ] | None = None ,
112112 ) -> FlagResolutionDetails [T ]:
113113 """
114114 Base resolution logic with caching for asynchronous operations.
@@ -141,7 +141,7 @@ def resolve_boolean_details(
141141 self ,
142142 flag_key : str ,
143143 default_value : bool ,
144- evaluation_context : Optional [ EvaluationContext ] = None ,
144+ evaluation_context : EvaluationContext | None = None ,
145145 ) -> FlagResolutionDetails [bool ]:
146146 """
147147 Resolve a boolean flag.
@@ -160,7 +160,7 @@ def resolve_string_details(
160160 self ,
161161 flag_key : str ,
162162 default_value : str ,
163- evaluation_context : Optional [ EvaluationContext ] = None ,
163+ evaluation_context : EvaluationContext | None = None ,
164164 ) -> FlagResolutionDetails [str ]:
165165 """
166166 Resolve a string flag.
@@ -179,7 +179,7 @@ def resolve_integer_details(
179179 self ,
180180 flag_key : str ,
181181 default_value : int ,
182- evaluation_context : Optional [ EvaluationContext ] = None ,
182+ evaluation_context : EvaluationContext | None = None ,
183183 ) -> FlagResolutionDetails [int ]:
184184 """
185185 Resolve an integer flag.
@@ -198,7 +198,7 @@ def resolve_float_details(
198198 self ,
199199 flag_key : str ,
200200 default_value : float ,
201- evaluation_context : Optional [ EvaluationContext ] = None ,
201+ evaluation_context : EvaluationContext | None = None ,
202202 ) -> FlagResolutionDetails [float ]:
203203 """
204204 Resolve a float flag.
@@ -216,11 +216,9 @@ def resolve_float_details(
216216 def resolve_object_details (
217217 self ,
218218 flag_key : str ,
219- default_value : Union [Sequence [FlagValueType ], Mapping [str , FlagValueType ]],
220- evaluation_context : Optional [EvaluationContext ] = None ,
221- ) -> FlagResolutionDetails [
222- Union [Sequence [FlagValueType ], Mapping [str , FlagValueType ]]
223- ]:
219+ default_value : Sequence [FlagValueType ] | Mapping [str , FlagValueType ],
220+ evaluation_context : EvaluationContext | None = None ,
221+ ) -> FlagResolutionDetails [Sequence [FlagValueType ] | Mapping [str , FlagValueType ]]:
224222 """
225223 Resolve an object flag.
226224
@@ -239,7 +237,7 @@ async def resolve_boolean_details_async(
239237 self ,
240238 flag_key : str ,
241239 default_value : bool ,
242- evaluation_context : Optional [ EvaluationContext ] = None ,
240+ evaluation_context : EvaluationContext | None = None ,
243241 ) -> FlagResolutionDetails [bool ]:
244242 """
245243 Resolve a boolean flag asynchronously.
@@ -258,7 +256,7 @@ async def resolve_string_details_async(
258256 self ,
259257 flag_key : str ,
260258 default_value : str ,
261- evaluation_context : Optional [ EvaluationContext ] = None ,
259+ evaluation_context : EvaluationContext | None = None ,
262260 ) -> FlagResolutionDetails [str ]:
263261 """
264262 Resolve a string flag asynchronously.
@@ -277,7 +275,7 @@ async def resolve_integer_details_async(
277275 self ,
278276 flag_key : str ,
279277 default_value : int ,
280- evaluation_context : Optional [ EvaluationContext ] = None ,
278+ evaluation_context : EvaluationContext | None = None ,
281279 ) -> FlagResolutionDetails [int ]:
282280 """
283281 Resolve an integer flag asynchronously.
@@ -296,7 +294,7 @@ async def resolve_float_details_async(
296294 self ,
297295 flag_key : str ,
298296 default_value : float ,
299- evaluation_context : Optional [ EvaluationContext ] = None ,
297+ evaluation_context : EvaluationContext | None = None ,
300298 ) -> FlagResolutionDetails [float ]:
301299 """
302300 Resolve a float flag asynchronously.
@@ -314,11 +312,9 @@ async def resolve_float_details_async(
314312 async def resolve_object_details_async (
315313 self ,
316314 flag_key : str ,
317- default_value : Union [Sequence [FlagValueType ], Mapping [str , FlagValueType ]],
318- evaluation_context : Optional [EvaluationContext ] = None ,
319- ) -> FlagResolutionDetails [
320- Union [Sequence [FlagValueType ], Mapping [str , FlagValueType ]]
321- ]:
315+ default_value : Sequence [FlagValueType ] | Mapping [str , FlagValueType ],
316+ evaluation_context : EvaluationContext | None = None ,
317+ ) -> FlagResolutionDetails [Sequence [FlagValueType ] | Mapping [str , FlagValueType ]]:
322318 """
323319 Resolve an object flag asynchronously.
324320
0 commit comments