1from __future__ import absolute_import
2
3# enum in stdlib as of py3.4
4try:
5    from enum import IntEnum  # pylint: disable=import-error
6except ImportError:
7    # vendored backport module
8    from kafka.vendor.enum34 import IntEnum
9
10
11class ConfigResourceType(IntEnum):
12    """An enumerated type of config resources"""
13
14    BROKER = 4,
15    TOPIC = 2
16
17
18class ConfigResource(object):
19    """A class for specifying config resources.
20    Arguments:
21        resource_type (ConfigResourceType): the type of kafka resource
22        name (string): The name of the kafka resource
23        configs ({key : value}): A  maps of config keys to values.
24    """
25
26    def __init__(
27            self,
28            resource_type,
29            name,
30            configs=None
31    ):
32        if not isinstance(resource_type, (ConfigResourceType)):
33            resource_type = ConfigResourceType[str(resource_type).upper()] # pylint: disable-msg=unsubscriptable-object
34        self.resource_type = resource_type
35        self.name = name
36        self.configs = configs
37