def _aws_kms_providers()

in features/awses_message_encryption_utils.py [0:0]


def _aws_kms_providers(keys):
    """Build all AWS KMS Master Key configurations to test.

    :param dict keys: Parsed keys manifest
    """

    def _key_builder(name, key):
        return {"type": "aws-kms", "key": name}

    cyclable, encrypt_only = _split_on_decryptable(
        keys, functools.partial(_keys_for_type, "aws-kms"), _key_builder
    )

    # Single KMS MasterKey which can be decrypted by all consumers
    for key in cyclable:
        yield (key,)

        # Multiple KMS MasterKeys, of which only one can be decrypted by all consumers
        for blackhole in encrypt_only:
            yield (key, blackhole)