# PySNMP SMI module. Autogenerated from smidump -f python BLDG-HVAC-MIB
# by libsmi2pysnmp-0.0.8-alpha at Tue Feb  5 21:05:00 2008,
# Python version (2, 4, 4, 'final', 0)

# Imported just in case new ASN.1 types would be created
from pyasn1.type import constraint, namedval

# Imports

( Integer, ObjectIdentifier, OctetString, ) = mibBuilder.importSymbols("ASN1", "Integer", "ObjectIdentifier", "OctetString")
( SnmpAdminString, ) = mibBuilder.importSymbols("SNMP-FRAMEWORK-MIB", "SnmpAdminString")
( ModuleCompliance, ObjectGroup, ) = mibBuilder.importSymbols("SNMPv2-CONF", "ModuleCompliance", "ObjectGroup")
( Bits, Counter32, Gauge32, Integer32, ModuleIdentity, MibIdentifier, MibScalar, MibTable, MibTableRow, MibTableColumn, TimeTicks, Unsigned32, experimental, ) = mibBuilder.importSymbols("SNMPv2-SMI", "Bits", "Counter32", "Gauge32", "Integer32", "ModuleIdentity", "MibIdentifier", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "TimeTicks", "Unsigned32", "experimental")
( RowStatus, StorageType, TextualConvention, TimeStamp, ) = mibBuilder.importSymbols("SNMPv2-TC", "RowStatus", "StorageType", "TextualConvention", "TimeStamp")

# Types

class BldgHvacOperation(Integer):
    subtypeSpec = Integer.subtypeSpec+constraint.SingleValueConstraint(1,2,)
    namedValues = namedval.NamedValues(("heat", 1), ("cool", 2), )
    pass


# Objects

