|
9 | 9 |
|
10 | 10 | import attr
|
11 | 11 | import six
|
12 |
| -from attr.validators import deep_iterable, instance_of, optional |
| 12 | +from attr.validators import deep_iterable, instance_of, is_callable, optional |
13 | 13 | from botocore.client import BaseClient
|
14 | 14 |
|
15 | 15 | from aws_encryption_sdk.exceptions import UnknownRegionError
|
@@ -86,9 +86,7 @@ class AllowRegionsClientSupplier(ClientSupplier):
|
86 | 86 | allowed_regions = attr.ib(
|
87 | 87 | validator=(deep_iterable(member_validator=instance_of(six.string_types)), value_is_not_a_string)
|
88 | 88 | )
|
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())) |
92 | 90 |
|
93 | 91 | def __call__(self, region_name):
|
94 | 92 | # type: (Union[None, str]) -> BaseClient
|
@@ -116,9 +114,7 @@ class DenyRegionsClientSupplier(ClientSupplier):
|
116 | 114 | denied_regions = attr.ib(
|
117 | 115 | validator=(deep_iterable(member_validator=instance_of(six.string_types)), value_is_not_a_string)
|
118 | 116 | )
|
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())) |
122 | 118 |
|
123 | 119 | def __call__(self, region_name):
|
124 | 120 | # type: (Union[None, str]) -> BaseClient
|
|
0 commit comments