Skip to content

Commit b316333

Browse files
committed
ssm
1 parent 303d0ca commit b316333

File tree

3 files changed

+19
-18
lines changed

3 files changed

+19
-18
lines changed

packages/settings-library/src/settings_library/ec2.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,17 @@
11
from typing import Annotated
22

3-
from pydantic import AnyHttpUrl, BeforeValidator, Field, TypeAdapter
3+
from pydantic import BeforeValidator, Field
44
from pydantic_settings import SettingsConfigDict
55

66
from .base import BaseCustomSettings
7-
8-
ANY_HTTP_URL_ADAPTER: TypeAdapter = TypeAdapter(AnyHttpUrl)
9-
10-
11-
def _validate_url(value: str | None) -> str | None:
12-
if value is not None:
13-
return str(ANY_HTTP_URL_ADAPTER.validate_python(value))
14-
return value
7+
from .utils_validators import validate_nullable_url
158

169

1710
class EC2Settings(BaseCustomSettings):
1811
EC2_ACCESS_KEY_ID: str
1912
EC2_ENDPOINT: Annotated[
2013
str | None,
21-
BeforeValidator(_validate_url),
14+
BeforeValidator(validate_nullable_url),
2215
Field(description="do not define if using standard AWS"),
2316
] = None
2417
EC2_REGION_NAME: str = "us-east-1"

packages/settings-library/src/settings_library/ssm.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
from typing import Annotated
22

3-
from pydantic import AnyHttpUrl, BeforeValidator, Field, SecretStr, TypeAdapter
3+
from pydantic import BeforeValidator, Field, SecretStr
44
from pydantic_settings import SettingsConfigDict
55

66
from .base import BaseCustomSettings
7+
from .utils_validators import validate_nullable_url
78

89

910
class SSMSettings(BaseCustomSettings):
1011
SSM_ACCESS_KEY_ID: SecretStr
11-
SSM_ENDPOINT: (
12-
Annotated[
13-
str,
14-
BeforeValidator(lambda x: str(TypeAdapter(AnyHttpUrl).validate_python(x))),
15-
]
16-
| None
17-
) = Field(default=None, description="do not define if using standard AWS")
12+
SSM_ENDPOINT: Annotated[
13+
str | None,
14+
BeforeValidator(validate_nullable_url),
15+
Field(description="do not define if using standard AWS"),
16+
] = None
1817
SSM_REGION_NAME: str = "us-east-1"
1918
SSM_SECRET_ACCESS_KEY: SecretStr
2019

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from pydantic import AnyHttpUrl, TypeAdapter
2+
3+
ANY_HTTP_URL_ADAPTER: TypeAdapter = TypeAdapter(AnyHttpUrl)
4+
5+
6+
def validate_nullable_url(value: str | None) -> str | None:
7+
if value is not None:
8+
return str(ANY_HTTP_URL_ADAPTER.validate_python(value))
9+
return value

0 commit comments

Comments
 (0)