--**MOD+***********************************************************************
--* Module:    hpicfAMPServer.mib
--*
--* Copyright (C) 2015,2016,2017,2020 Hewlett Packard Enterprise Development LP
--* All Rights Reserved.
--* 
--* The contents of this software are proprietary and confidential
--* to the Hewlett Packard Enterprise Development LP.  No part of this
--* program may be photocopied, reproduced, or translated into another
--* programming language without prior written consent of the
--* Hewlett Packard Enterprise Development LP.
--*
--* Purpose: This file contains MIB definition of HPICF-AMP-SERVER-MIB
--*
--**MOD-***********************************************************************

HPICF-AMP-SERVER-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY,Integer32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    hpSwitch
        FROM HP-ICF-OID
    InetAddress, InetAddressType
        FROM INET-ADDRESS-MIB
    RowStatus, TEXTUAL-CONVENTION,TruthValue
        FROM SNMPv2-TC;

    hpicfAMPServerMIB MODULE-IDENTITY
        LAST-UPDATED "202001170000Z"  -- Jan 17, 2020
        ORGANIZATION "HP Networking"
        CONTACT-INFO "Hewlett Packard Enterprise Company
                      8000 Foothills Blvd.
                      Roseville, CA 95747"
	DESCRIPTION  "This MIB defines HP proprietary objects used to
                      configure the device with AirWave Management Platform (AMP)."

        REVISION     "202001170000Z"  -- Jan 17, 2020
        DESCRIPTION  "Added support to specify retry interval(hpicfAMPServerRetryInterval)."

        REVISION     "201703070000Z"  -- Mar 7, 2017
        DESCRIPTION  "Updated the description of the hpicfArubaVPNRowStatus mib
                      to specify not supported row status states."

        REVISION     "201701040000Z"  -- Jan 4, 2017
        DESCRIPTION  "Added support to specify optional backup controller ip in,
                      hpicfArubaVPNBkpIP and hpicfArubaVPNBkpIPType."
        
        REVISION     "201612160000Z"  -- Dec 16, 2016
        DESCRIPTION  "New type any added in HpicfArubaVPNType."
        
        REVISION     "201609150000Z"  -- Sep 15, 2016
        DESCRIPTION  "To support the Airwave controller default gateway added 
                      hpicfArubaVPNGateway object."

        REVISION     "201604190000Z"  -- Apr 19, 2016
        DESCRIPTION  "To support the Airwave Controller two mib entries are added for tos and ttl,
                      a table is added."
   
        REVISION     "201603030000Z"  -- Mar 03, 2016,
        DESCRIPTION  "To support the Airwave Controller in the Configuration, 
                      a table is added."

	REVISION     "201512140000Z"  -- Dec 14, 2015
        DESCRIPTION  "Initial version"
        ::= { hpSwitch 125 }

    hpicfAMPServerObjects       OBJECT IDENTIFIER ::= { hpicfAMPServerMIB 1 }
    hpicfAMPServerConformance   OBJECT IDENTIFIER ::= { hpicfAMPServerMIB 2 }
    hpicfArubaVPNObjects        OBJECT IDENTIFIER ::= { hpicfAMPServerMIB 3 }
    hpicfArubaVPNDefaultGateway OBJECT IDENTIFIER ::= { hpicfAMPServerMIB 4 }

