text: #
  # PySNMP MIB module CISCO-PORT-SECURITY-MIB (http://snmplabs.com/pysmi)
  # ASN.1 source file:///Users/davwang4/Dev/mibs.snmplabs.com/asn1/CISCO-PORT-SECURITY-MIB
  # Produced by pysmi-0.3.4 at Wed May  1 12:09:47 2019
  # On host DAVWANG4-M-1475 platform Darwin version 18.5.0 by user davwang4
  # Using Python version 3.7.3 (default, Mar 27 2019, 09:23:15) 
  #
  OctetString, Integer, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "OctetString", "Integer", "ObjectIdentifier")
  NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
  SingleValueConstraint, ValueSizeConstraint, ConstraintsIntersection, ValueRangeConstraint, ConstraintsUnion = mibBuilder.importSymbols("ASN1-REFINEMENT", "SingleValueConstraint", "ValueSizeConstraint", "ConstraintsIntersection", "ValueRangeConstraint", "ConstraintsUnion")
  ciscoMgmt, = mibBuilder.importSymbols("CISCO-SMI", "ciscoMgmt")
  vtpVlanName, = mibBuilder.importSymbols("CISCO-VTP-MIB", "vtpVlanName")
  ifIndex, ifName = mibBuilder.importSymbols("IF-MIB", "ifIndex", "ifName")
  VlanIndex, = mibBuilder.importSymbols("Q-BRIDGE-MIB", "VlanIndex")
  ObjectGroup, NotificationGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "ObjectGroup", "NotificationGroup", "ModuleCompliance")
  Counter32, Unsigned32, iso, ObjectIdentity, Bits, MibScalar, MibTable, MibTableRow, MibTableColumn, ModuleIdentity, TimeTicks, IpAddress, Counter64, Gauge32, NotificationType, MibIdentifier, Integer32 = mibBuilder.importSymbols("SNMPv2-SMI", "Counter32", "Unsigned32", "iso", "ObjectIdentity", "Bits", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "ModuleIdentity", "TimeTicks", "IpAddress", "Counter64", "Gauge32", "NotificationType", "MibIdentifier", "Integer32")
  MacAddress, TextualConvention, TruthValue, DisplayString, RowStatus = mibBuilder.importSymbols("SNMPv2-TC", "MacAddress", "TextualConvention", "TruthValue", "DisplayString", "RowStatus")
  ciscoPortSecurityMIB = ModuleIdentity((1, 3, 6, 1, 4, 1, 9, 9, 315))
  ciscoPortSecurityMIB.setRevisions(('2009-05-08 00:00', '2005-05-04 00:00', '2005-03-12 00:00', '2004-08-07 00:00', '2004-03-08 00:00', '2004-02-10 00:00', '2003-07-01 00:00', '2003-02-24 00:00',))
  
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      if mibBuilder.loadTexts: ciscoPortSecurityMIB.setRevisionsDescriptions(('Update description of cpsIfMaxSecureMacAddr object.', 'Obsolete cpsIfVlanTable and replace it with cpsIfMultiVlanTable. Add cpsExtInterfaceGroup1 and cpsIfVlanSecureNotificationGroup.', 'Change description in cpsIfSecureLastMacAddress.', 'Added cpsTrunkSecureMacAddrViolation. Expanded on the description of cpsSecureMacAddrViolation. Created the NOTIFICATION-GROUP cpsTrunkSecureNotificationGroup.', 'Adding cpsGlobalClearSecureMacAddresses, cpsIfClearSecureMacAddresses, cpsIfInvalidSrcRateLimitEnable, cpsIfInvalidSrcRateLimitValue cpsIfStickyEnable, cpsIfVlanTable, cpsInterfaceGroup2, ciscoPortSecurityMIBCompliance2 and cpsInterfaceGroup2. Deprecating cpsIfClearSecureAddresses, ciscoPortSecurityMIBCompliance1 and cpsInterfaceGroup1.', 'Deprecated cpsSecureMacAddressTable. Adding cpsIfVlanSecureMacAddrTable.', 'Deprecated the ciscoPortSecurityMIBCompliance. Adding ciscoPortSecurityMIBCompliance1. Adding cpsUnicastFloodingInterfaceGroup and cpsShutdownTimeoutInterfaceGroup.', 'Initial version of this MIB module.',))
  if mibBuilder.loadTexts: ciscoPortSecurityMIB.setLastUpdated('200905080000Z')
  if mibBuilder.loadTexts: ciscoPortSecurityMIB.setOrganization('Cisco Systems, Inc.')
  if mibBuilder.loadTexts: ciscoPortSecurityMIB.setContactInfo(' Cisco Systems Customer Services Postal: 170 W Tasman Drive San Jose, CA 95134 USA Tel: +1 800 553-NETS E-mail: cs-lan-switch-snmp@cisco.com')
  if mibBuilder.loadTexts: ciscoPortSecurityMIB.setDescription('The MIB module for managing Cisco Port Security.')
  ciscoPortSecurityMIBNotifs = MibIdentifier((1, 3, 6, 1, 4, 1, 9, 9, 315, 0))
  ciscoPortSecurityMIBObjects = MibIdentifier((1, 3, 6, 1, 4, 1, 9, 9, 315, 1))
  ciscoPortSecurityMIBConform = MibIdentifier((1, 3, 6, 1, 4, 1, 9, 9, 315, 2))
  cpsGlobalObjects = MibIdentifier((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 1))
  cpsInterfaceObjects = MibIdentifier((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2))
  class ClearSecureMacAddrType(TextualConvention, Integer32):
      description = 'This are the different type of secure mac addresses which user is allowed to delete globally or per interface. When the address deletion is in progress GET request will not show any values which were set using SET operation. done(0) - This the value which is always returned in a GET request when the clear command has completed or in progress. Setting this value to this object has no effect. dynamic(1) - All secure MAC addresses which are learned on the switch. static(2) - All secure MAC addresses which are configured by user. sticky(3) - All secure MAC addresses which are learned and retained across reboots. all(4) - All the MAC addresses on the switch.'
      status = 'current'
      subtypeSpec = Integer32.subtypeSpec + ConstraintsUnion(SingleValueConstraint(0, 1, 2, 3, 4))
      namedValues = NamedValues(("done", 0), ("dynamic", 1), ("static", 2), ("sticky", 3), ("all", 4))
  
  cpsGlobalMaxSecureAddress = MibScalar((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 1, 1), Integer32().subtype(subtypeSpec=ValueRangeConstraint(1, 2147483647))).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsGlobalMaxSecureAddress.setStatus('current')
  if mibBuilder.loadTexts: cpsGlobalMaxSecureAddress.setDescription('The maximum number of secure MAC addresses allowed in the device.')
  cpsGlobalTotalSecureAddress = MibScalar((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 1, 2), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 2147483647))).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsGlobalTotalSecureAddress.setStatus('current')
  if mibBuilder.loadTexts: cpsGlobalTotalSecureAddress.setDescription('The total number of MAC addresses secured in the device.')
  cpsGlobalPortSecurityEnable = MibScalar((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 1, 3), TruthValue()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsGlobalPortSecurityEnable.setStatus('current')
  if mibBuilder.loadTexts: cpsGlobalPortSecurityEnable.setDescription('The global control to enable or disable port security feature on the device.')
  cpsGlobalSNMPNotifRate = MibScalar((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 1, 4), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 1000))).setUnits('notifs per second').setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsGlobalSNMPNotifRate.setStatus('current')
  if mibBuilder.loadTexts: cpsGlobalSNMPNotifRate.setDescription("The global control to set the SNMP Notification rate for port security feature. This object specifies the rate at which SNMP Notifications are generated when cpsIfViolationAction selected is of the type 'dropNotify'. A value of 0 indicates that an SNMP Notification is generated for every security violation.")
  cpsGlobalSNMPNotifControl = MibScalar((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 1, 5), TruthValue()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsGlobalSNMPNotifControl.setStatus('current')
  if mibBuilder.loadTexts: cpsGlobalSNMPNotifControl.setDescription("Set to 'true' to enable global SNMP Notification for port security feature. Setting the object to 'false' will disable SNMP notifications even if the cpsIfViolationAction is set to 'dropNotify' on an interface. The default value is 'false'.")
  cpsGlobalClearSecureMacAddresses = MibScalar((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 1, 6), ClearSecureMacAddrType()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsGlobalClearSecureMacAddresses.setStatus('current')
  if mibBuilder.loadTexts: cpsGlobalClearSecureMacAddresses.setDescription('This objects allows the user to delete secure MAC addresses based on the specified type.')
  cpsIfConfigTable = MibTable((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1), )
  if mibBuilder.loadTexts: cpsIfConfigTable.setStatus('current')
  if mibBuilder.loadTexts: cpsIfConfigTable.setDescription('A list of port security configuration entries. The number of entries is determined by the number of interfaces in the system that can support the port security feature. Interfaces that are not port security capable will not be displayed in this Table. This table includes interfaces on which port security parameters can be set even if port security feature itself cannot be enabled due to conflict with other features.')
  cpsIfConfigEntry = MibTableRow((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1), ).setIndexNames((0, "IF-MIB", "ifIndex"))
  if mibBuilder.loadTexts: cpsIfConfigEntry.setStatus('current')
  if mibBuilder.loadTexts: cpsIfConfigEntry.setDescription('Entry containing port security information for a particular interface.')
  cpsIfPortSecurityEnable = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 1), TruthValue()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfPortSecurityEnable.setStatus('current')
  if mibBuilder.loadTexts: cpsIfPortSecurityEnable.setDescription("Indicates whether the port security feature is enabled on an interface. Upon setting this object to 'true', the source MAC address that does not match any cpsSecureMacAddress for the given interface in cpsSecureMacAddressTable and the value of cpsIfCurrentSecureMacAddrCount is equal to cpsIfMaxSecureMacAddr, is considered as port security violation and an action as specified in cpsIfViolationAction is taken on the interface. The value of this object has no effect when the value of cpsGlobalPortSecurityEnable is set to 'false'.")
  cpsIfPortSecurityStatus = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 2), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3))).clone(namedValues=NamedValues(("secureup", 1), ("securedown", 2), ("shutdown", 3)))).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsIfPortSecurityStatus.setStatus('current')
  if mibBuilder.loadTexts: cpsIfPortSecurityStatus.setDescription("This object represents the operational status of the port security feature on an interface. secureup(1) - This indicates port security is operational. securedown(2) - This indicates port security is not operational. This happens when port security is configured to be enabled but could not be enabled due to certain reasons such as conflict with other features. shutdown(3) - This indicates that the port is shutdown due to port security violation when the object cpsIfViolationAction is of type 'shutdown'.")
  cpsIfMaxSecureMacAddr = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 3), Integer32().subtype(subtypeSpec=ValueRangeConstraint(1, 2147483647))).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfMaxSecureMacAddr.setStatus('current')
  if mibBuilder.loadTexts: cpsIfMaxSecureMacAddr.setDescription('The maximum number (N) of MAC addresses to be secured on the interface. The first N MAC addresses learned or configured are made secured. Changing this object value from N to M is not allowed if M is smaller than N, and M is less than the value of cpsIfCurrentSecureMacAddrCount on the interface. One way to change the number in this case is by deleting sufficient number of secure mac addresses configured or learned on the device. Also, some devices may choose to limit the sum of this object value for all interfaces to less than or equal to cpsGlobalMaxSecureAddress.')
  cpsIfCurrentSecureMacAddrCount = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 4), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 2147483647))).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsIfCurrentSecureMacAddrCount.setStatus('current')
  if mibBuilder.loadTexts: cpsIfCurrentSecureMacAddrCount.setDescription('The current number of MAC addresses secured on this interface.')
  cpsIfSecureMacAddrAgingTime = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 5), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 1440))).setUnits('minutes').setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfSecureMacAddrAgingTime.setStatus('current')
  if mibBuilder.loadTexts: cpsIfSecureMacAddrAgingTime.setDescription('The interval in which the interface is secured. After the expiration of the time, the corresponding cpsSecureMacAddressEntry from the cpsSecureMacAddressTable will be removed. If the value of this object is 0, the aging mechanism is disabled.')
  cpsIfSecureMacAddrAgingType = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 6), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2))).clone(namedValues=NamedValues(("absolute", 1), ("inactivity", 2)))).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfSecureMacAddrAgingType.setStatus('current')
  if mibBuilder.loadTexts: cpsIfSecureMacAddrAgingType.setDescription('The aging type determines the way the secure MAC addresses are aged out. absolute(1) - all the secure MAC addresses will be aged out after cpsIfSecureMacAddrAgingTime minutes since the time the secure MAC address is learned or configured. inactivity(2) - all the secure MAC addresses will age out and will be removed from the cpsSecureMacAddressTable only if there is no data traffic from the secure source MAC address for the specified time period.')
  cpsIfStaticMacAddrAgingEnable = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 7), TruthValue()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfStaticMacAddrAgingEnable.setStatus('current')
  if mibBuilder.loadTexts: cpsIfStaticMacAddrAgingEnable.setDescription("Indicates whether the secure MAC address aging mechanism is enabled on static MAC address entries in cpsSecureMacAddressTable. Setting this object value to 'false' will cause the static MAC addresses to remain in the cpsSecureMacAddressTable regardless of the aging time and type configured on the interface. Setting this object value to 'true' will cause the static MAC addresses to be aged out from cpsSecureMacAddressTable according to the aging time and type specified on the interface.")
  cpsIfViolationAction = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 8), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3))).clone(namedValues=NamedValues(("shutdown", 1), ("dropNotify", 2), ("drop", 3)))).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfViolationAction.setStatus('current')
  if mibBuilder.loadTexts: cpsIfViolationAction.setDescription('Determines the action that the device will take if the traffic matches the port security violation. shutdown(1) - the interface will be forced to shut down. dropNotify(2) - the matched traffic will be dropped and cpsSecureMacAddrViolation notification will be generated. drop(3) - the matched traffic will be dropped.')
  cpsIfViolationCount = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 9), Counter32()).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsIfViolationCount.setStatus('current')
  if mibBuilder.loadTexts: cpsIfViolationCount.setDescription('This object indicates the number of violations occurred on a secure interface. The counter will be initialized to zero when the port security feature is enabled on an interface. This MIB object is only instantiated if the device can provide this violation statistics on the interface.')
  cpsIfSecureLastMacAddress = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 10), MacAddress()).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsIfSecureLastMacAddress.setStatus('current')
  if mibBuilder.loadTexts: cpsIfSecureLastMacAddress.setDescription('This object indicates the last MAC address that is seen on this interface. This object is also used as a variable in the cpsSecureMacAddrViolation notification to contain the value of the MAC address which caused the violation.')
  cpsIfClearSecureAddresses = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 11), TruthValue()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfClearSecureAddresses.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsIfClearSecureAddresses.setDescription("Set to 'true' to delete all secure addresses on this interface. Setting this object to 'false' has no effect. This object always returns 'false' when read.")
  cpsIfUnicastFloodingEnable = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 12), TruthValue()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfUnicastFloodingEnable.setStatus('current')
  if mibBuilder.loadTexts: cpsIfUnicastFloodingEnable.setDescription('Setting this object to true(1) will configure the interface not to block unicast flooded traffic when the secure address count reaches the threshold. Setting this object to false(2) will configure the interface to block unicast flooded traffic when the secure address count reaches the threshold.')
  cpsIfShutdownTimeout = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 13), Unsigned32()).setUnits('minutes').setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfShutdownTimeout.setStatus('current')
  if mibBuilder.loadTexts: cpsIfShutdownTimeout.setDescription('The interval in which the cpsIfPortSecurityStatus may remain in shutdown(3). After the expiration of the time, all the security configuration of this port is re-installed and the port is enabled. If the value of this object is 0, the port is shut down permanently.')
  cpsIfClearSecureMacAddresses = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 14), ClearSecureMacAddrType()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfClearSecureMacAddresses.setStatus('current')
  if mibBuilder.loadTexts: cpsIfClearSecureMacAddresses.setDescription('This objects allows the user to delete secure MAC addresses based on the type specified.')
  cpsIfStickyEnable = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 15), TruthValue()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfStickyEnable.setStatus('current')
  if mibBuilder.loadTexts: cpsIfStickyEnable.setDescription("Set to 'true' to enable and 'false' to disable Sticky port security feature on this interface. Enabling this feature allows the device to secure learned MAC addresses on this interface permanently. In order to remove the sticky addresses on this interface, user has to manually delete the sticky MAC address(es) or disable the sticky feature itself. Manual deletion of all addresses can be accomplished by cpsIfClearSecureMacAddresses object. Manual of single address can be accomplished by cpsIfVlanSecureMacAddrRowStatus object.")
  cpsIfInvalidSrcRateLimitEnable = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 16), TruthValue()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfInvalidSrcRateLimitEnable.setStatus('current')
  if mibBuilder.loadTexts: cpsIfInvalidSrcRateLimitEnable.setDescription("Set to 'true' to enable and 'false' to disable rate limiting for invalid source MAC addresses received on this interface. Enabling this feature will help to rate limit packets which comes with invalid src MAC address on this interface.")
  cpsIfInvalidSrcRateLimitValue = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 17), Integer32().subtype(subtypeSpec=ValueRangeConstraint(-1, 1000))).setUnits('Packets per second').setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfInvalidSrcRateLimitValue.setStatus('current')
  if mibBuilder.loadTexts: cpsIfInvalidSrcRateLimitValue.setDescription("If cpsIfInvalidSrcRateLimitEnable is set to 'true' then this value is used to limit the rate at which packets with invalid source MAC addresses are processed on this interface. Upon exceeding the rate, the port is shutdown. If cpsIfInvalidSrcRateLimitEnable is set to 'false' then this value will be -1.")
  cpsIfSecureLastMacAddrVlanId = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 1, 1, 18), VlanIndex()).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsIfSecureLastMacAddrVlanId.setStatus('current')
  if mibBuilder.loadTexts: cpsIfSecureLastMacAddrVlanId.setDescription('This object indicates the VLAN where the last MAC address that is seen on this interface. This object is also used as a variable in the cpsIfVlanSecureMacAddrViolation notification to contain the value of the VLAN received the mac address which caused the violation.')
  cpsSecureMacAddressTable = MibTable((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 2), )
  if mibBuilder.loadTexts: cpsSecureMacAddressTable.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsSecureMacAddressTable.setDescription('A list of port security entries containing the secure MAC address information.')
  cpsSecureMacAddressEntry = MibTableRow((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 2, 1), ).setIndexNames((0, "IF-MIB", "ifIndex"), (0, "CISCO-PORT-SECURITY-MIB", "cpsSecureMacAddress"))
  if mibBuilder.loadTexts: cpsSecureMacAddressEntry.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsSecureMacAddressEntry.setDescription('Entry containing secure MAC address information for a particular interface. A secure MAC address can be configured by the user and can be added by the agent when the device learns a new secured MAC address. Note that the secure MAC addresses can be configured on an interface even if port security feature is disabled.')
  cpsSecureMacAddress = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 2, 1, 1), MacAddress())
  if mibBuilder.loadTexts: cpsSecureMacAddress.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsSecureMacAddress.setDescription('This object indicates a secure MAC address configured or learned on an interface.')
  cpsSecureMacAddrType = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 2, 1, 2), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2))).clone(namedValues=NamedValues(("static", 1), ("dynamic", 2)))).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsSecureMacAddrType.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsSecureMacAddrType.setDescription('This object indicates if the secure MAC address is a configured (static) or learned (dynamic) address on this interface.')
  cpsSecureMacAddrRemainingAge = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 2, 1, 3), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0, 1440))).setUnits('minutes').setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsSecureMacAddrRemainingAge.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsSecureMacAddrRemainingAge.setDescription('This object indicates the remaining age of the secure MAC address if aging is enabled on that port. A value of 0 indicates that aging is disabled for this MAC address entry.')
  cpsSecureMacAddrRowStatus = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 2, 1, 4), RowStatus()).setMaxAccess("readcreate")
  if mibBuilder.loadTexts: cpsSecureMacAddrRowStatus.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsSecureMacAddrRowStatus.setDescription("This object is a conceptual row entry that allows to add or delete entries to or from the cpsSecureMacAddressTable. 1. When creating an entry in this table 'createAndGo' method is used and the value of this object is set to 'active'. Deactivation of an 'active' entry is not allowed. 2. When deleting an entry in this table 'destroy' method is used.")
  cpsIfVlanSecureMacAddrTable = MibTable((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 3), )
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrTable.setStatus('current')
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrTable.setDescription('A list of port security entries containing the secure MAC address information. This table is simular to cpsSecureMacAddressTable except that cpsIfVlanSecureVlanIndex is part of the INDEX clause. This table is used to configure a secure MAC address on either an access interface or trunking interface which support port security feature.')
  cpsIfVlanSecureMacAddrEntry = MibTableRow((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 3, 1), ).setIndexNames((0, "IF-MIB", "ifIndex"), (0, "CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureMacAddress"), (0, "CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureVlanIndex"))
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrEntry.setStatus('current')
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrEntry.setDescription('Entry containing secure MAC address information for a particular interface. A secure MAC address can be configured by the user and can be added by the agent when the device learns a new secure MAC address. Note that the secure MAC addresses can be configured on an interface even if the port security feature is disabled.')
  cpsIfVlanSecureMacAddress = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 3, 1, 1), MacAddress())
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddress.setStatus('current')
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddress.setDescription('This object indicates a secure MAC address configured or learned on an interface.')
  cpsIfVlanSecureVlanIndex = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 3, 1, 2), VlanIndex())
  if mibBuilder.loadTexts: cpsIfVlanSecureVlanIndex.setStatus('current')
  if mibBuilder.loadTexts: cpsIfVlanSecureVlanIndex.setDescription('This object indicates the vlan configured on an interface.')
  cpsIfVlanSecureMacAddrType = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 3, 1, 3), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3))).clone(namedValues=NamedValues(("static", 1), ("dynamic", 2), ("sticky", 3)))).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrType.setStatus('current')
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrType.setDescription("This object indicates if the secure MAC address is a configured 'static' or learned 'dynamic' or learned and retained across reboots 'sticky'.")
  cpsIfVlanSecureMacAddrRemainAge = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 3, 1, 4), Unsigned32()).setUnits('minutes').setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrRemainAge.setStatus('current')
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrRemainAge.setDescription('This object indicates the remaining age of the secure MAC address if aging is enabled on that port. A value of 0 indicates that aging is disabled for this MAC address entry.')
  cpsIfVlanSecureMacAddrRowStatus = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 3, 1, 5), RowStatus()).setMaxAccess("readcreate")
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrRowStatus.setStatus('current')
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrRowStatus.setDescription("This object is a conceptual row entry that allows adding or deleting entries to or from the cpsIfVlanSecureMacAddressTable. 1. When creating an entry in this table the 'createAndGo' method is used and the value of this object is set to 'active'. Deactivation of an 'active' entry is not allowed. 2. When deleting an entry in this table 'destroy' method is used.")
  cpsIfVlanTable = MibTable((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 4), )
  if mibBuilder.loadTexts: cpsIfVlanTable.setStatus('obsolete')
  if mibBuilder.loadTexts: cpsIfVlanTable.setDescription('Each entry in this table represents port-security information for each vlan that is allowed on trunk interface. The number of entries is determined by the number of allowed VLANs on trunk interface in the system . An Entry in the table gets created when a vlan becomes allowed and gets deleted when a vlan becomes disallowed on a trunk port. User cannot create new entries in this table, but can only read and modify existing entries. This table is obsolete and replaced with cpsIfMultiVlanTable.')
  cpsIfVlanEntry = MibTableRow((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 4, 1), ).setIndexNames((0, "IF-MIB", "ifIndex"), (0, "CISCO-PORT-SECURITY-MIB", "cpsIfVlanIndex"))
  if mibBuilder.loadTexts: cpsIfVlanEntry.setStatus('obsolete')
  if mibBuilder.loadTexts: cpsIfVlanEntry.setDescription('Entry containing port security information for a particular VLAN within a trunk port.')
  cpsIfVlanIndex = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 4, 1, 1), VlanIndex())
  if mibBuilder.loadTexts: cpsIfVlanIndex.setReference('IEEE 802.1Q/D11 Section 9.3.2.3')
  if mibBuilder.loadTexts: cpsIfVlanIndex.setStatus('obsolete')
  if mibBuilder.loadTexts: cpsIfVlanIndex.setDescription('The ID of a VLAN within this trunk port.')
  cpsIfVlanMaxSecureMacAddr = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 4, 1, 2), Unsigned32().subtype(subtypeSpec=ValueRangeConstraint(1, 2147483647))).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: cpsIfVlanMaxSecureMacAddr.setStatus('obsolete')
  if mibBuilder.loadTexts: cpsIfVlanMaxSecureMacAddr.setDescription('The maximum number of MAC addresses to be secured in the VLAN indicated by cpsIfVlanIndex on this interface. If cpsIfVlanMaxSecureMacAddr is not set, its value is 1. If cpsIfVlanMaxSecureMacAddr is not set, then the cpsIfMaxSecureMacAddr applies to this VLAN. If cpsIfVlanMaxSecureMacAddr is set and is less than cpsIfMaxSecureMacAddr, then the cpsIfVlanMaxSecureMacAddr applies to this VLAN. If cpsIfVlanMaxSecureMacAddr is set and is greater than cpsIfMaxSecureMacAddr, then the cpsIfMaxSecureMacAddr applies to this VLAN.')
  cpsIfVlanCurSecureMacAddrCount = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 4, 1, 3), Unsigned32().subtype(subtypeSpec=ValueRangeConstraint(0, 2147483647))).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsIfVlanCurSecureMacAddrCount.setStatus('obsolete')
  if mibBuilder.loadTexts: cpsIfVlanCurSecureMacAddrCount.setDescription('The current number of MAC addresses secured in the VLAN indicated by cpsIfVlanIndex on this interface.')
  cpsIfMultiVlanTable = MibTable((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 5), )
  if mibBuilder.loadTexts: cpsIfMultiVlanTable.setStatus('current')
  if mibBuilder.loadTexts: cpsIfMultiVlanTable.setDescription('Each entry in this table represents port-security information such as the maximum value of secured mac address allowed, the current number of secure mac address applied on a VLAN that is allowed on multi-vlan interface as well as a mechanism to clear the secure mac address on such VLANs.')
  cpsIfMultiVlanEntry = MibTableRow((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 5, 1), ).setIndexNames((0, "IF-MIB", "ifIndex"), (0, "CISCO-PORT-SECURITY-MIB", "cpsIfMultiVlanIndex"))
  if mibBuilder.loadTexts: cpsIfMultiVlanEntry.setStatus('current')
  if mibBuilder.loadTexts: cpsIfMultiVlanEntry.setDescription('Entry containing port security information for a particular VLAN within a multi-vlan port. When secured mac addresses are learned or configured on such interface denoted by ifIndex and an allowed VLAN in this interface denoted by cpsIfMultiVlanIndex, an entry will be automatically created in this table. If there is no corresponding entry in this table for a specific interface and VLAN, the maximum number of secured MAC addresses allowed in such interface and VLAN will be limited in the manner which the device limits the aggregate maximum number of secured MAC address allowed in this specific interface.')
  cpsIfMultiVlanIndex = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 5, 1, 1), VlanIndex())
  if mibBuilder.loadTexts: cpsIfMultiVlanIndex.setReference('IEEE 802.1Q/D11 Section 9.3.2.3')
  if mibBuilder.loadTexts: cpsIfMultiVlanIndex.setStatus('current')
  if mibBuilder.loadTexts: cpsIfMultiVlanIndex.setDescription('The VLAN ID of an allowed VLAN for this multi-vlan port.')
  cpsIfMultiVlanMaxSecureMacAddr = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 5, 1, 2), Unsigned32().clone(1)).setMaxAccess("readcreate")
  if mibBuilder.loadTexts: cpsIfMultiVlanMaxSecureMacAddr.setStatus('current')
  if mibBuilder.loadTexts: cpsIfMultiVlanMaxSecureMacAddr.setDescription('The maximum number (N) of MAC addresses to be secured in the VLAN indicated by cpsIfMultiVlanIndex object on this interface. Setting the value of this object to zero indicates that there is no specific restriction on the maximum number of MAC adddress to be secured for this particular VLAN in this interface. In this case, the maximum number of secured MAC addresses allowed in this VLAN will be limited in the manner which the device limits the aggregate maximum number of secured MAC address allowed in this interface. Changing this object value from N to M (M is greater than 0) is not allowed if M is smaller than N, and M is less than the value of cpsIfMultiVlanSecureMacAddrCount on this VLAN. One way to change the number in this case is by deleting sufficient number of secure mac addresses configured or learned on the VLAN. If cpsIfMultiVlanMaxSecureMacAddr is less than cpsIfMaxSecureMacAddr, then the aggregate maximum number of secure mac address allowed in this interface is limited by the value of cpsIfMaxSecureMacAddr, and the maximum number of secure mac address allowed in this VLAN for this interface is the value of cpsIfMultiVlanMaxSecureMacAddr object. If cpsIfMultiVlanMaxSecureMacAddr is greater than cpsIfMaxSecureMacAddr, then this object value does not have any effect. The aggregate maximum number of secure mac address allowed in all VLANs for this interface is limited by the value of cpsIfMaxSecureMacAddr object.')
  cpsIfMultiVlanSecureMacAddrCount = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 5, 1, 3), Unsigned32()).setMaxAccess("readonly")
  if mibBuilder.loadTexts: cpsIfMultiVlanSecureMacAddrCount.setStatus('current')
  if mibBuilder.loadTexts: cpsIfMultiVlanSecureMacAddrCount.setDescription('The current number of MAC addresses secured in the VLAN indicated by cpsIfMultiVlanIndex object on this interface.')
  cpsIfMultiVlanClearSecureMacAddr = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 5, 1, 4), ClearSecureMacAddrType().clone('done')).setMaxAccess("readcreate")
  if mibBuilder.loadTexts: cpsIfMultiVlanClearSecureMacAddr.setStatus('current')
  if mibBuilder.loadTexts: cpsIfMultiVlanClearSecureMacAddr.setDescription('This objects allows the user to delete secure MAC addresses based on the type specified per interface per VLAN.')
  cpsIfMultiVlanRowStatus = MibTableColumn((1, 3, 6, 1, 4, 1, 9, 9, 315, 1, 2, 5, 1, 5), RowStatus()).setMaxAccess("readcreate")
  if mibBuilder.loadTexts: cpsIfMultiVlanRowStatus.setStatus('current')
  if mibBuilder.loadTexts: cpsIfMultiVlanRowStatus.setDescription("The object is used to manage the creation and deletion of row in this table. It only supports 'active', 'destroy', and 'createAndGo' value. Entry in the table gets created by setting cpsIfMultiVlanRowStatus object to 'createAndGo'. Entry in this table gets deleted by setting cpsIfMultiVlanRowStatus object to 'destroy' or when a VLAN indicated by cpsIfMultiVlanIndex object becomes disallowed on a multi-vlan port. If the value of cpsIfMultiVlanSecureMacAddrCount object in the same row is greater than zero, this entry cannot be deleted. Value of cpsIfMultiVlanMaxSecureMacAddr object can be modified when the value of this RowStatus object is 'active'.")
  cpsInterfaceNotifs = MibIdentifier((1, 3, 6, 1, 4, 1, 9, 9, 315, 0, 0))
  cpsSecureMacAddrViolation = NotificationType((1, 3, 6, 1, 4, 1, 9, 9, 315, 0, 0, 1)).setObjects(("IF-MIB", "ifIndex"), ("IF-MIB", "ifName"), ("CISCO-PORT-SECURITY-MIB", "cpsIfSecureLastMacAddress"))
  if mibBuilder.loadTexts: cpsSecureMacAddrViolation.setStatus('current')
  if mibBuilder.loadTexts: cpsSecureMacAddrViolation.setDescription("The address violation notification is generated when port security address violation is detected on a secure non-trunk, access interface (that carries a single vlan) and the cpsIfViolationAction is set to 'dropNotify'.")
  cpsTrunkSecureMacAddrViolation = NotificationType((1, 3, 6, 1, 4, 1, 9, 9, 315, 0, 0, 2)).setObjects(("IF-MIB", "ifName"), ("CISCO-VTP-MIB", "vtpVlanName"), ("CISCO-PORT-SECURITY-MIB", "cpsIfSecureLastMacAddress"))
  if mibBuilder.loadTexts: cpsTrunkSecureMacAddrViolation.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsTrunkSecureMacAddrViolation.setDescription("The address violation notification is generated when port security address violation is detected on a secure trunk or a multi-vlan interface and the cpsIfViolationAction is set to 'dropNotify'.")
  cpsIfVlanSecureMacAddrViolation = NotificationType((1, 3, 6, 1, 4, 1, 9, 9, 315, 0, 0, 3)).setObjects(("IF-MIB", "ifName"), ("CISCO-PORT-SECURITY-MIB", "cpsIfSecureLastMacAddrVlanId"), ("CISCO-PORT-SECURITY-MIB", "cpsIfSecureLastMacAddress"))
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrViolation.setStatus('current')
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrViolation.setDescription("The address violation notification is generated when port security address violation is detected on a multi-vlan interface and the cpsIfViolationAction is set to 'dropNotify'.")
  ciscoPortSecurityMIBCompliances = MibIdentifier((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 1))
  ciscoPortSecurityMIBGroups = MibIdentifier((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2))
  ciscoPortSecurityMIBCompliance = ModuleCompliance((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 1, 1)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsGlobalGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsExtInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsNotificationGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsExtConfigInterfaceGroup"))
  
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      ciscoPortSecurityMIBCompliance = ciscoPortSecurityMIBCompliance.setStatus('deprecated')
  if mibBuilder.loadTexts: ciscoPortSecurityMIBCompliance.setDescription('The compliance statement for the Port Security MIB.')
  ciscoPortSecurityMIBCompliance1 = ModuleCompliance((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 1, 2)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsGlobalGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsInterfaceGroup1"), ("CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureMacAddrGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsExtInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsNotificationGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsUnicastFloodingInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsShutdownTimeoutInterfaceGroup"))
  
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      ciscoPortSecurityMIBCompliance1 = ciscoPortSecurityMIBCompliance1.setStatus('deprecated')
  if mibBuilder.loadTexts: ciscoPortSecurityMIBCompliance1.setDescription('The compliance statement for the Port Security MIB.')
  ciscoPortSecurityMIBCompliance2 = ModuleCompliance((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 1, 3)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsGlobalGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsInterfaceGroup2"), ("CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureMacAddrGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsExtInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsNotificationGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsUnicastFloodingInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsShutdownTimeoutInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsIfVlanGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsGlobalClearAddressGroup"))
  
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      ciscoPortSecurityMIBCompliance2 = ciscoPortSecurityMIBCompliance2.setStatus('obsolete')
  if mibBuilder.loadTexts: ciscoPortSecurityMIBCompliance2.setDescription('The compliance statement for the Port Security MIB.')
  ciscoPortSecurityMIBCompliance3 = ModuleCompliance((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 1, 4)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsGlobalGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsInterfaceGroup2"), ("CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureMacAddrGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsExtInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsNotificationGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsUnicastFloodingInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsShutdownTimeoutInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsIfVlanGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsGlobalClearAddressGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsTrunkSecureNotificationGroup"))
  
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      ciscoPortSecurityMIBCompliance3 = ciscoPortSecurityMIBCompliance3.setStatus('obsolete')
  if mibBuilder.loadTexts: ciscoPortSecurityMIBCompliance3.setDescription('The compliance statement for the Port Security MIB.')
  ciscoPortSecurityMIBCompliance4 = ModuleCompliance((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 1, 5)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsGlobalGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsInterfaceGroup2"), ("CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureMacAddrGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsExtInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsNotificationGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsUnicastFloodingInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsShutdownTimeoutInterfaceGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsIfMultiVlanGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsGlobalClearAddressGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureNotificationGroup"), ("CISCO-PORT-SECURITY-MIB", "cpsExtInterfaceGroup1"))
  
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      ciscoPortSecurityMIBCompliance4 = ciscoPortSecurityMIBCompliance4.setStatus('current')
  if mibBuilder.loadTexts: ciscoPortSecurityMIBCompliance4.setDescription('The compliance statement for the Port Security MIB.')
  cpsGlobalGroup = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 1)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsGlobalMaxSecureAddress"), ("CISCO-PORT-SECURITY-MIB", "cpsGlobalTotalSecureAddress"), ("CISCO-PORT-SECURITY-MIB", "cpsGlobalPortSecurityEnable"), ("CISCO-PORT-SECURITY-MIB", "cpsGlobalSNMPNotifRate"), ("CISCO-PORT-SECURITY-MIB", "cpsGlobalSNMPNotifControl"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsGlobalGroup = cpsGlobalGroup.setStatus('current')
  if mibBuilder.loadTexts: cpsGlobalGroup.setDescription('A collection of objects for use with the Port Security feature.')
  cpsInterfaceGroup = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 2)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfPortSecurityEnable"), ("CISCO-PORT-SECURITY-MIB", "cpsIfPortSecurityStatus"), ("CISCO-PORT-SECURITY-MIB", "cpsIfMaxSecureMacAddr"), ("CISCO-PORT-SECURITY-MIB", "cpsIfCurrentSecureMacAddrCount"), ("CISCO-PORT-SECURITY-MIB", "cpsIfSecureMacAddrAgingType"), ("CISCO-PORT-SECURITY-MIB", "cpsIfSecureMacAddrAgingTime"), ("CISCO-PORT-SECURITY-MIB", "cpsIfStaticMacAddrAgingEnable"), ("CISCO-PORT-SECURITY-MIB", "cpsIfViolationAction"), ("CISCO-PORT-SECURITY-MIB", "cpsIfViolationCount"), ("CISCO-PORT-SECURITY-MIB", "cpsIfClearSecureAddresses"), ("CISCO-PORT-SECURITY-MIB", "cpsSecureMacAddrType"), ("CISCO-PORT-SECURITY-MIB", "cpsSecureMacAddrRemainingAge"), ("CISCO-PORT-SECURITY-MIB", "cpsSecureMacAddrRowStatus"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsInterfaceGroup = cpsInterfaceGroup.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsInterfaceGroup.setDescription('********* THIS GROUP IS DEPRECATED ********** A collection of objects for use with the Port Security feature.')
  cpsExtInterfaceGroup = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 3)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfSecureLastMacAddress"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsExtInterfaceGroup = cpsExtInterfaceGroup.setStatus('current')
  if mibBuilder.loadTexts: cpsExtInterfaceGroup.setDescription('A collection of objects providing the additional information for the Port Security feature.')
  cpsNotificationGroup = NotificationGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 4)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsSecureMacAddrViolation"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsNotificationGroup = cpsNotificationGroup.setStatus('current')
  if mibBuilder.loadTexts: cpsNotificationGroup.setDescription('A collection of notifications for use with the Port Security feature.')
  cpsUnicastFloodingInterfaceGroup = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 5)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfUnicastFloodingEnable"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsUnicastFloodingInterfaceGroup = cpsUnicastFloodingInterfaceGroup.setStatus('current')
  if mibBuilder.loadTexts: cpsUnicastFloodingInterfaceGroup.setDescription('A collection of objects providing the unicast flooding information for the Port Security feature.')
  cpsShutdownTimeoutInterfaceGroup = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 6)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfShutdownTimeout"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsShutdownTimeoutInterfaceGroup = cpsShutdownTimeoutInterfaceGroup.setStatus('current')
  if mibBuilder.loadTexts: cpsShutdownTimeoutInterfaceGroup.setDescription('A collection of objects providing the shutdown timeout information for the Port Security feature.')
  cpsIfVlanSecureMacAddrGroup = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 8)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureMacAddrType"), ("CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureMacAddrRemainAge"), ("CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureMacAddrRowStatus"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsIfVlanSecureMacAddrGroup = cpsIfVlanSecureMacAddrGroup.setStatus('current')
  if mibBuilder.loadTexts: cpsIfVlanSecureMacAddrGroup.setDescription('A collection of objects for use with the Port Security feature.')
  cpsInterfaceGroup1 = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 9)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfPortSecurityEnable"), ("CISCO-PORT-SECURITY-MIB", "cpsIfPortSecurityStatus"), ("CISCO-PORT-SECURITY-MIB", "cpsIfMaxSecureMacAddr"), ("CISCO-PORT-SECURITY-MIB", "cpsIfCurrentSecureMacAddrCount"), ("CISCO-PORT-SECURITY-MIB", "cpsIfSecureMacAddrAgingType"), ("CISCO-PORT-SECURITY-MIB", "cpsIfSecureMacAddrAgingTime"), ("CISCO-PORT-SECURITY-MIB", "cpsIfStaticMacAddrAgingEnable"), ("CISCO-PORT-SECURITY-MIB", "cpsIfViolationAction"), ("CISCO-PORT-SECURITY-MIB", "cpsIfViolationCount"), ("CISCO-PORT-SECURITY-MIB", "cpsIfClearSecureAddresses"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsInterfaceGroup1 = cpsInterfaceGroup1.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsInterfaceGroup1.setDescription('********* THIS GROUP IS DEPRECATED ********** A collection of objects for use with the Port Security configuration.')
  cpsExtConfigInterfaceGroup = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 10)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfShutdownTimeout"), ("CISCO-PORT-SECURITY-MIB", "cpsIfUnicastFloodingEnable"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsExtConfigInterfaceGroup = cpsExtConfigInterfaceGroup.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsExtConfigInterfaceGroup.setDescription('********* THIS GROUP IS DEPRECATED ********** A collection of objects providing the additional information for the Port Security feature.')
  cpsIfVlanGroup = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 11)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfVlanMaxSecureMacAddr"), ("CISCO-PORT-SECURITY-MIB", "cpsIfVlanCurSecureMacAddrCount"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsIfVlanGroup = cpsIfVlanGroup.setStatus('obsolete')
  if mibBuilder.loadTexts: cpsIfVlanGroup.setDescription('A collection of objects providing additional trunk VLAN information for the Port Security feature on a given interface.')
  cpsGlobalClearAddressGroup = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 12)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsGlobalClearSecureMacAddresses"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsGlobalClearAddressGroup = cpsGlobalClearAddressGroup.setStatus('current')
  if mibBuilder.loadTexts: cpsGlobalClearAddressGroup.setDescription('A collection of objects for clearing addresses on the device.')
  cpsInterfaceGroup2 = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 13)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfPortSecurityEnable"), ("CISCO-PORT-SECURITY-MIB", "cpsIfPortSecurityStatus"), ("CISCO-PORT-SECURITY-MIB", "cpsIfMaxSecureMacAddr"), ("CISCO-PORT-SECURITY-MIB", "cpsIfCurrentSecureMacAddrCount"), ("CISCO-PORT-SECURITY-MIB", "cpsIfSecureMacAddrAgingType"), ("CISCO-PORT-SECURITY-MIB", "cpsIfSecureMacAddrAgingTime"), ("CISCO-PORT-SECURITY-MIB", "cpsIfStaticMacAddrAgingEnable"), ("CISCO-PORT-SECURITY-MIB", "cpsIfViolationAction"), ("CISCO-PORT-SECURITY-MIB", "cpsIfViolationCount"), ("CISCO-PORT-SECURITY-MIB", "cpsIfClearSecureMacAddresses"), ("CISCO-PORT-SECURITY-MIB", "cpsIfInvalidSrcRateLimitEnable"), ("CISCO-PORT-SECURITY-MIB", "cpsIfInvalidSrcRateLimitValue"), ("CISCO-PORT-SECURITY-MIB", "cpsIfStickyEnable"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsInterfaceGroup2 = cpsInterfaceGroup2.setStatus('current')
  if mibBuilder.loadTexts: cpsInterfaceGroup2.setDescription('A collection of objects for use with the Port Security configuration.')
  cpsTrunkSecureNotificationGroup = NotificationGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 14)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsTrunkSecureMacAddrViolation"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsTrunkSecureNotificationGroup = cpsTrunkSecureNotificationGroup.setStatus('deprecated')
  if mibBuilder.loadTexts: cpsTrunkSecureNotificationGroup.setDescription('A collection of trunk or multi-vlan port related notifications for use with the port-security feature.')
  cpsIfMultiVlanGroup = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 15)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfMultiVlanMaxSecureMacAddr"), ("CISCO-PORT-SECURITY-MIB", "cpsIfMultiVlanSecureMacAddrCount"), ("CISCO-PORT-SECURITY-MIB", "cpsIfMultiVlanClearSecureMacAddr"), ("CISCO-PORT-SECURITY-MIB", "cpsIfMultiVlanRowStatus"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsIfMultiVlanGroup = cpsIfMultiVlanGroup.setStatus('current')
  if mibBuilder.loadTexts: cpsIfMultiVlanGroup.setDescription('A collection of objects providing additional per interface per VLAN port security feature information on a multi-vlan interface.')
  cpsIfVlanSecureNotificationGroup = NotificationGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 16)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfVlanSecureMacAddrViolation"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsIfVlanSecureNotificationGroup = cpsIfVlanSecureNotificationGroup.setStatus('current')
  if mibBuilder.loadTexts: cpsIfVlanSecureNotificationGroup.setDescription('A collection of trunk or multi-vlan port related notifications for use with the port-security feature.')
  cpsExtInterfaceGroup1 = ObjectGroup((1, 3, 6, 1, 4, 1, 9, 9, 315, 2, 2, 17)).setObjects(("CISCO-PORT-SECURITY-MIB", "cpsIfSecureLastMacAddrVlanId"))
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      cpsExtInterfaceGroup1 = cpsExtInterfaceGroup1.setStatus('current')
  if mibBuilder.loadTexts: cpsExtInterfaceGroup1.setDescription('A collection of objects providing the information of the VLAN-id for the last MAC address seen on the interface.')
  mibBuilder.exportSymbols("CISCO-PORT-SECURITY-MIB", ciscoPortSecurityMIBCompliance2=ciscoPortSecurityMIBCompliance2, cpsIfMultiVlanTable=cpsIfMultiVlanTable, ciscoPortSecurityMIBConform=ciscoPortSecurityMIBConform, cpsSecureMacAddress=cpsSecureMacAddress, cpsIfVlanMaxSecureMacAddr=cpsIfVlanMaxSecureMacAddr, cpsInterfaceObjects=cpsInterfaceObjects, cpsIfVlanGroup=cpsIfVlanGroup, ciscoPortSecurityMIB=ciscoPortSecurityMIB, cpsIfVlanTable=cpsIfVlanTable, cpsIfUnicastFloodingEnable=cpsIfUnicastFloodingEnable, cpsIfShutdownTimeout=cpsIfShutdownTimeout, ciscoPortSecurityMIBObjects=ciscoPortSecurityMIBObjects, cpsIfMultiVlanMaxSecureMacAddr=cpsIfMultiVlanMaxSecureMacAddr, cpsIfSecureLastMacAddrVlanId=cpsIfSecureLastMacAddrVlanId, cpsGlobalSNMPNotifRate=cpsGlobalSNMPNotifRate, cpsIfVlanIndex=cpsIfVlanIndex, cpsIfViolationAction=cpsIfViolationAction, cpsIfMultiVlanIndex=cpsIfMultiVlanIndex, cpsIfViolationCount=cpsIfViolationCount, cpsIfConfigEntry=cpsIfConfigEntry, cpsIfVlanSecureVlanIndex=cpsIfVlanSecureVlanIndex, ciscoPortSecurityMIBCompliance1=ciscoPortSecurityMIBCompliance1, cpsIfVlanEntry=cpsIfVlanEntry, cpsIfMultiVlanGroup=cpsIfMultiVlanGroup, cpsIfVlanCurSecureMacAddrCount=cpsIfVlanCurSecureMacAddrCount, cpsIfClearSecureAddresses=cpsIfClearSecureAddresses, cpsSecureMacAddrType=cpsSecureMacAddrType, cpsIfMultiVlanSecureMacAddrCount=cpsIfMultiVlanSecureMacAddrCount, ciscoPortSecurityMIBNotifs=ciscoPortSecurityMIBNotifs, cpsInterfaceGroup=cpsInterfaceGroup, cpsIfSecureMacAddrAgingType=cpsIfSecureMacAddrAgingType, cpsInterfaceGroup1=cpsInterfaceGroup1, cpsIfMultiVlanEntry=cpsIfMultiVlanEntry, cpsIfVlanSecureMacAddrEntry=cpsIfVlanSecureMacAddrEntry, cpsSecureMacAddrViolation=cpsSecureMacAddrViolation, cpsSecureMacAddrRowStatus=cpsSecureMacAddrRowStatus, cpsIfInvalidSrcRateLimitValue=cpsIfInvalidSrcRateLimitValue, PYSNMP_MODULE_ID=ciscoPortSecurityMIB, cpsInterfaceGroup2=cpsInterfaceGroup2, cpsIfConfigTable=cpsIfConfigTable, cpsGlobalGroup=cpsGlobalGroup, cpsIfSecureMacAddrAgingTime=cpsIfSecureMacAddrAgingTime, cpsIfPortSecurityEnable=cpsIfPortSecurityEnable, cpsIfPortSecurityStatus=cpsIfPortSecurityStatus, cpsIfClearSecureMacAddresses=cpsIfClearSecureMacAddresses, ciscoPortSecurityMIBCompliance3=ciscoPortSecurityMIBCompliance3, cpsTrunkSecureMacAddrViolation=cpsTrunkSecureMacAddrViolation, cpsNotificationGroup=cpsNotificationGroup, ClearSecureMacAddrType=ClearSecureMacAddrType, cpsShutdownTimeoutInterfaceGroup=cpsShutdownTimeoutInterfaceGroup, cpsSecureMacAddrRemainingAge=cpsSecureMacAddrRemainingAge, cpsIfVlanSecureMacAddress=cpsIfVlanSecureMacAddress, ciscoPortSecurityMIBCompliances=ciscoPortSecurityMIBCompliances, cpsIfVlanSecureMacAddrRemainAge=cpsIfVlanSecureMacAddrRemainAge, ciscoPortSecurityMIBCompliance4=ciscoPortSecurityMIBCompliance4, cpsIfMultiVlanRowStatus=cpsIfMultiVlanRowStatus, cpsIfVlanSecureMacAddrViolation=cpsIfVlanSecureMacAddrViolation, cpsUnicastFloodingInterfaceGroup=cpsUnicastFloodingInterfaceGroup, cpsExtInterfaceGroup1=cpsExtInterfaceGroup1, ciscoPortSecurityMIBGroups=ciscoPortSecurityMIBGroups, cpsTrunkSecureNotificationGroup=cpsTrunkSecureNotificationGroup, cpsGlobalClearAddressGroup=cpsGlobalClearAddressGroup, cpsGlobalMaxSecureAddress=cpsGlobalMaxSecureAddress, cpsInterfaceNotifs=cpsInterfaceNotifs, cpsExtInterfaceGroup=cpsExtInterfaceGroup, cpsIfMaxSecureMacAddr=cpsIfMaxSecureMacAddr, cpsSecureMacAddressEntry=cpsSecureMacAddressEntry, ciscoPortSecurityMIBCompliance=ciscoPortSecurityMIBCompliance, cpsIfSecureLastMacAddress=cpsIfSecureLastMacAddress, cpsIfStaticMacAddrAgingEnable=cpsIfStaticMacAddrAgingEnable, cpsIfVlanSecureMacAddrGroup=cpsIfVlanSecureMacAddrGroup, cpsIfCurrentSecureMacAddrCount=cpsIfCurrentSecureMacAddrCount, cpsGlobalPortSecurityEnable=cpsGlobalPortSecurityEnable, cpsExtConfigInterfaceGroup=cpsExtConfigInterfaceGroup, cpsIfVlanSecureMacAddrRowStatus=cpsIfVlanSecureMacAddrRowStatus, cpsGlobalClearSecureMacAddresses=cpsGlobalClearSecureMacAddresses, cpsIfInvalidSrcRateLimitEnable=cpsIfInvalidSrcRateLimitEnable, cpsIfVlanSecureNotificationGroup=cpsIfVlanSecureNotificationGroup, cpsIfStickyEnable=cpsIfStickyEnable, cpsIfVlanSecureMacAddrTable=cpsIfVlanSecureMacAddrTable, cpsGlobalSNMPNotifControl=cpsGlobalSNMPNotifControl, cpsIfVlanSecureMacAddrType=cpsIfVlanSecureMacAddrType, cpsGlobalTotalSecureAddress=cpsGlobalTotalSecureAddress, cpsIfMultiVlanClearSecureMacAddr=cpsIfMultiVlanClearSecureMacAddr, cpsGlobalObjects=cpsGlobalObjects, cpsSecureMacAddressTable=cpsSecureMacAddressTable)
  