TACACS-CLIENT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32 	FROM SNMPv2-SMI
    InetAddress, InetAddressType               FROM INET-ADDRESS-MIB
    TEXTUAL-CONVENTION, RowStatus              FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP            FROM SNMPv2-CONF
    switch                                     FROM QUANTA-SWITCH-MIB
	InterfaceIndexOrZero                       FROM IF-MIB;

agentTacacsClientMIB MODULE-IDENTITY
    LAST-UPDATED "201108310000Z" -- 26 Jan 2011 12:00:00 GMT
    ORGANIZATION "QCI"
        CONTACT-INFO
          "                      Customer Support
          Postal:                Quanta Computer Inc.
                                 4, Wen Ming 1 St., Kuei Shan Hsiang,
                                 Tao Yuan Shien, Taiwan, R.O.C.
          Tel:                   +886 3 328 0050
          E-Mail:                strong.chen@quantatw.com"
    DESCRIPTION
        "This MIB module defines a portion of the SNMP MIB under
         the Quanta Computer Inc. enterprise OID pertaining to
         TACACS+ client configuration."
    ::= { switch 18 }

    --***********************************************************************
    -- MIB Objects
    --***********************************************************************

    agentTacacsClientObjects   OBJECT IDENTIFIER ::= { agentTacacsClientMIB 1 }

    --***********************************************************************
    -- agentTacacsGlobalConfigGroup -> objects in this group are GlobalConfig 
    -- of the TACACS client. 
    --***********************************************************************
    agentTacacsGlobalConfigGroup          OBJECT IDENTIFIER
                         ::= { agentTacacsClientObjects 1 }

    agentTacacsGlobalTimeout OBJECT-TYPE
    SYNTAX      Unsigned32 (1..30)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The time-out in seconds for communication 
         with  TACACS servers ."
    DEFVAL { 5 }
    ::= { agentTacacsGlobalConfigGroup 1 }

    agentTacacsGlobalKey OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Encryption and Authentication key used in 
         communication with  TACACS servers ."
    ::= { agentTacacsGlobalConfigGroup 2 }

    agentTacacsGlobalEncrypted OBJECT-TYPE
       SYNTAX      INTEGER{
                   active(1),
                   encrypted(2),
                   none(3)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The row status of this entry .
               Supported values:
                   active(1)      - valid entry
                   encrypted(2)   - encrypted
                   none(3)        - don't encrypted"
    ::= { agentTacacsGlobalConfigGroup 3 }

    agentTacacsSourceInterface OBJECT-TYPE
       SYNTAX      InterfaceIndexOrZero
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A source-interface selection on an Interface Index (like vlan based
                routing interface, port based routing interface, loopback interface).
                A non-zero value indicates ifIndex for the corresponding interface
                entry in the ifTable is selected. A zero value indicates the
                source-interface un-selection."
       ::= { agentTacacsGlobalConfigGroup 4 }
	   

    agentTacacsServerTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF  AgentTacacsServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of Tacacs server entries"
    ::= { agentTacacsClientObjects 2 }

    agentTacacsServerEntry OBJECT-TYPE
    SYNTAX     AgentTacacsServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the Tacacs Server table."
    INDEX     {agentTacacsServerIpAddress}
    ::= { agentTacacsServerTable 1 }

    AgentTacacsServerEntry ::=
       SEQUENCE {
           agentTacacsServerIpAddress
                InetAddress,
           agentTacacsServerIpAddrType
                InetAddressType,
           agentTacacsPortNumber
                Unsigned32,
           agentTacacsTimeOut
                Unsigned32,
           agentTacacsKey
                OCTET STRING,
           agentTacacsPriority
                Unsigned32,
           agentTacacsServerStatus
                RowStatus,
           agentTacacsEncrypted
                INTEGER
   }
   
    agentTacacsServerIpAddress OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "The IP address or HostName of the TACACS server."
       ::= { agentTacacsServerEntry 1 }

    agentTacacsServerIpAddrType OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The type of address of the TACACS server. 
                IPv4 and DNS types are supported currently"
       ::= { agentTacacsServerEntry 2 }
       
    agentTacacsPortNumber OBJECT-TYPE
       SYNTAX      Unsigned32(0..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "The port number of the TACACS server."
       DEFVAL { 49 }
       ::= { agentTacacsServerEntry 3 }

    agentTacacsTimeOut OBJECT-TYPE
       SYNTAX      Unsigned32(1..30)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "The time out value for the TACACS server. 
               If not set the value of agentTacacsGlobalTimeout will be used"
       ::= { agentTacacsServerEntry 4 }

    agentTacacsKey OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE(0..128)) 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "The authentication key for the TACACS server."
       ::= { agentTacacsServerEntry 5 }

    agentTacacsPriority OBJECT-TYPE
       SYNTAX      Unsigned32(0..65535) 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "The priority of the TACACS server."
       DEFVAL { 0 }
       ::= { agentTacacsServerEntry 6 }

    agentTacacsServerStatus OBJECT-TYPE
       SYNTAX      RowStatus 
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The row status of this entry .
               Supported values:
                   active(1)      - valid entry
                   createAndGo(4) - used to create a new entry
                   destroy(6)     - removes the entry."
       ::= { agentTacacsServerEntry 7 }
       
    agentTacacsEncrypted OBJECT-TYPE
       SYNTAX      INTEGER{
                   active(1),
                   encrypted(2),
                   none(3)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The row status of this entry .
               Supported values:
                   active(1)      - valid entry
                   encrypted(2)   - encrypted
                   none(3)        - don't encrypted"
       ::= { agentTacacsServerEntry 8 }

END