--------------------------------------------------------------------------
-- Textual Conventions
--------------------------------------------------------------------------
    HpicfArubaVPNType     ::=  TEXTUAL-CONVENTION
        STATUS            current
        DESCRIPTION       "This textual convention is an enum that contains the
                           types of Aruba VPNs supported."
        SYNTAX            INTEGER
                          {
                             none(1),
                             amp(2),
                             any(3)
                          }

   hpicfArubaVPNTable   OBJECT-TYPE
        SYNTAX      	SEQUENCE OF HpicfArubaVPNEntry
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"The Aruba VPN configuration table."
        ::= { hpicfArubaVPNObjects 1 }

   hpicfArubaVPNEntry   OBJECT-TYPE
        SYNTAX          HpicfArubaVPNEntry	
        MAX-ACCESS      not-accessible
        STATUS      	current
        DESCRIPTION 	"The Aruba VPN configuration entry."
        INDEX { hpicfArubaVPNIndex }
        ::= { hpicfArubaVPNTable 1 }

   HpicfArubaVPNEntry ::=
        SEQUENCE {
           	          hpicfArubaVPNIndex     HpicfArubaVPNType, 
		          hpicfArubaVPNRowStatus RowStatus,
            	          hpicfArubaVPNIPType    InetAddressType,
           	          hpicfArubaVPNIP        InetAddress,
                          hpicfArubaVPNTos       Integer32,
		          hpicfArubaVPNTtl       Integer32,
                          hpicfArubaVPNBkpIPType InetAddressType,
                          hpicfArubaVPNBkpIP     InetAddress
                 }

   hpicfArubaVPNIndex    OBJECT-TYPE
        SYNTAX     	 HpicfArubaVPNType 
        MAX-ACCESS 	 not-accessible
        STATUS     	 current
        DESCRIPTION	 "The index value which uniquely identifies a row
                   	  in the configuration table."
        ::= { hpicfArubaVPNEntry 1 }

   hpicfArubaVPNRowStatus OBJECT-TYPE
        SYNTAX            RowStatus
        MAX-ACCESS        read-create
        STATUS            current
        DESCRIPTION       "The row status of this Aruba VPN configuration entry.
                           The value of this object allows the creation/deletion 
                           of the Controller configuration entry. Row statuses
                           createAndWait(5), notReady(3) and notInService(2) are 
                           not supported."
        ::= { hpicfArubaVPNEntry 2 }

    hpicfArubaVPNIPType   OBJECT-TYPE
        SYNTAX            InetAddressType
        MAX-ACCESS        read-write
        STATUS            current
        DESCRIPTION       "IPv4 address type of Aruba VPN Peer IP."
        ::= { hpicfArubaVPNEntry 3 }

    hpicfArubaVPNIP   OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IPv4 address of Aruba VPN Peer IP."
        ::= { hpicfArubaVPNEntry 4 }

    hpicfArubaVPNTos      OBJECT-TYPE
        SYNTAX            Integer32
        MAX-ACCESS        read-write
        STATUS            current
        DESCRIPTION       "Configure Type-of-Service (ToS) for the tunnel."
        ::= { hpicfArubaVPNEntry 5 }

    hpicfArubaVPNTtl      OBJECT-TYPE
        SYNTAX            Integer32
        MAX-ACCESS        read-write
        STATUS            current
        DESCRIPTION       "Configure Time-to-Live (TTL) for the tunnel."
        ::= { hpicfArubaVPNEntry 6 }

    hpicfArubaVPNBkpIPType   OBJECT-TYPE
        SYNTAX            InetAddressType
        MAX-ACCESS        read-write
        STATUS            current
        DESCRIPTION       "IP address type of Aruba VPN Backup Peer."
        ::= { hpicfArubaVPNEntry 7 }

    hpicfArubaVPNBkpIP   OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IPv4 address of Aruba VPN Backup peer IP."
        ::= { hpicfArubaVPNEntry 8 }

    hpicfArubaVPNGateway  OBJECT-TYPE
        SYNTAX            TruthValue
        MAX-ACCESS        read-write
        STATUS            current
        DESCRIPTION       "This object when set to TRUE will allow the Aruba 
                           controller to be reached through the default-gateway."
        ::= { hpicfArubaVPNDefaultGateway 1 }

    hpicfAMPServerIPType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IP address type of AMP server."
        ::= { hpicfAMPServerObjects 1 }

    hpicfAMPServerIP OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IP address of AMP server."
        ::= { hpicfAMPServerObjects 2 }

    hpicfAMPServerGroup OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (0..32))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Group name in AMP server where the switch will be 
                     grouped into, after device registration."
        ::= { hpicfAMPServerObjects 3 }

    hpicfAMPServerFolder OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (0..128))
        MAX-ACCESS  read-write
        STATUS      current
	DESCRIPTION "Folder name in AMP server where the switch will be 
                     configured into after device registration. Folder name
                     string will be in colon separated values. Each value 
                     separated by colon will be a sub folder of previous value."
        ::= { hpicfAMPServerObjects 4 }

    hpicfAMPServerSecret OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (0..32))
        MAX-ACCESS  read-write
        STATUS      current
	DESCRIPTION "Secret name for the registering group to verify the device
                     by AMP server."
        ::= { hpicfAMPServerObjects 5 }

    hpicfAMPServerConfigStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                                  configured (1),
                                  notConfigured (2)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The object is to show the AMP server 
                     configuration staus." 
        DEFVAL      { notConfigured }
        ::= { hpicfAMPServerObjects 6 }

    hpicfAMPServerRetryInterval OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "Seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "AMP server retry interval." 
        ::= { hpicfAMPServerObjects 7 }

    hpicfAMPServerMIBCompliances OBJECT IDENTIFIER ::= { hpicfAMPServerConformance 1 }
    hpicfAMPServerMIBGroups      OBJECT IDENTIFIER ::= { hpicfAMPServerConformance 2 }

    hpicfAMPServerMIBCompliance       MODULE-COMPLIANCE
        STATUS      deprecated
	DESCRIPTION "The compliance statement for HP switches implementing
                     the HPICF-AMP-SERVER MIB."
        MODULE
            MANDATORY-GROUPS
                        { 
                          hpicfAMPServerConfigGroup,
                          hpicfArubaVPNConfigGroup
                        }
        ::= { hpicfAMPServerMIBCompliances 1 }

    hpicfAMPServerMIBCompliance1       MODULE-COMPLIANCE
        STATUS      deprecated
        DESCRIPTION "The compliance statement for HP switches implementing
                     the HPICF-AMP-SERVER MIB."
        MODULE
            MANDATORY-GROUPS
                        {
                          hpicfAMPServerConfigGroup,
                          hpicfArubaVPNConfigGroup,
                          hpicfDefaultGatewayGroup
                        }
        ::= { hpicfAMPServerMIBCompliances 2 }

    hpicfAMPServerMIBCompliance2       MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION "The compliance statement for HP switches implementing
                     the HPICF-AMP-SERVER MIB."
        MODULE
            MANDATORY-GROUPS
                        {
                          hpicfAMPServerConfigGroup,
                          hpicfArubaVPNConfigGroup1,
                          hpicfDefaultGatewayGroup
                        }
        ::= { hpicfAMPServerMIBCompliances 3 }

    hpicfAMPServerConfigGroup OBJECT-GROUP
        OBJECTS {
            hpicfAMPServerIP,
            hpicfAMPServerIPType,
	    hpicfAMPServerGroup,
	    hpicfAMPServerFolder,
            hpicfAMPServerSecret,
            hpicfAMPServerConfigStatus,
            hpicfAMPServerRetryInterval
	}
        STATUS      current
        DESCRIPTION "A collection of objects to support the AMP server."
        ::= { hpicfAMPServerMIBGroups 1 }

    hpicfArubaVPNConfigGroup OBJECT-GROUP
        OBJECTS {
            hpicfArubaVPNRowStatus,
            hpicfArubaVPNIPType,
            hpicfArubaVPNIP,
            hpicfArubaVPNTos,
            hpicfArubaVPNTtl
        }
        STATUS      deprecated
        DESCRIPTION "A collection of objects to support the Controller."
        ::= { hpicfAMPServerMIBGroups 2 }

    hpicfDefaultGatewayGroup OBJECT-GROUP
        OBJECTS {
              hpicfArubaVPNGateway
        }
        STATUS      current
        DESCRIPTION "A collection of objects to support default gateway."
        ::= { hpicfAMPServerMIBGroups 3 }

    hpicfArubaVPNConfigGroup1 OBJECT-GROUP
        OBJECTS {
            hpicfArubaVPNRowStatus,
            hpicfArubaVPNIPType,
            hpicfArubaVPNIP,
            hpicfArubaVPNTos,
            hpicfArubaVPNTtl,
            hpicfArubaVPNBkpIPType,
            hpicfArubaVPNBkpIP
        }
        STATUS      current
        DESCRIPTION "A collection of objects to support the Controller."
        ::= { hpicfAMPServerMIBGroups 4 }

END
