Cláusula INDEX
La cláusula INDEX especifica una clave para seleccionar una fila única en una colección escalar o de tabla. El proveedor SNMP se asigna a un tipo diferente de clase CIM en función del tipo de tabla que usa el dispositivo SNMP. Dado que una clave puede ser de más de un tipo de objeto, el proveedor usa reglas de asignación diferentes en función del tipo de objeto dentro de dicha clave. Para obtener más información, consulte Tipos de datos de la cláusula INDEX.
Nota
Para más información sobre cómo instalar el proveedor, consulte Configuración del entorno SNMP de WMI.
Una colección escalar se asigna a una clase singleton CIM: es decir, una clase que solo puede tener una instancia. Dado que no es necesario identificar de forma única una instancia de otra, una clase singleton no designa una o más propiedades como clave. Clases generadas a partir de colecciones escalares:
- No contienen calificadores de propiedad Key.
- No contienen el calificador de clase CIM estándar Singleton, que es de tipo Bool.
Una colección de tablas se asigna a una clase CIM que puede tener más de una instancia. El resultado es que la definición de clase CIM debe contener al menos una propiedad que defina la clave de objeto; es decir, una propiedad que identifique de forma única una instancia de la clase. La cláusula INDEX de la macro OBJECT-TYPE de una colección de tablas especifica el conjunto de propiedades de clave de la colección. Se aplican las reglas de asignación siguientes:
El calificador CIM Key, tipo Bool, define una propiedad de clave.
La ordenación de la información INDEX dentro de la colección de tablas define la ordenación de las claves dentro de la definición de la clase CIM.
El calificador CIM Key_Order define el orden de las claves. Este calificador es un valor entero de 32 bits sin signo que, para los fines de la sintaxis del calificador MOF, se debe convertir en un valor entero de 32 bits con signo mediante la operación twos-complement.
Actualmente, la asignación de la cláusula INDEX SNMPv2C no controla el uso del calificador IMPLICIT. En este caso, no se genera una definición de clase CIM.
Tipos de datos de cláusula INDEX
Debido a la flexibilidad de la cláusula INDEX dentro de la macro OBJECT-TYPE, la especificación de propiedades con clave no es sencilla. En su lugar, debe tener en cuenta las posibilidades de que la cláusula INDEX pueda contener uno o varios de los siguientes tipos de datos:
Valor indexobject accesible internamente
El valor indexobject es un valor con nombre que hace referencia a una definición de objeto MIB que aparece en la fila conceptual de la misma tabla que contiene la cláusula INDEX. La definición de objeto MIB a la que se hace referencia en la cláusula INDEX se asigna a una propiedad de clave de la definición de clase CIM.
Valor indexobject accesible externamente
En este caso, indexobject es un valor con nombre que hace referencia a una definición de objeto MIB que aparece en la fila conceptual de una tabla diferente.
Valor indextype accesible
El valor indextype es un tipo con nombre que hace referencia a uno de los siguientes tipos de datos: INTEGER, OCTET STRING, OBJECT IDENTIFIER, NetworkAddress o IpAddress. Si la cláusula INDEX contiene una referencia de tipo MIB, se aplican las siguientes reglas de asignación:
- El objeto MIB al que se hace referencia se asigna a una propiedad clave de la definición de clase CIM. Su sintaxis de tipo se basa en el valor indextype especificado, que se asigna a calificadores de propiedad CIM mediante los procedimientos de asignación de la cláusula SYNTAX estándar.
- El proceso de asignación genera un nombre de propiedad único mediante la concatenación del descriptor de objeto de tabla MIB, un carácter de subrayado (_) y el orden de clasificación del valor indextype de la cláusula INDEX. Por ejemplo, el nombre de propiedad del tercer indextype de componente de la tabla MIB enterpriseIfTable es enterpriseIfTable_3.
- La propiedad CIM se anota con el calificador Virtual_Key. Este calificador especifica que el proveedor SNMP debe calcular el valor de la propiedad en función del superconjunto de información de instancia asociada a todas las definiciones de objeto MIB accesibles en la definición de clase.
- La definición de clase CIM debe contener al menos una propiedad que no tenga un calificador Virtual_Key asociado; si no se especifica esta propiedad, se invalida la definición de clase.
Subtipo de longitud fija
Cuando la cláusula INDEX de una colección de tablas SNMP contiene un tipo compatible con SNMP en se establece como subtipo como OCTET STRING de longitud fija, el calificador de propiedad CIM Fixed_Length debe usarse para especificar este valor.