Cláusula INDEX
A cláusula INDEX especifica uma chave para selecionar uma linha exclusiva em uma coleção escalar ou tabela. O provedor SNMP mapeia para um tipo diferente de classe CIM dependendo do tipo de tabela que o dispositivo SNMP usa. Como uma chave pode ser mais de um tipo de objeto, o provedor usa regras de mapeamento diferentes, dependendo do tipo de objeto dentro da chave. Para obter mais informações, consulte Tipos de dados da cláusula INDEX.
Observação
Para obter mais informações sobre como instalar o provedor, consulte Configurando o ambiente SNMP WMI.
Uma coleção escalar mapeia para uma classe CIM singleton: ou seja, uma classe que pode ter apenas uma instância. Como não há necessidade de identificar exclusivamente uma instância de outra, uma classe singleton não designa uma ou mais propriedades como a chave. Classes geradas a partir de coleções escalares:
- Não contenha qualificadores de propriedade Key.
- Contenha o qualificador de classe CIM padrão Singleton, que é do tipo Bool.
Uma coleção de tabelas mapeia para uma classe CIM que pode ter mais de uma instância. Como resultado, a definição de classe CIM deve conter pelo menos uma propriedade que define a chave do objeto; ou seja, uma propriedade que identifica exclusivamente uma instância da classe. A cláusula INDEX da macro OBJECT-TYPE de uma coleção de tabelas especifica o conjunto de propriedades de chave da coleção. Aplicam-se as seguintes regras de mapeamento:
O qualificador CIM Key, tipo Bool, define uma propriedade de chave.
A ordenação das informações INDEX dentro da coleção de tabelas define a ordenação das chaves dentro da definição de classe CIM.
O qualificador CIM Key_Order define a ordenação das chaves. Este qualificador é um valor inteiro de 32 bits não assinado que, para fins da sintaxe do qualificador MOF, deve ser convertido em um valor inteiro de 32 bits assinado usando a operação twos-complement.
Atualmente, o mapeamento da cláusula SNMPv2C INDEX não lida com o uso do qualificador de IMPLÍCITO. Neste caso, não é gerada uma definição de classe CIM.
Tipos de dados da cláusula INDEX
Devido à flexibilidade da cláusula INDEX dentro da macro OBJECT-TYPE, a especificação de propriedades chaveadas não é simples. Em vez disso, você deve considerar as possibilidades de que a cláusula INDEX possa conter um ou mais dos seguintes tipos de dados:
Valor indexobject acessível internamente
O valor indexobject é um valor nomeado que se refere a uma definição de objeto MIB que aparece na linha conceitual da mesma tabela que contém a cláusula INDEX. A definição de objeto MIB referida na cláusula INDEX mapeia para uma propriedade chave da definição de classe CIM.
Valor de indexobject acessível externamente
Nesse caso, indexobject é um valor nomeado que se refere a uma definição de objeto MIB que aparece na linha conceitual de uma tabela diferente.
Acessível valor de de tipo de índice
O valor indextype é um tipo nomeado que se refere a um dos seguintes tipos de dados: INTEGER, OCTET STRING, OBJECT IDENTIFIER, NetworkAddressou IpAddress. Se a cláusula INDEX contiver uma referência do tipo MIB, aplicam-se as seguintes regras de mapeamento:
- O objeto MIB referido a mapas para uma propriedade chave da definição de classe CIM. Sua sintaxe de tipo é baseada no indextype valor especificado, que mapeia para qualificadores de propriedade CIM usando a cláusula padrão SYNTAX procedimentos de mapeamento.
- O processo de mapeamento gera um nome de propriedade exclusivo concatenando o descritor de objeto da tabela MIB, um sublinhado (_) e a ordem de classificação da cláusula INDEX valor de do tipo de índice. Por exemplo, o nome da propriedade para o terceiro componente indextype da tabela MIB enterpriseIfTable é enterpriseIfTable_3.
- A propriedade CIM é anotada com o qualificador Virtual_Key. Este qualificador especifica que o provedor SNMP deve calcular o valor da propriedade com base no superconjunto de informações de instância associadas a todas as definições de objeto MIB acessíveis na definição de classe.
- A definição de classe CIM deve conter pelo menos uma propriedade que não tenha um qualificador de Virtual_Key associado; A falha ao especificar essa propriedade invalida a definição de classe.
Subtipo de comprimento fixo
Quando a cláusula INDEX de uma coleção de tabelas SNMP contém um tipo suportado por SNMP que é subtipado como uma OCTET STRING de comprimento fixo, o qualificador de propriedade CIM Fixed_Length deve ser usado para especificar esse valor.