# python
# This file is generated by a program (mib2py). Any edits will be lost.

from pycopia.aid import Enum
import pycopia.SMI.Basetypes
Range = pycopia.SMI.Basetypes.Range
Ranges = pycopia.SMI.Basetypes.Ranges

from pycopia.SMI.Objects import ColumnObject, MacroObject, NotificationObject, RowObject, ScalarObject, NodeObject, ModuleObject, GroupObject

# imports 
from SNMPv2_SMI import MODULE_IDENTITY, mib_2, OBJECT_TYPE, Integer32, Gauge32, Counter32, NOTIFICATION_TYPE
from SNMPv2_CONF import MODULE_COMPLIANCE, OBJECT_GROUP, NOTIFICATION_GROUP
from SNMPv2_TC import TruthValue
from SNMP_FRAMEWORK_MIB import SnmpAdminString

class POWER_ETHERNET_MIB(ModuleObject):
	path = '/usr/share/snmp/mibs/ietf/POWER-ETHERNET-MIB'
	conformance = 132
	name = 'POWER-ETHERNET-MIB'
	language = 2
	description = 'The MIB module for managing Power Source Equipment\n(PSE) working according to the IEEE 802.af Powered\nEthernet (DTE Power via MDI) standard.\n\n The following terms are used throughout this\n MIB module.  For complete formal definitions,\n the IEEE 802.3 standards should be consulted\n wherever possible:\n\n Group - A recommended, but optional, entity\n defined by the IEEE 802.3 management standard,\n in order to support a modular numbering scheme.\n The classical example allows an implementor to\n represent field-replaceable units as groups of\n ports, with the port numbering matching the\n modular hardware implementation.\n\nPort - This entity identifies the port within the group\nfor which this entry contains information.  The numbering\nscheme for ports is implementation specific.\n\nCopyright (c) The Internet Society (2003).  This version\nof this MIB module is part of RFC 3621; See the RFC\nitself for full legal notices.'

# nodes
class powerEthernetMIB(NodeObject):
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105])
	name = 'powerEthernetMIB'

class pethNotifications(NodeObject):
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 0])
	name = 'pethNotifications'

class pethObjects(NodeObject):
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1])
	name = 'pethObjects'

class pethMainPseObjects(NodeObject):
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 3])
	name = 'pethMainPseObjects'

class pethNotificationControl(NodeObject):
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 4])
	name = 'pethNotificationControl'

class pethConformance(NodeObject):
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 2])
	name = 'pethConformance'

class pethCompliances(NodeObject):
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 2, 1])
	name = 'pethCompliances'

class pethGroups(NodeObject):
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 2, 2])
	name = 'pethGroups'


# macros
# types 
# scalars 
# columns
class pethPsePortGroupIndex(ColumnObject):
	access = 2
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 1])
	syntaxobject = pycopia.SMI.Basetypes.Integer32


class pethPsePortIndex(ColumnObject):
	access = 2
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 2])
	syntaxobject = pycopia.SMI.Basetypes.Integer32


class pethPsePortAdminEnable(ColumnObject):
	access = 5
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 3])
	syntaxobject = pycopia.SMI.Basetypes.TruthValue


class pethPsePortPowerPairsControlAbility(ColumnObject):
	access = 4
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 4])
	syntaxobject = pycopia.SMI.Basetypes.TruthValue


class pethPsePortPowerPairs(ColumnObject):
	status = 1
	access = 5
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 5])
	syntaxobject = pycopia.SMI.Basetypes.Enumeration
	enumerations = [Enum(1, 'signal'), Enum(2, 'spare')]


class pethPsePortDetectionStatus(ColumnObject):
	status = 1
	access = 4
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 6])
	syntaxobject = pycopia.SMI.Basetypes.Enumeration
	enumerations = [Enum(1, 'disabled'), Enum(2, 'searching'), Enum(3, 'deliveringPower'), Enum(4, 'fault'), Enum(5, 'test'), Enum(6, 'otherFault')]


class pethPsePortPowerPriority(ColumnObject):
	status = 1
	access = 5
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 7])
	syntaxobject = pycopia.SMI.Basetypes.Enumeration
	enumerations = [Enum(1, 'critical'), Enum(2, 'high'), Enum(3, 'low')]


class pethPsePortMPSAbsentCounter(ColumnObject):
	access = 4
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 8])
	syntaxobject = pycopia.SMI.Basetypes.Counter32


class pethPsePortType(ColumnObject):
	access = 5
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 9])
	syntaxobject = SnmpAdminString


class pethPsePortPowerClassifications(ColumnObject):
	status = 1
	access = 4
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 10])
	syntaxobject = pycopia.SMI.Basetypes.Enumeration
	enumerations = [Enum(1, 'class0'), Enum(2, 'class1'), Enum(3, 'class2'), Enum(4, 'class3'), Enum(5, 'class4')]


class pethPsePortInvalidSignatureCounter(ColumnObject):
	access = 4
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 11])
	syntaxobject = pycopia.SMI.Basetypes.Counter32


class pethPsePortPowerDeniedCounter(ColumnObject):
	access = 4
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 12])
	syntaxobject = pycopia.SMI.Basetypes.Counter32


class pethPsePortOverLoadCounter(ColumnObject):
	access = 4
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 13])
	syntaxobject = pycopia.SMI.Basetypes.Counter32


class pethPsePortShortCounter(ColumnObject):
	access = 4
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1, 14])
	syntaxobject = pycopia.SMI.Basetypes.Counter32


