in src/dynamodb_encryption_sdk/material_providers/aws_kms.py [0:0]
def _client(self, key_id):
"""Returns a boto3 KMS client for the appropriate region.
:param str key_id: KMS CMK ID
:returns: Boto3 KMS client for requested key id
:rtype: botocore.client.KMS
"""
try:
key_region = key_id.split(":", 4)[3]
region = key_region
except IndexError:
session_region = self._botocore_session.get_config_variable("region")
if session_region is None:
raise UnknownRegionError(
"No region determinable from key id: {} and no default region found in session".format(key_id)
)
region = session_region
return self._add_regional_client(region)