### Navigation

- index
- modules |
- vSphere Automation SDK for Python 6.5.0 documentation »
- Module code »

# Source code for vmware.vapi.bindings.enum

    """
    Bindings data classes
    """

    __author__ = 'VMware, Inc.'
    __copyright__ = 'Copyright (c) 2015-2016 VMware, Inc. All rights reserved.'

    import six

    # Disabling the pylint complaint about badly implemented container
    # as we don't need __setitem__, __delitem__ and __getitem__
    class Enum(six.text_type):  # pylint: disable=R0924
        """
        Representation of IDL Enum in python language bindings
        """
        _binding_type = None
        _values = []

        @classmethod
        def _set_binding_type(cls, binding_type):
            """
            Set the underlying BindingType for this VapiStruct.

            :type  binding_type: :class:`vmware.vapi.data.value.BindingType`
            :param binding_type: BindingType for this VapiStruct
            """
            cls._binding_type = binding_type

        @classmethod
        def get_binding_type(cls):
            """
            Returns the corresponding BindingType for the VapiStruct class

            :rtype: :class:`vmware.vapi.data.value.BindingType` or ``None``
            :return: BindingType for this VapiStruct
            """
            return cls._binding_type

        @classmethod
        def get_values(cls):
            """
            Returns the list of all the possible enum values

            :rtype: :class:`list` of :class:`vmware.vapi.bindings.enum.Enum`
            :return: List of all possible enum values
            """
            return cls._values

        @classmethod
        def _set_values(cls, values):
            """
            Set the list of the enum values and assign them to respective class
            attributes

            :type :class:`list` of :class:`vmware.vapi.bindings.enum.Enum`
            :param List of all possible enum values
            """
            cls._values = list(values)
            for val in cls._values:
                setattr(cls, val, val)

        def is_unknown(self):
            """
            Returns whether the enum value stored is one of the known values or not

            :rtype: :class:`bool`
            :return: True if the enum value is not known
            """
            return not (self in self._values)

        def __repr__(self):
            class_name = self.__class__.__name__
            return '%s(string=%s)' % (class_name, six.text_type.__repr__(self))

### Navigation

- index
- modules |
- vSphere Automation SDK for Python 6.5.0 documentation »
- Module code »