class pethMainPseGroupIndex(ColumnObject):
	access = 2
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 3, 1, 1, 1])
	syntaxobject = pycopia.SMI.Basetypes.Integer32


class pethMainPsePower(ColumnObject):
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 3, 1, 1, 2])
	syntaxobject = pycopia.SMI.Basetypes.Gauge32
	access = 4
	units = 'Watts'


class pethMainPseOperStatus(ColumnObject):
	status = 1
	access = 4
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 3, 1, 1, 3])
	syntaxobject = pycopia.SMI.Basetypes.Enumeration
	enumerations = [Enum(1, 'on'), Enum(2, 'off'), Enum(3, 'faulty')]


class pethMainPseConsumptionPower(ColumnObject):
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 3, 1, 1, 4])
	syntaxobject = pycopia.SMI.Basetypes.Gauge32
	access = 4
	units = 'Watts'


class pethMainPseUsageThreshold(ColumnObject):
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 3, 1, 1, 5])
	syntaxobject = pycopia.SMI.Basetypes.Integer32
	access = 5
	units = '%'


class pethNotificationControlGroupIndex(ColumnObject):
	access = 2
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 4, 1, 1, 1])
	syntaxobject = pycopia.SMI.Basetypes.Integer32


class pethNotificationControlEnable(ColumnObject):
	access = 5
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 4, 1, 1, 2])
	syntaxobject = pycopia.SMI.Basetypes.TruthValue


# rows 
class pethPsePortEntry(RowObject):
	status = 1
	index = pycopia.SMI.Objects.IndexObjects([pethPsePortGroupIndex, pethPsePortIndex], False)
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 1, 1])
	access = 2
	columns = {'pethPsePortGroupIndex': pethPsePortGroupIndex, 'pethPsePortIndex': pethPsePortIndex, 'pethPsePortAdminEnable': pethPsePortAdminEnable, 'pethPsePortPowerPairsControlAbility': pethPsePortPowerPairsControlAbility, 'pethPsePortPowerPairs': pethPsePortPowerPairs, 'pethPsePortDetectionStatus': pethPsePortDetectionStatus, 'pethPsePortPowerPriority': pethPsePortPowerPriority, 'pethPsePortMPSAbsentCounter': pethPsePortMPSAbsentCounter, 'pethPsePortType': pethPsePortType, 'pethPsePortPowerClassifications': pethPsePortPowerClassifications, 'pethPsePortInvalidSignatureCounter': pethPsePortInvalidSignatureCounter, 'pethPsePortPowerDeniedCounter': pethPsePortPowerDeniedCounter, 'pethPsePortOverLoadCounter': pethPsePortOverLoadCounter, 'pethPsePortShortCounter': pethPsePortShortCounter}


class pethMainPseEntry(RowObject):
	status = 1
	index = pycopia.SMI.Objects.IndexObjects([pethMainPseGroupIndex], False)
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 3, 1, 1])
	access = 2
	columns = {'pethMainPseGroupIndex': pethMainPseGroupIndex, 'pethMainPsePower': pethMainPsePower, 'pethMainPseOperStatus': pethMainPseOperStatus, 'pethMainPseConsumptionPower': pethMainPseConsumptionPower, 'pethMainPseUsageThreshold': pethMainPseUsageThreshold}


class pethNotificationControlEntry(RowObject):
	status = 1
	index = pycopia.SMI.Objects.IndexObjects([pethNotificationControlGroupIndex], False)
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 1, 4, 1, 1])
	access = 2
	columns = {'pethNotificationControlGroupIndex': pethNotificationControlGroupIndex, 'pethNotificationControlEnable': pethNotificationControlEnable}


# notifications (traps) 
class pethPsePortOnOffNotification(NotificationObject):
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 0, 1])

class pethMainPowerUsageOnNotification(NotificationObject):
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 0, 2])

class pethMainPowerUsageOffNotification(NotificationObject):
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 0, 3])

# groups 
class pethPsePortGroup(GroupObject):
	access = 2
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 2, 2, 1])
	group = [pethPsePortAdminEnable, pethPsePortPowerPairsControlAbility, pethPsePortPowerPairs, pethPsePortDetectionStatus, pethPsePortPowerPriority, pethPsePortMPSAbsentCounter, pethPsePortInvalidSignatureCounter, pethPsePortPowerDeniedCounter, pethPsePortOverLoadCounter, pethPsePortShortCounter, pethPsePortType, pethPsePortPowerClassifications]

class pethMainPseGroup(GroupObject):
	access = 2
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 2, 2, 2])
	group = [pethMainPsePower, pethMainPseOperStatus, pethMainPseConsumptionPower, pethMainPseUsageThreshold]

class pethNotificationControlGroup(GroupObject):
	access = 2
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 2, 2, 3])
	group = [pethNotificationControlEnable]

class pethPsePortNotificationGroup(GroupObject):
	access = 2
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 2, 2, 4])
	group = [pethPsePortOnOffNotification]

class pethMainPowerNotificationGroup(GroupObject):
	access = 2
	status = 1
	OID = pycopia.SMI.Basetypes.ObjectIdentifier([1, 3, 6, 1, 2, 1, 105, 2, 2, 5])
	group = [pethMainPowerUsageOnNotification, pethMainPowerUsageOffNotification]

# capabilities 

# special additions

# Add to master OIDMAP.
from pycopia import SMI
SMI.update_oidmap(__name__)
