Skip to content

Commit 6c2881a

Browse files
committed
fix: client suppliers should only require a callable not specifically a ClientSupplier
1 parent 7265c84 commit 6c2881a

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

src/aws_encryption_sdk/keyrings/aws_kms/client_suppliers.py

+3-7
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
import attr
1111
import six
12-
from attr.validators import deep_iterable, instance_of, optional
12+
from attr.validators import deep_iterable, instance_of, is_callable, optional
1313
from botocore.client import BaseClient
1414

1515
from aws_encryption_sdk.exceptions import UnknownRegionError
@@ -86,9 +86,7 @@ class AllowRegionsClientSupplier(ClientSupplier):
8686
allowed_regions = attr.ib(
8787
validator=(deep_iterable(member_validator=instance_of(six.string_types)), value_is_not_a_string)
8888
)
89-
_client_supplier = attr.ib(
90-
default=attr.Factory(DefaultClientSupplier), validator=optional(instance_of(ClientSupplier))
91-
)
89+
_client_supplier = attr.ib(default=attr.Factory(DefaultClientSupplier), validator=optional(is_callable()))
9290

9391
def __call__(self, region_name):
9492
# type: (Union[None, str]) -> BaseClient
@@ -116,9 +114,7 @@ class DenyRegionsClientSupplier(ClientSupplier):
116114
denied_regions = attr.ib(
117115
validator=(deep_iterable(member_validator=instance_of(six.string_types)), value_is_not_a_string)
118116
)
119-
_client_supplier = attr.ib(
120-
default=attr.Factory(DefaultClientSupplier), validator=optional(instance_of(ClientSupplier))
121-
)
117+
_client_supplier = attr.ib(default=attr.Factory(DefaultClientSupplier), validator=optional(is_callable()))
122118

123119
def __call__(self, region_name):
124120
# type: (Union[None, str]) -> BaseClient

0 commit comments

Comments
 (0)