Skip to content

Commit 1dedaca

Browse files
authored
Merge pull request #84 from mattsb42-aws/dev-83
fix KMSMasterKeyProvider to determine the default region before trying to create the requested master keys
2 parents ff499ad + a691a3c commit 1dedaca

File tree

4 files changed

+22
-3
lines changed

4 files changed

+22
-3
lines changed

CHANGELOG.rst

+10
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22
Changelog
33
*********
44

5+
1.3.7 -- 2018-09-17
6+
===================
7+
8+
Bugfixes
9+
--------
10+
11+
* Fix KMSMasterKeyProvider to determine the default region before trying to create the requested master keys.
12+
`#83 <https://github.com/aws/aws-encryption-sdk-python/issues/83>`_
13+
14+
515
1.3.6 -- 2018-09-04
616
===================
717

src/aws_encryption_sdk/identifiers.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
from aws_encryption_sdk.exceptions import InvalidAlgorithmError
2323

24-
__version__ = "1.3.6"
24+
__version__ = "1.3.7"
2525
USER_AGENT_SUFFIX = "AwsEncryptionSdkPython/{}".format(__version__)
2626

2727

src/aws_encryption_sdk/key_providers/kms.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,7 @@ def __init__(self, **kwargs): # pylint: disable=unused-argument
116116
def _process_config(self):
117117
"""Traverses the config and adds master keys and regional clients as needed."""
118118
self._user_agent_adding_config = botocore.config.Config(user_agent_extra=USER_AGENT_SUFFIX)
119-
if self.config.key_ids:
120-
self.add_master_keys_from_list(self.config.key_ids)
119+
121120
if self.config.region_names:
122121
self.add_regional_clients_from_list(self.config.region_names)
123122
self.default_region = self.config.region_names[0]
@@ -126,6 +125,9 @@ def _process_config(self):
126125
if self.default_region is not None:
127126
self.add_regional_client(self.default_region)
128127

128+
if self.config.key_ids:
129+
self.add_master_keys_from_list(self.config.key_ids)
130+
129131
def add_regional_client(self, region_name):
130132
"""Adds a regional client for the specified region if it does not already exist.
131133

test/unit/test_providers_kms_master_key_provider.py

+7
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@
2525
pytestmark = [pytest.mark.unit, pytest.mark.local]
2626

2727

28+
def test_init_with_regionless_key_ids_and_region_names():
29+
key_ids = ("alias/key_1",)
30+
region_names = ("test-region-1",)
31+
provider = KMSMasterKeyProvider(region_names=region_names, key_ids=key_ids)
32+
assert provider.master_key("alias/key_1").config.client.meta.region_name == region_names[0]
33+
34+
2835
class TestKMSMasterKeyProvider(unittest.TestCase):
2936
def setUp(self):
3037
self.mock_botocore_session_patcher = patch("aws_encryption_sdk.key_providers.kms.botocore.session.Session")

0 commit comments

Comments
 (0)