"""Raw representations of every data type in the AWS KMS service.

See Also:
    `AWS developer guide for KMS
    <https://docs.aws.amazon.com/kms/latest/developerguide/overview.html>`_

This file is automatically generated, and should not be directly edited.
"""

from ..core import Resource

__all__ = [
    "Alias",
    "Key",
]


class Alias(Resource):
    """A Alias for KMS.

    See Also:
        `AWS Cloud Formation documentation for Alias
        <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html>`_
    """

    RESOURCE_TYPE = "AWS::KMS::Alias"

    RESOURCE_PROPERTIES = {
        "AliasName",
        "TargetKeyId",
    }


class Key(Resource):
    """A Key for KMS.

    See Also:
        `AWS Cloud Formation documentation for Key
        <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html>`_
    """

    RESOURCE_TYPE = "AWS::KMS::Key"

    RESOURCE_PROPERTIES = {
        "Description",
        "Enabled",
        "EnableKeyRotation",
        "KeyPolicy",
        "KeyUsage",
        "PendingWindowInDays",
        "Tags",
    }
