ENERGY-OBJECT-CONTEXT-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2, Integer32 FROM SNMPv2-SMI -- RFC 2578 TEXTUAL-CONVENTION, MacAddress, TruthValue, RowStatus, StorageType FROM SNMPv2-TC -- RFC 2579 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- RFC 2580 SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- RFC 3411 InetAddressType, InetAddress FROM INET-ADDRESS-MIB -- RFC 4001 entPhysicalIndex FROM ENTITY-MIB -- RFC 6933 UUIDorZero FROM UUID-TC-MIB -- RFC 6933 IANAEnergyRelationship FROM IANA-ENERGY-RELATION-MIB; energyObjectContextMIB MODULE-IDENTITY LAST-UPDATED "201502090000Z" ORGANIZATION "IETF EMAN Working Group" CONTACT-INFO "WG Charter: http://datatracker.ietf.org/wg/eman/charter/ Mailing Lists: General Discussion: eman@ietf.org To Subscribe: https://www.ietf.org/mailman/listinfo/eman Archive: http://www.ietf.org/mail-archive/web/eman Editors: John Parello Cisco Systems, Inc. 3550 Cisco Way San Jose, California 95134 United States Phone: +1 408 525 2339 Email: jparello@cisco.com Benoit Claise Cisco Systems, Inc. De Kleetlaan 6a b1 Degem 1831 Belgium Phone: +32 2 704 5622 Email: bclaise@cisco.com Mouli Chandramouli Cisco Systems, Inc. Sarjapur Outer Ring Road Bangalore 560103 India Phone: +91 80 4429 2409 Email: moulchan@cisco.com" DESCRIPTION "Copyright (c) 2015 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). This MIB is used for describing the identity and the context information of Energy Objects." REVISION "201502090000Z" DESCRIPTION "Initial version, published as RFC 7461." ::= { mib-2 231 } energyObjectContextMIBNotifs OBJECT IDENTIFIER ::= { energyObjectContextMIB 0 } energyObjectContextMIBObjects OBJECT IDENTIFIER ::= { energyObjectContextMIB 1 } energyObjectContextMIBConform OBJECT IDENTIFIER ::= { energyObjectContextMIB 2 } -- Textual Conventions PethPsePortIndexOrZero ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "This textual convention is an extension of the pethPsePortIndex convention, which defines a greater- than-zero value used to identify a power Ethernet Power Sourcing Equipment (PSE) port. This extension permits the additional value of zero. The semantics of the value zero are object-specific and must, therefore, be defined as part of the description of any object that uses this syntax. Examples of the usage of this extension are situations where none or all physical entities need to be referenced." SYNTAX Integer32 (0..2147483647) PethPsePortGroupIndexOrZero ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "This textual convention is an extension of the pethPsePortGroupIndex convention from the Power Over Ethernet MIB in RFC 3621, which defines a greater-than-zero value used to identify the group containing the port to which a power Ethernet PSE is connected. This extension permits the additional value of zero. The semantics of the value zero are object-specific and must, therefore, be defined as part of the description of any object that uses this syntax. Examples of the usage of this extension are situations where none or all physical entities need to be referenced." SYNTAX Integer32 (0..2147483647) LldpPortNumberOrZero ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "This textual convention is an extension of the LldpPortNumber convention specified in the LLDP MIB, which defines a greater than zero value used to uniquely identify each port contained in the chassis (that is known to the LLDP agent) by a port number. This extension permits the additional value of zero. The semantics of the value zero are object-specific and must, therefore, be defined as part of the description of any object that uses this syntax. Examples of the usage of this extension are situations where none or all physical entities need to be referenced." SYNTAX Integer32(0..4096) EnergyObjectKeywordList ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A list of keywords that can be used to group Energy Objects for reporting or searching. If multiple keywords are present, then this string will contain all the keywords separated by the ',' character. All alphanumeric characters and symbols (other than a comma), such as #, (, $, !, and &, are allowed. White spaces before and after the commas are ignored, as well as within a keyword itself. For example, if an Energy Object were to be tagged with the keyword values 'hospitality' and 'guest', then the keyword list will be 'hospitality,guest'." SYNTAX OCTET STRING (SIZE (0..2048)) -- Objects eoTable OBJECT-TYPE SYNTAX SEQUENCE OF EoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists Energy Objects." ::= { energyObjectContextMIBObjects 1 } eoEntry OBJECT-TYPE SYNTAX EoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes the attributes of an Energy Object. Whenever a new Energy Object is added or an existing Energy Object is deleted, a row in the eoTable is added or deleted." INDEX {entPhysicalIndex } ::= { eoTable 1 } EoEntry ::= SEQUENCE { eoEthPortIndex PethPsePortIndexOrZero, eoEthPortGrpIndex PethPsePortGroupIndexOrZero, eoLldpPortNumber LldpPortNumberOrZero, eoMgmtMacAddress MacAddress, eoMgmtAddressType InetAddressType, eoMgmtAddress InetAddress, eoMgmtDNSName OCTET STRING, eoDomainName SnmpAdminString, eoRoleDescription SnmpAdminString, eoKeywords EnergyObjectKeywordList, eoImportance Integer32, eoPowerCategory INTEGER, eoAlternateKey SnmpAdminString, eoPowerInterfaceType INTEGER } eoEthPortIndex OBJECT-TYPE SYNTAX PethPsePortIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This variable uniquely identifies the power Ethernet port to which a Power over Ethernet device is connected. If the Power over Ethernet MIB in RFC 3621 is supported by the SNMP agent managing the Energy Object, then the Energy Object eoethPortIndex MUST contain the corresponding value of pethPsePortIndex. If such a power Ethernet port cannot be specified or is not known, then the object is zero." REFERENCE "RFC 3621: Power Ethernet MIB" DEFVAL { 0 } ::= { eoEntry 1 } eoEthPortGrpIndex OBJECT-TYPE SYNTAX PethPsePortGroupIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This variable uniquely identifies the group containing the port to which a power over Ethernet device PSE is connected (RFC 3621). If the Power over Ethernet MIB (RFC 3621) is supported by the SNMP agent managing the Energy Object, then the Energy Object eoEthPortGrpIndex MUST contain the corresponding value of eoethPortGrpIndex. If such a power Ethernet port cannot be specified or is not known, then the object is zero." REFERENCE "RFC 3621: Power Ethernet MIB" DEFVAL { 0 } ::= { eoEntry 2 } eoLldpPortNumber OBJECT-TYPE SYNTAX LldpPortNumberOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This variable uniquely identifies the port component (contained in the local chassis with the LLDP agent) as defined by the lldpLocPortNum in the LLDP-MIB and LLDP-MED-MIB. If the LLDP-MIB is supported by the SNMP agent managing the Energy Object, then the Energy Object eoLldpPortNumber MUST contain the corresponding value of lldpLocPortNum from the LLDP-MIB. If such a port number cannot be specified or is not known, then the object is zero." REFERENCE "LLDP MIB, IEEE 802.1AB-2005; LLDP-MED-MIB, ANSI/TIA-1057" DEFVAL { 0 } ::= { eoEntry 3 } eoMgmtMacAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies a Media Access Control (MAC) address of the Energy Object." ::= { eoEntry 4 } eoMgmtAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the eoMgmtAddress type, i.e., an IPv4 or IPv6 address. This object MUST be populated when eoMgmtAddress is populated." ::= { eoEntry 5 } eoMgmtAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the management address as an IPv4 address or IPv6 address of Energy Object. The IP address type, i.e. IPv4 or IPv6, is determined by the eoMgmtAddressType value. This object can be used as an alternate key to help link the Energy Object with other keyed information that may be stored within the EnMS(s)." ::= { eoEntry 6 } eoMgmtDNSName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies a DNS name of the eoMgmtAddress. This object can be used as an alternate key to help link the Energy Object with other keyed information that may be stored within the EnMS(s). A DNS Name must always be a fully qualified name. This MIB uses the same encoding as the DNS protocol." REFERENCE "RFC 1034: Domain names - concepts and facilities, Section 3.1." ::= { eoEntry 7 } eoDomainName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the name of an Energy Management Domain for the Energy Object. By default, this object should be an empty string. The value of eoDomainName must remain constant at least from one re-initialization of the entity local management system to the next re- initialization." ::= { eoEntry 8 } eoRoleDescription OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies an administratively assigned name to indicate the purpose an Energy Object serves in the network. For example, we can have a phone deployed to a lobby with eoRoleDescription as 'Lobby phone'. This object specifies that the value is the zero-length string value if no role description is configured. The value of eoRoleDescription must remain constant at least from one re-initialization of the entity local management system to the next re-initialization." ::= { eoEntry 9 } eoKeywords OBJECT-TYPE SYNTAX EnergyObjectKeywordList MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies a list of keywords that can be used to group Energy Objects for reporting or searching. The value is the zero-length string if no keywords have been configured. If multiple keywords are present, then this string will contain all the keywords separated by the ',' character. For example, if an Energy Object were to be tagged with the keyword values 'hospitality' and 'guest', then the keyword list will be 'hospitality,guest'. If write access is implemented and a value is written into the instance, the agent must retain the supplied value in the eoKeywords instance associated with the same physical entity for as long as that entity remains instantiated. This includes instantiations across all re-initializations/reboots of the local management agent." ::= { eoEntry 10 } eoImportance OBJECT-TYPE SYNTAX Integer32 (1..100) MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies a ranking of how important the Energy Object is (on a scale of 1 to 100) compared with other Energy Objects in the same Energy Management Domain. The ranking should provide a business or operational context for the Energy Object as compared to other similar Energy Objects. This ranking could be used as input for policy-based network management. Although network managers must establish their own ranking, the following is a broad recommendation: 90 to 100 Emergency response 80 to 89 Executive or business critical 70 to 79 General or average 60 to 69 Staff or support 40 to 59 Public or guest 1 to 39 Decorative or hospitality The value of eoImportance must remain constant at least from one re-initialization of the Energy Object local management system to the next re-initialization." DEFVAL { 1 } ::= { eoEntry 11 } eoPowerCategory OBJECT-TYPE SYNTAX INTEGER { consumer(0), producer(1), meter(2), distributor(3), store(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object describes the Energy Object category, which indicates the expected behavior or physical property of the Energy Object, based on its design. An Energy Object can be a consumer(0), producer(1), meter(2), distributor(3), or store(4). In some cases, a meter is required to measure the power consumption. In such a case, this meter Energy Object category is meter(2). If a device is distributing electric Energy, the category of the Energy Object is distributor (3). If a device is storing electric Energy, the category of the device can be store (4)." ::= { eoEntry 12 } eoAlternateKey OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "The eoAlternateKey object specifies an alternate key string that can be used to identify the Energy Object. Since Energy Management Systems (EnMS) and Network Management Systems (NMSs) may need to correlate objects across management systems, this alternate key is provided to provide such a link. This optional value is intended as a foreign key or alternate identifier for a manufacturer or EnMS/NMS to use to correlate the unique Energy Object Id in other systems or namespaces. If an alternate key is not available or is not applicable, then the value is the zero-length string. The value of eoAlternateKey must remain constant at least from one re-initialization of the entity local management system to the next re-initialization." ::= { eoEntry 13 } eoPowerInterfaceType OBJECT-TYPE SYNTAX INTEGER { inlet(0), outlet(1), both(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object describes the Power Interface for an Energy Object. A Power Interface is an interface at which an Energy Object is connected to a power transmission medium, at which it can in turn receive power, provide power, or both. A Power Interface type can be an inlet(0), an outlet(1), or both(2), respectively." ::= { eoEntry 14 } eoRelationTable OBJECT-TYPE SYNTAX SEQUENCE OF EoRelationEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table describes the relationships between Energy Objects." ::= { energyObjectContextMIBObjects 2 } eoRelationEntry OBJECT-TYPE SYNTAX EoRelationEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table specifies the Energy relationship between Energy objects. Energy relations between two Energy objects are defined in RFC 7326." REFERENCE " RFC 7326: Energy Management Framework" INDEX { entPhysicalIndex, eoRelationIndex } ::= { eoRelationTable 1 } EoRelationEntry ::= SEQUENCE { eoRelationIndex Integer32, eoRelationID UUIDorZero, eoRelationship IANAEnergyRelationship, eoRelationStatus RowStatus, eoRelationStorageType StorageType } eoRelationIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object is an arbitrary index to identify the Energy Object related to another Energy Object." ::= { eoRelationEntry 1 } eoRelationID OBJECT-TYPE SYNTAX UUIDorZero MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the Universally Unique Identifier (UUID) of the peer (other) Energy Object. The UUID must comply with the specifications of UUID in UUID-TC-MIB. If the UUID of the Energy Object is unknown or nonexistent, the eoRelationID will be set to a zero-length string instead. It is preferable that the value of entPhysicalUUID from ENTITY-MIB is used for values for this object." REFERENCE "RFC 6933: Entity MIB (Version 4)" ::= { eoRelationEntry 2 } eoRelationship OBJECT-TYPE SYNTAX IANAEnergyRelationship MAX-ACCESS read-create STATUS current DESCRIPTION "This object describes the relations between Energy Objects. For each Energy Object, the relations between the other Energy Objects are specified using the bitmap." ::= { eoRelationEntry 3 } eoRelationStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status controls and reflects the creation and activation status of a row in this table to specify energy relationship between Energy Objects. An entry status may not be active(1) unless all objects in the entry have the appropriate values. No attempt to modify a row columnar object instance value in the eoRelationTable should be issued while the value of eoRelationStatus is active(1). The data can be destroyed by setting up the eoRelationStatus to destroy(2)." ::= { eoRelationEntry 4 } eoRelationStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this row." DEFVAL { nonVolatile } ::= {eoRelationEntry 5 } -- Conformance energyObjectContextMIBCompliances OBJECT IDENTIFIER ::= { energyObjectContextMIBConform 1 } energyObjectContextMIBGroups OBJECT IDENTIFIER ::= { energyObjectContextMIBConform 2 } energyObjectContextMIBFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "When this MIB is implemented with support for read-write, then such an implementation can claim full compliance. Such devices can then be both monitored and configured with this MIB. Module Compliance of ENTITY-MIB with respect to entity4CRCompliance MUST be supported." MODULE -- this module MANDATORY-GROUPS { energyObjectContextMIBTableGroup, energyObjectRelationTableGroup } GROUP energyObjectOptionalMIBTableGroup DESCRIPTION "A compliant implementation does not have to implement." ::= { energyObjectContextMIBCompliances 1 } energyObjectContextMIBReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "When this MIB is implemented without support for read-write (i.e., in read-only mode), then such an implementation can claim read-only compliance. Such a device can then be monitored but cannot be configured with this MIB. Module Compliance of ENTITY-MIB with respect to entity4CRCompliance MUST be supported." MODULE -- this module MANDATORY-GROUPS { energyObjectContextMIBTableGroup, energyObjectRelationTableGroup } GROUP energyObjectOptionalMIBTableGroup DESCRIPTION "A compliant implementation does not have to implement the managed objects in this GROUP." ::= { energyObjectContextMIBCompliances 2 } -- Units of Conformance energyObjectContextMIBTableGroup OBJECT-GROUP OBJECTS { eoDomainName, eoRoleDescription, eoAlternateKey, eoKeywords, eoImportance, eoPowerCategory, eoPowerInterfaceType } STATUS current DESCRIPTION "This group contains the collection of all the objects related to the EnergyObject." ::= { energyObjectContextMIBGroups 1 } energyObjectOptionalMIBTableGroup OBJECT-GROUP OBJECTS { eoEthPortIndex, eoEthPortGrpIndex, eoLldpPortNumber, eoMgmtMacAddress, eoMgmtAddressType, eoMgmtAddress, eoMgmtDNSName } STATUS current DESCRIPTION "This group contains the collection of all the objects related to the Energy Object." ::= { energyObjectContextMIBGroups 2 } energyObjectRelationTableGroup OBJECT-GROUP OBJECTS { eoRelationID, eoRelationship, eoRelationStatus, eoRelationStorageType } STATUS current DESCRIPTION "This group contains the collection of all objects specifying the relationship between Energy Objects." ::= { energyObjectContextMIBGroups 3 } END