bldgHVACMIB = ModuleIdentity((1, 3, 6, 1, 3, 122)).setRevisions(("2003-03-27 00:00",))
if mibBuilder.loadTexts: bldgHVACMIB.setOrganization("SNMPCONF working group\nE-mail: snmpconf@snmp.com")
if mibBuilder.loadTexts: bldgHVACMIB.setContactInfo("Jon Saperia\nPostal:     JDS Consulting\n            174 Chapman Street\n            Watertown, MA 02472\n            U.S.A.\nPhone:      +1 617 744 1079\nE-mail:     saperia@jdscons.com\n\nWayne Tackabury\nPostal:     Gold Wire Technology\n            411 Waverley Oaks Rd.\n            Waltham, MA 02452\n            U.S.A.\nPhone:      +1 781 398 8800\nE-mail:     wayne@goldwiretech.com\n\n\n\nMichael MacFaden\nPostal:     Riverstone Networks\n            5200 Great America Pkwy.\n            Santa Clara, CA 95054\n            U.S.A.\nPhone:      +1 408 878 6500\nE-mail:     mrm@riverstonenet.com\n\nDavid Partain\nPostal:     Ericsson AB\n            P.O. Box 1248\n            SE-581 12  Linkoping\n            Sweden\nE-mail:     David.Partain@ericsson.com")
if mibBuilder.loadTexts: bldgHVACMIB.setDescription("This example MIB module defines a set of management objects\nfor heating ventilation and air conditioning systems.  It\nalso includes objects that can be used to create policies\nthat are applied to rooms.  This eliminates the need to send\nper-instance configuration commands to the system.\n\nCopyright (C) The Internet Society (2003).  This version of\nthis MIB module is part of RFC 3512; see the RFC itself for\nfull legal notices.")
bldgHVACObjects = MibIdentifier((1, 3, 6, 1, 3, 122, 1))
bldgHVACTable = MibTable((1, 3, 6, 1, 3, 122, 1, 1))
if mibBuilder.loadTexts: bldgHVACTable.setDescription("This table is the representation and data control\nfor building HVAC by each individual office.\nThe table has rows for, and is indexed by a specific\nfloor and office number.  Each such row includes\nHVAC statistical and current status information for\nthe associated office.  The row also contains a\nbldgHVACCfgTemplate columnar object that relates the\nbldgHVACTable row to a row in the bldgHVACCfgTemplateTable.\nIf this value is nonzero, then the instance in the row\nthat has a value for how the HVAC has been configured\nin the associated template (bldgHVACCfgTeplateTable row).\nHence, the bldgHVACCfgTeplateTable row contains the\nspecific configuration values for the offices as described\nin this table.")
bldgHVACEntry = MibTableRow((1, 3, 6, 1, 3, 122, 1, 1, 1)).setIndexNames((0, "BLDG-HVAC-MIB", "bldgHVACFloor"), (0, "BLDG-HVAC-MIB", "bldgHVACOffice"))
if mibBuilder.loadTexts: bldgHVACEntry.setDescription("A row in the bldgHVACTable.  Each row represents a particular\noffice in the building, qualified by its floor and office\nnumber.  A given row instance can be created or deleted by\nset operations  upon its bldgHVACStatus columnar\nobject instance.")
bldgHVACFloor = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 1, 1, 1), Unsigned32().subtype(subtypeSpec=constraint.ValueRangeConstraint(1, 1000))).setMaxAccess("noaccess")
if mibBuilder.loadTexts: bldgHVACFloor.setDescription("This portion of the index indicates the floor of the\nbuilding.  The ground floor is considered the\nfirst floor.  For the purposes of this example,\nfloors under the ground floor cannot be\ncontrolled using this MIB module.")
bldgHVACOffice = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 1, 1, 2), Unsigned32().subtype(subtypeSpec=constraint.ValueRangeConstraint(1, 2147483647L))).setMaxAccess("noaccess")
if mibBuilder.loadTexts: bldgHVACOffice.setDescription("This second component of the index specifies the\noffice number.")
bldgHVACCfgTemplate = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 1, 1, 3), Unsigned32()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplate.setDescription("The index (bldgHVACCfgTemplateIndex instance)\nof an entry in the 'bldgHVACCfgTemplateTable'.\nThe bldgHVACCfgTable row instance referenced\nis a pre-made configuration 'template'\nthat represents the configuration described\nby the bldgHVACCfgTemplateInfoDescr object.  Note\nthat not all configurations will be under a\ndefined template.  As a result, a row in this\nbldgHVACTable may point to an entry in the\nbldgHVACCfgTemplateTable that does not in turn\nhave a reference (bldgHVACCfgTemplateInfo) to an\nentry in the bldgHVACCfgTemplateInfoTable.  The\nbenefit of this approach is that all\nconfiguration information is available in one\ntable whether all elements in the system are\nderived from configured templates or not.\n\nWhere the instance value for this colunmar object\nis zero, this row represents data for an office\nwhose HVAC status can be monitored using the\nread-only columnar object instances of this\nrow, but is not under the configuration control\n\n\n\nof the agent.")
bldgHVACFanSpeed = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 1, 1, 4), Gauge32()).setMaxAccess("readonly")
if mibBuilder.loadTexts: bldgHVACFanSpeed.setDescription("Shows the revolutions per minute of the fan.  Fan speed\nwill vary based on the difference between\nbldgHVACCfgTemplateDesiredTemp and bldgHVACCurrentTemp.  The\nspeed is measured in revolutions of the fan blade per minute.")
bldgHVACCurrentTemp = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 1, 1, 5), Gauge32()).setMaxAccess("readonly")
if mibBuilder.loadTexts: bldgHVACCurrentTemp.setDescription("The current measured temperature in the office.  Should\nthe current temperature be measured at a value of less\nthan zero degrees celsius, a read of the instance\nfor this object will return a value of zero.")
bldgHVACCoolOrHeatMins = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 1, 1, 6), Counter32()).setMaxAccess("readonly")
if mibBuilder.loadTexts: bldgHVACCoolOrHeatMins.setDescription("The total number of heating or cooling minutes that have\nbeen consumed since the row was activated.  Notice that\nwhether the minutes represent heating or cooling is a\nfunction of the configuration of this row.  If the system\nis re-initialized from a cooling to heating function or\nvice versa, then the counter would start over again.  This\neffect is similar to a reconfiguration of some network\ninterface cards.  When parameters that impact\nconfiguration are changed, the subsystem must be\nre-initialized.  Discontinuities in the value of this counter\ncan occur at re-initialization of the management system,\nand at other times as indicated by the value of\nbldgHVACDiscontinuityTime.")
bldgHVACDiscontinuityTime = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 1, 1, 7), TimeStamp()).setMaxAccess("readonly")
if mibBuilder.loadTexts: bldgHVACDiscontinuityTime.setDescription("The value of sysUpTime on the most recent occasion at which\nany heating or cooling operation for the office designated\nby this row instance experienced a discontinuity.  If\nno such discontinuities have occurred since the last re-\ninitialization of the this row, then this object contains a\nzero value.")
bldgHVACOwner = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 1, 1, 8), SnmpAdminString()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACOwner.setDescription("The identity of the operator/system that\nlast modified this entry.  When a new entry\nis created, a valid SnmpAdminString must\nbe supplied.  If, on the other hand, this\nentry is populated by the agent 'discovering'\nunconfigured rooms, the empty string is a valid\nvalue for this object.")
bldgHVACStorageType = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 1, 1, 9), StorageType()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACStorageType.setDescription("The persistence of this row of the table in system storage,\nas it pertains to permanence across system resets.  A columnar\ninstance of this object with value 'permanent' need not allow\nwrite-access to any of the columnar object instances in the\ncontaining row.")
bldgHVACStatus = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 1, 1, 10), RowStatus()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACStatus.setDescription("Controls and reflects the creation and activation status of\na row in this table.\n\nNo attempt to modify a row columnar object instance value in\n\n\n\nthe bldgHVACTable should be issued while the value of\nbldgHVACStatus is active(1).  Should an agent receive a SET\nPDU attempting such a modification in this state, an\ninconsistentValue error should be returned as a result of\nthe SET attempt.")
bldgHVACCfgTemplateInfoTable = MibTable((1, 3, 6, 1, 3, 122, 1, 2))
if mibBuilder.loadTexts: bldgHVACCfgTemplateInfoTable.setDescription("This table provides unique string identification for\nHVAC templates in a network.  If it were necessary to\nconfigure rooms to deliver a particular quality of climate\ncontrol with regard to cooling or heating, the index string\nof a row in this table could be the template name.\nThe bldgHVACCfgCfgTemplateInfoDescription\ncontains a brief description of the template service objective\nsuch as: provides summer cooling settings for executive\noffices.  The bldgHVACCfgTemplateInfo in the\nbldgHVACCfgTemplateTable will contain the pointer to the\nrelevant row in this table if it is intended that items\nthat point to a row in the bldgHVACCfgTemplateInfoTable be\nidentifiable as being under template control though this\nmechanism.")
bldgHVACCfgTemplateInfoEntry = MibTableRow((1, 3, 6, 1, 3, 122, 1, 2, 1)).setIndexNames((0, "BLDG-HVAC-MIB", "bldgHVACCfgTemplateInfoIndex"))
if mibBuilder.loadTexts: bldgHVACCfgTemplateInfoEntry.setDescription("Each row represents a particular template and\ndescription.  A given row instance can be created or\ndeleted by set operations upon its\nbldgHVACCfgTemplateInfoStatus columnar object\ninstance.")
bldgHVACCfgTemplateInfoIndex = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 2, 1, 1), Unsigned32().subtype(subtypeSpec=constraint.ValueRangeConstraint(1, 2147483647L))).setMaxAccess("noaccess")
if mibBuilder.loadTexts: bldgHVACCfgTemplateInfoIndex.setDescription("The unique index to a row in this table.")
bldgHVACCfgTemplateInfoID = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 2, 1, 2), SnmpAdminString()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateInfoID.setDescription("Textual identifier for this table row, and, consequently\nthe template.  This should be a unique name within\nan administrative domain for a particular template so that\nall systems in a network that are under the same template\ncan have the same 'handle' (e.g., 'Executive Offices',\n'Lobby Areas').")
bldgHVACCfgTemplateInfoDescr = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 2, 1, 3), SnmpAdminString()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateInfoDescr.setDescription("A general description of the template.  One example might\nbe - Controls the cooling for offices on higher floors\nduring the summer.")
bldgHVACCfgTemplateInfoOwner = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 2, 1, 4), SnmpAdminString()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateInfoOwner.setDescription("The identity of the operator/system that last modified\nthis entry.")
bldgHVACCfgTemplateInfoStatus = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 2, 1, 5), RowStatus()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateInfoStatus.setDescription("The activation status of this row.\n\nNo attempt to modify a row columnar object instance value in\nthe bldgHVACCfgTemplateInfo Table should be issued while the\nvalue of bldgHVACCfgTemplateInfoStatus is active(1).\nShould an agent receive a SET PDU attempting such a modification\nin this state, an inconsistentValue error should be returned as\na result of the SET attempt.")
bldgHVACCfgTemplateInfoStorType = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 2, 1, 6), StorageType()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateInfoStorType.setDescription("The persistence of this row of the table in system storage,\nas it pertains to permanence across system resets.  A columnar\ninstance of this object with value 'permanent' need not allow\nwrite-access to any of the columnar object instances in the\ncontaining row.")
bldgHVACCfgTemplateTable = MibTable((1, 3, 6, 1, 3, 122, 1, 3))
if mibBuilder.loadTexts: bldgHVACCfgTemplateTable.setDescription("This table contains the templates, which\ncan be used to set defaults that will\nbe applied to specific offices.  The application\nof those values is accomplished by having a row\ninstance of the bldgHVACTable reference a row of\nthis table (by the value of the former's\nbldgHVACCfgTemplate columnar instance).  Identifying\ninformation concerning a row instance of this table\ncan be found in the columnar data of the row instance\nof the bldgHVACCfgTemplateInfoTable entry referenced\nby the bldgHVACCfgTemplateInfo columnar object of\nthis table.")
bldgHVACCfgTemplateEntry = MibTableRow((1, 3, 6, 1, 3, 122, 1, 3, 1)).setIndexNames((0, "BLDG-HVAC-MIB", "bldgHVACCfgTemplateIndex"))
if mibBuilder.loadTexts: bldgHVACCfgTemplateEntry.setDescription("Each row represents a single set of template parameters\nthat can be applied to selected instances - in this case\noffices.  These policies will be turned on and off by the\npolicy module through its scheduling facilities.\n\nA given row instance can be created or\ndeleted by set operations upon its\nbldgHVACCfgTemplateStatus columnar object instance.")
bldgHVACCfgTemplateIndex = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 3, 1, 1), Unsigned32().subtype(subtypeSpec=constraint.ValueRangeConstraint(1, 2147483647L))).setMaxAccess("noaccess")
if mibBuilder.loadTexts: bldgHVACCfgTemplateIndex.setDescription("A unique value for each defined template in this\ntable.  This value can be referenced as a row index\nby any MIB module that needs access to this information.\nThe bldgHVACCfgTemplate will point to entries in this\ntable.")
bldgHVACCfgTemplateDesiredTemp = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 3, 1, 2), Gauge32()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateDesiredTemp.setDescription("This is the desired temperature setting.  It might be\nchanged at different times of the day or based on\nseasonal conditions.  It is permitted to change this value\nby first moving the row to an inactive state, making the\n\n\n\nchange and then reactivating the row.")
bldgHVACCfgTemplateCoolOrHeat = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 3, 1, 3), BldgHvacOperation()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateCoolOrHeat.setDescription("This controls the heating and cooling mechanism and is\nset-able by building maintenance.  It is permitted to\nchange this value by first moving the row to an inactive\nstate, making the change and then reactivating the row.")
bldgHVACCfgTemplateInfo = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 3, 1, 4), Unsigned32()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateInfo.setDescription("This object points to a row in the\nbldgHVACCfgTemplateInfoTable.  This controls the\nheating and cooling mechanism and is set-able by\nbuilding maintenance.  It is permissible to change\nthis value by first moving the row to an inactive\nstate, making the change and then reactivating\nthe row.  A value of zero means that this entry\nis not associated with a named template found\nin the bldgHVACCfgTemplateInfoTable.")
bldgHVACCfgTemplateOwner = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 3, 1, 5), SnmpAdminString()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateOwner.setDescription("The identity of the administrative entity\nthat created this row of the table.")
bldgHVACCfgTemplateStorage = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 3, 1, 6), StorageType()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateStorage.setDescription("The persistence of this row of the table across\nsystem resets.  A columnar instance of this object with\nvalue 'permanent' need not allow write-access to any\nof the columnar object instances in the containing row.")
bldgHVACCfgTemplateStatus = MibTableColumn((1, 3, 6, 1, 3, 122, 1, 3, 1, 7), RowStatus()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: bldgHVACCfgTemplateStatus.setDescription("The activation status of this row of the table.\n\nNo attempt to modify a row columnar object instance value in\nthe bldgHVACCfgTemplateTable should be issued while the\nvalue of bldgHVACCfgTemplateStatus is active(1).\nShould an agent receive a SET PDU attempting such a modification\nin this state, an inconsistentValue error should be returned as\na result of the SET attempt.")
bldgConformance = MibIdentifier((1, 3, 6, 1, 3, 122, 2))
bldgCompliances = MibIdentifier((1, 3, 6, 1, 3, 122, 2, 1))
bldgGroups = MibIdentifier((1, 3, 6, 1, 3, 122, 2, 2))

# Augmentions

# Groups

bldgHVACObjectsGroup = ObjectGroup((1, 3, 6, 1, 3, 122, 2, 2, 1)).setObjects(("BLDG-HVAC-MIB", "bldgHVACDiscontinuityTime"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateStatus"), ("BLDG-HVAC-MIB", "bldgHVACCurrentTemp"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateStorage"), ("BLDG-HVAC-MIB", "bldgHVACOwner"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateInfoStorType"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateInfoStatus"), ("BLDG-HVAC-MIB", "bldgHVACFanSpeed"), ("BLDG-HVAC-MIB", "bldgHVACCoolOrHeatMins"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplate"), ("BLDG-HVAC-MIB", "bldgHVACStatus"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateCoolOrHeat"), ("BLDG-HVAC-MIB", "bldgHVACStorageType"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateInfoOwner"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateInfo"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateDesiredTemp"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateInfoDescr"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateInfoID"), ("BLDG-HVAC-MIB", "bldgHVACCfgTemplateOwner"), )

# Exports

# Module identity
mibBuilder.exportSymbols("BLDG-HVAC-MIB", PYSNMP_MODULE_ID=bldgHVACMIB)

# Types
mibBuilder.exportSymbols("BLDG-HVAC-MIB", BldgHvacOperation=BldgHvacOperation)

# Objects
mibBuilder.exportSymbols("BLDG-HVAC-MIB", bldgHVACMIB=bldgHVACMIB, bldgHVACObjects=bldgHVACObjects, bldgHVACTable=bldgHVACTable, bldgHVACEntry=bldgHVACEntry, bldgHVACFloor=bldgHVACFloor, bldgHVACOffice=bldgHVACOffice, bldgHVACCfgTemplate=bldgHVACCfgTemplate, bldgHVACFanSpeed=bldgHVACFanSpeed, bldgHVACCurrentTemp=bldgHVACCurrentTemp, bldgHVACCoolOrHeatMins=bldgHVACCoolOrHeatMins, bldgHVACDiscontinuityTime=bldgHVACDiscontinuityTime, bldgHVACOwner=bldgHVACOwner, bldgHVACStorageType=bldgHVACStorageType, bldgHVACStatus=bldgHVACStatus, bldgHVACCfgTemplateInfoTable=bldgHVACCfgTemplateInfoTable, bldgHVACCfgTemplateInfoEntry=bldgHVACCfgTemplateInfoEntry, bldgHVACCfgTemplateInfoIndex=bldgHVACCfgTemplateInfoIndex, bldgHVACCfgTemplateInfoID=bldgHVACCfgTemplateInfoID, bldgHVACCfgTemplateInfoDescr=bldgHVACCfgTemplateInfoDescr, bldgHVACCfgTemplateInfoOwner=bldgHVACCfgTemplateInfoOwner, bldgHVACCfgTemplateInfoStatus=bldgHVACCfgTemplateInfoStatus, bldgHVACCfgTemplateInfoStorType=bldgHVACCfgTemplateInfoStorType, bldgHVACCfgTemplateTable=bldgHVACCfgTemplateTable, bldgHVACCfgTemplateEntry=bldgHVACCfgTemplateEntry, bldgHVACCfgTemplateIndex=bldgHVACCfgTemplateIndex, bldgHVACCfgTemplateDesiredTemp=bldgHVACCfgTemplateDesiredTemp, bldgHVACCfgTemplateCoolOrHeat=bldgHVACCfgTemplateCoolOrHeat, bldgHVACCfgTemplateInfo=bldgHVACCfgTemplateInfo, bldgHVACCfgTemplateOwner=bldgHVACCfgTemplateOwner, bldgHVACCfgTemplateStorage=bldgHVACCfgTemplateStorage, bldgHVACCfgTemplateStatus=bldgHVACCfgTemplateStatus, bldgConformance=bldgConformance, bldgCompliances=bldgCompliances, bldgGroups=bldgGroups)

# Groups
mibBuilder.exportSymbols("BLDG-HVAC-MIB", bldgHVACObjectsGroup=bldgHVACObjectsGroup)
