// Copyright (c) 1997-2004 Microsoft Corporation, All Rights Reserved #pragma autorecover #pragma classflags(64) #pragma namespace("\\\\.\\root\\Hardware") instance of __namespace{ name="ms_40c";}; #pragma namespace("\\\\.\\root\\Hardware\\ms_40c") [Description("ManagedElement est une classe abstraite qui fournit une superclasse commune (ou sommet de l’arborescence d’héritage) pour les classes sans association dans le schéma CIM.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_ManagedElement { [Description("La propriété Caption est une courte description textuelle (chaîne d’une seule ligne) de l’objet.") : Amended ToSubclass] string Caption; [Description("La propriété Description fournit un texte de description de l’objet.") : Amended ToSubclass] string Description; [Description("Nom convivial de l’objet. Cette propriété permet à chaque instance de définir un nom convivial en plus de ses propriétés/données d’identité clés et des informations de description. \nNotez que la propriété Name de ManagedSystemElement est également définie en tant que nom convivial. Toutefois, elle est souvent sous-classée en propriété Key. Il n’est pas raisonnable que la même propriété véhicule à la fois une identité et un nom convivial sans incohérences. Lorsque Name existe et qu’il n’est pas Key (par exemple, pour des instances de LogicalDevice), les mêmes informations peuvent être présentes dans les propriétés Name et ElementName.") : Amended ToSubclass] string ElementName; }; [Description("La classe CIM_ManagedSystemElement est la classe de base pour la hiérarchie des éléments du système. Tout composant distinctif d’un système est un candidat pour l’inclusion dans cette classe. Exemples de composants système : \n- composants de programmes tels que les serveurs d’applications, les bases de données et les applications ; \n- composants du système d’exploitation tels que les fichiers, les processus et les threads ; \n- composants de périphériques tels que les lecteurs de disque, les contrôleurs, les processeurs et les imprimantes ; \n- composants physiques tels que les processeurs et les cartes.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_ManagedSystemElement : CIM_ManagedElement { [Description("Valeur au format date/heure indiquant le moment où l’objet a été installé. Si cette valeur est vide, ceci n’indique pas que l’objet n’est pas installé.") : Amended ToSubclass] datetime InstallDate; [Description("La propriété Name définie l’étiquette par laquelle l’objet est connu. Lorsqu’elle est mise sous forme de sous-classe, la propriété Name peut être ignorée pour être une propriété Key.") : Amended ToSubclass] string Name; [Description("Indique les statuts actuels de l’élément. Plusieurs statuts opérationnels sont définis. La plupart des valeurs de l’énumération se passent d’explications. Toutefois, certaines d’entre elles sont expliquées en plus de détails. \n\"Accentué\" indique que l’élément fonctionne, mais nécessite une attention. Des exemples d’état \"Accentué\" sont la surchage ou la surchauffe. \nUn statut \"Prévention d’erreur\" indique que l’élément fonctionne tant bien que mal, mais qu’une défaillance va probablement se produire. \nUn statut de \"En service\" s’applique à un élément faisant l’objet d’une configuration, d’un entretien, d’un nettoyage ou d’une administration quelconque. \nUn statut de \"Aucun contact\" indique que le système de surveillance a connaissance de cet élément, mais qu’il n’a jamais pu établir la communication avec lui. \nUn statut de \"Perte de communication\" indique que l’élément ManagedSystem existe et qu’il a déjà été contacté, mais qu’il est actuellement inaccessible. \nLes statuts \"Arrêté\" et \"Abandonné\", bien que proches l’un de l’autre, diffèrent en ceci que le premier sous-entend un arrêt méthodique, alors que que le deuxième implique un arrêt brutal nécessitant peut-être une mise à jour de l’état et de la configuration de l’élément. \nUn statut de \"Dormant\" indique que l’élément est inactif ou a été arrêté doucement. \nUn statut de \"Entité de prise en charge liée à l’erreur\" indique que cet élément fonctionne peut-être correctement, mais qu’un autre élément dont il dépend est défaillant. Un exemple en serait un service réseau ou un point d’arrêt qui ne peut pas fonctionner en raison de problèmes survenus dans une couche inférieure du réseau. \nLe statut \"OK\" indique que l’élément a mené à bien son opération. Cette vaelur doit être combinée avec un statut d’OK, d’Erreur ou de Dégradé, cela afin de permettre au client de savoir si l’opération a réussi (terminé avec un statut d’OK) ou s’il a échoué (terminé avec un statut d’Erreur). Un statut final de Dégradé implique que l’opération s’est arrêtée, mais ne s’est pas terminée correctement ou a signalé une erreur. \n\"Terminé\" indique que l’élément contient des informations supplémentaires sur le mode d’alimentation dans le service PowerManagementService associé. \nOperationalStatus remplace la propriété Status sur ManagedSystemElement pour fournir une approche cohérente aux énumérations, pour répondre aux besoins d’implémentation pour une propriété de tableau, et pour offrir une possibilité de migration vers les environnements du futur. Cette modification n’a pas été faite plus tôt car elle nécessitait le qualifiant DÉPRÉCIÉ. En raison de la fréquente utilisation de la propriété Status dans les applications d’administration, il est fortement recommandé de fournir les deux propriétés Status ET OperationalStatus. En outre, la première valeur de OperationalStatus doit contenir le statut primaire de l’élément. Lorsqu’elle est lue par instrumentation, la propriété Status (à valeur unique) doit également fournir le statut primaire de l’élément.") : Amended ToSubclass,Values{"Inconnu", "Autre", "OK", "Détérioré", "Accentué", "Prévention d’erreur", "Erreur", "Erreur non récupérable", "Démarrage", "Arrêt", "Arrêté", "En service", "Aucun contact", "Perte de communication", "Abandonné", "Dormant", "Entité de prise en charge liée à l’erreur", "Terminé", "Mode d’alimentation", "Réservé au DMTF", "Réservé au fournisseur"} : Amended ToSubclass] uint16 OperationalStatus[]; [Description("Chaînes décrivant les diverses valeurs du tableau OperationalStatus. Par exemple, si \"Arrêt\" est la valeur attribuée à OperationalStatus, cette propriété peut comporter une explication relative à l’arrêt d’un objet. Notez que les entrées de ce tableau sont mises en corrélation avec celles du même index de tableau dans OperationalStatus.") : Amended ToSubclass] string StatusDescriptions[]; [Description("Chaîne indiquant l’état actuel de l’objet. Divers états opérationnels et non opérationnels sont définis. Cette propriété est obsolète et est remplacée par OperationalStatus, qui comprend la même sémantique dans son énumération. Cette modification s’explique pour 3 raisons : 1) L’état est défini de manière plus correcte sous forme de tableau. Cela permet de surmonter la limite relative à la description d’un état via une valeur unique, lorsqu’il s’agit réellement d’une propriété à valeurs multiples (par exemple, un élément peut avoir l’état OK et Arrêté. 2) Un MaxLen dont la valeur est 10 est trop restrictif et débouche sur des valeurs énumérées imprécises. 3) La modification d’un type de données uint16 a été traitée lors de la définition de CIM V2.0. Toutefois, les implémentations existantes de la version 1.0 utilisaient la propriété de chaîne sans modification du code. Par conséquent, l’état a été hérité dans le schéma. L’utilisation du qualificateur Déprécié permet de conserver la propriété existante tout en produisant une définition améliorée via OperationalStatus.") : Amended ToSubclass] string Status; [Description("Indique l’état opérationnel de l’élément. Cet attribut indique l’état de cet élément, mais pas nécessairement celui de ses sous-composants. Les valeurs possibles vont de 0 à 30, où 5 signifie que l’élément est tout à fait sain, et 30 signifie qu’il n’est pas du tout opérationnel. Le spectre suivant est défini : \n\"Erreur non récupérable\" (30) - Panne complète de l’élément, récupération impossible. Toutes les fonctionnalités de cet élément sont perdues. \n\"Défaillance critique\" (25) - L’élément ne fonctionne plus, la récupération RISQUE de ne pas être possible. \n\"Défaillance majeure\" (20) - L’élément est en panne. Il est possible que certaines fonctionnalités (ou toutes) de ce composant soient dégradées ou non opérationnelles. \n\"Défaillance mineure\" (15) - Toutes les fonctionnalités sont disponibles, mais certaines PEUVENT être dégradées. \n\"Obsolète/Avertissement\" (10) - L’élément est en état de marche et toutes les fonctionnalités sont offertes. Cependant, l’élément ne fonctionne pas au mieux de ses capacités. Par exemple, ses performances ne sont pas optimales, ou il signale des erreurs récupérables. \n\"OK\" (5) - L’élément est entièrement opérationnel, et fonctionne avec ses paramètres normaux et sans erreurs. \n\"Inconnu\" (0) - L’implémentation ne peut pas déterminer le HealthState. \nDMTF se réserve la partie inutilisée du spectre pour des HealthStates.") : Amended ToSubclass,Values{"Inconnu", "OK", "Obsolète/Avertissement", "Défaillance mineure", "Défaillance majeure", "Défaillance critique", "Erreur non récupérable", "Réservé au DMTF"} : Amended ToSubclass] uint16 HealthState; }; [Description("CIM_LogicalElement est une classe de base pour tous les composants du système qui représentent des composants système abstraits, par exemple Files, Processes ou LogicalDevices.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_LogicalElement : CIM_ManagedSystemElement { }; [Description("Cette classe étend LogicalElement pour abstraire le concept d’un élément activé et désactivé, par exemple LogicalDevice ou ServiceAccessPoint.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_EnabledLogicalElement : CIM_LogicalElement { [Description("EnabledState est une énumération d’entiers indiquant les états activé/désactivé d’un élément. Il peut également indiquer les transitions entre les états demandés. Par exemple, l’arrêt (valeur = 4) et le démarrage (valeur = 10) sont des états transitoires entre l’activation et la désactivation. Le texte ci-après résume les divers états activé/désactivé : \nActivé (2) indique que l’élément est en train/susceptible d’exécuter des commandes, qu’il traite les commandes mises en file d’attente et qu’il met en file d’attente les nouvelles demandes. \nDésactivé (3) indique que l’élément n’exécute pas de commandes et qu’il supprime toutes les nouvelles demandes. \nArrêt (4) indique que l’élément est sur le point d’avoir l’état Désactivé. \nNon applicable (5) indique que l’élément ne prend pas en charge l’activation/la désactivation. \nActivé mais hors connexion (6) indique que l’élément est peut-être en train d’exécuter des commandes et qu’il va supprimer toutes les nouvelles demandes. \nTest (7) indique que l’élément est à l’état de test. \nDifféré (8) indique que l’élément est peut-être en train d’exécuter des commandes mais qu’il va mettre en file d’attente toutes les nouvelles demandes. \nArrêter en douceur (9) indique que l’élément est activé mais dans un mode restreint. Le comportement de l’élément est similaire à celui de l’état Activé mais seul un ensemble restreint de commandes est traité. Toutes les autres demandes sont mises en file d’attente. \nDémarrage (10) indique que l’élément est sur le point d’avoir l’état Activé. Les nouvelles demandes sont mises en file d’attente.") : Amended ToSubclass,Values{"Inconnu", "Autre", "Activé", "Désactivé", "Arrêt en cours", "Non applicable", "Activé mais hors connexion", "En test", "Différé", "Arrêter en douceur", "Démarrage", "Réservé au DMTF", "Réservé au fournisseur"} : Amended ToSubclass] uint16 EnabledState; [Description("Chaîne décrivant l’état activé/désactivé de l’élément lorsque la propriété EnabledState a la valeur 1 (\"Autre\"). Cette propriété doit avoir la valeur NULL lorsque EnabledState a une autre valeur que 1.") : Amended ToSubclass] string OtherEnabledState; [Description("RequestedState est une énumération d’entiers indiquant le dernier état demandé ou souhaité pour l’élément. L’état réel de l’élément est représenté par EnabledState. Cette propriété est fournie pour comparer les derniers états activé/désactivé demandés et réels. Notez que lorsque EnabledState a la valeur 5 (\"Non applicable\"), cette propriété n’a pas de signification. Par défaut, la propriété RequestedState de l’élément a la valeur 5 (\"Aucune modification\"). Consultez la propriété Description de EnabledState pour plus d’informations sur les valeurs de l’énumération de RequestedState. \n\nNotez qu’il existe deux nouvelles valeurs dans RequestedState qui sont basées sur les états de EnabledState. Il s’agit de \"Redémarrer\" (10) et de \"Réinitialiser\" (11). La première valeur, Redémarrer, fait référence à l’état \"Arrêté\" puis au passage à l’état \"Activé\". La seconde valeur, Réinitialiser, indique que l’élément a d’abord l’état \"Désactivé\" puis \"Activé\". Il faut également noter la différence entre demander l’état \"Arrêté\" et demander l’état \"Désactivé\". Le premier état, Arrêté, est une transition ordonnée vers l’état Désactivé et peut impliquer une coupure de l’alimentation, afin d’effacer tout état existant. Le second état, Désactivé, est une désactivation immédiate de l’élément, de sorte qu’il cesse d’exécuter ou d’accepter les commandes ou les demandes de traitement. \n\nCette propriété est définie comme le résultat de l’appel d’une méthode (par exemple, Start ou StopService de CIM_Service) ; elle peut également être remplacée et définie comme WRITEable dans une sous-classe. L’utilisation d’une méthode est préférable à l’utilisation de la propriété WRITEable, car elle autorise un appel explicite de l’opération et le retour d’un code de résultat. \n\nIl est possible qu’une instance particulière de EnabledLogicalElement ne puisse pas prendre en charge RequestedStateChange. Dans ce cas, la valeur 12 (\"Non applicable\") est utilisée.") : Amended ToSubclass,Values{"Activé", "Désactivé", "Arrêté", "Aucune modification", "Hors connexion", "Test", "Différé", "Arrêter en douceur", "Redémarrer", "Réinitialiser", "Non applicable", "Réservé au DMTF", "Réservé au fournisseur"} : Amended ToSubclass] uint16 RequestedState; [Description("Valeur énumérée indiquant la configuration par défaut/de démarrage d’un administrateur pour l’état Activé d’un élément. Par défaut, l’élément a l’état \"Activé\" (valeur = 2).") : Amended ToSubclass,Values{"Activé", "Désactivé", "Non applicable", "Activé mais hors connexion", "Aucune valeur par défaut", "Réservé au DMTF", "Réservé au fournisseur"} : Amended ToSubclass] uint16 EnabledDefault; [Description("Date/heure de la dernière modification de la propriété EnabledState de l’élément. Si l’état de l’élément n’a pas changé et si cette propriété est renseignée, sa valeur d’intervalle doit être égale à 0. Si une modification d’état a été demandée mais qu’elle a été rejetée ou qu’elle est en attente d’être traitée, la propriété ne doit pas être mise à jour.") : Amended ToSubclass] datetime TimeOfLastStateChange; [Description("Demande que l’état de l’élément soit remplacé par la valeur spécifiée dans le paramètre de RequestedState. Lorsque l’état demandé est modifié, EnabledState et RequestedState sont identiques pour l’élément. L’appel de la méthode RequestStateChange à plusieurs reprises peut entraîner le remplacement/la perte des demandes antérieures. \nSi 0 est retourné, cela signifie que la tâche s’est correctement exécutée et que l’utilisation de ConcreteJob n’est pas nécessaire. Si 4096 (0x1000) est retourné, cela signifie que la tâche prendra du temps pour s’exécuter, que ConcreteJob sera créé et que sa référence sera retournée dans la tâche du paramètre de sortie. Tout autre code de retour indique une situation d’erreur.") : Amended ToSubclass,Values{"Terminé sans erreur", "Non pris en charge", "Erreur inconnue/non spécifiée", "Impossible de terminer avant le délai d’expiration", "Échec", "Paramètre non valide", "Utilisé", "Réservé au DMTF", "Paramètres de la méthode vérifiés - Travail démarré", "Transition d’état non valide", "Utilisation du paramètre de délai d’expiration non prise en charge", "Occupé", "Méthode réservée", "Spécifique au fournisseur"} : Amended ToSubclass] uint32 RequestStateChange([IN,Description("État demandé pour l’élément. Cette information est placée dans la propriété RequestedState de l’instance si le code de retour de la méthode RequestStateChange est 0, 3 ou 4096 (0x1000) - « Terminé sans erreur », « Délai d’expiration » ou « Travail démarré » respectivement. Consultez la description des propriétés EnabledState et RequestedState pour connaître les significations exactes des valeurs de RequestedState.") : Amended ToSubclass,Values{"Activé", "Désactivé", "Arrêté", "Hors connexion", "Test", "Différer", "Arrêter en douceur", "Redémarrer", "Réinitialiser", "Réservé au DMTF", "Réservé au fournisseur"} : Amended ToSubclass] uint16 RequestedState,[IN(FALSE),OUT,Description("Référence au travail (peut avoir la valeur null si la tâche est terminée).") : Amended ToSubclass] CIM_ConcreteJob Ref Job,[IN,Description("Délai d’expiration spécifiant le délai maximal attendu par le client pour la transition vers le nouvel état. Le format d’intervalle doit être utilisé pour spécifier TimeoutPeriod. La valeur 0 ou un paramètre null indique que le client n’a pas d’exigence en matière de délai de transition. \nSi cette propriété ne contient pas 0 ou null et si l’implémentation ne prend pas en charge ce paramètre, le code de retour doit indiquer « Utilisation du paramètre de délai d’expiration non prise en charge ».") : Amended ToSubclass] datetime TimeoutPeriod); }; [Description("CIM_System représente une entité de composants (définie par la relation SystemComponent), qui s’exécute comme un « ensemble fonctionnel ». Les systèmes sont des objets de niveau supérieur dans la hiérarchie CIM, qui ne nécessitent pas de portée ni de relations faibles pour pouvoir exister et disposer d’un contexte. Il convient de nommer et de gérer un système au niveau d’une entreprise. Par exemple, ComputerSystem est un type de système qui peut être nommé de manière unique et géré indépendamment dans une entreprise. Toutefois, cela n’est pas vrai pour l’alimentation (ou le sous-système de l’alimentation) de l’ordinateur. \n\nBien qu’un système puisse être considéré comme une collection, il ne s’agit pas du modèle approprié. Une collection est simplement un « conteneur » de membres. Un système est une abstraction de niveau supérieur créée à partir de ses composants individuels. Il ne se réduit pas à la somme de ses composants. Notez que le système est une sous-classe de EnabledLogicalElement qui permet l’activation/la désactivation fonctionnelle de l’ensemble de l’abstraction (à un niveau supérieur à celui de l’activation/la désactivation de ses composants).") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_System : CIM_EnabledLogicalElement { [Key,Description("CreationClassName indique le nom de la classe ou de la sous-classe utilisée dans la création d’une instance. Quand elle est utilisée avec les autres propriétés clés de cette classe, cette propriété permet à toutes les instances de cette classe et à ses sous-classes d’être identifiées de façon unique.") : Amended ToSubclass] string CreationClassName; [Key,Description("La propriété Name héritée sert de clé d’une instance System dans un environnement d’entreprise.") : Amended ToSubclass] string Name; [Description("L’objet CIM_System et ses dérivés sont des objets de niveau supérieur de CIM. Ils fournissent l’étendue pour de nombreux composants. Il est nécessaire d’avoir des clés système uniques. Une heuristique peut être définie dans les sous-classes système individuelles pour essayer de toujours générer la même clé de nom système. La propriété NameFormat identifie comment le nom système a été généré, en utilisant l’heuristique de la sous-classe.") : Amended ToSubclass] string NameFormat; [Description("Nom du propriétaire du système principal. Le propriétaire du système en est l’utilisateur principal.") : Amended ToSubclass] string PrimaryOwnerName; [Description("Chaîne qui fournit des informations sur la façon dont le propriétaire principal du système peut être joint (numéro de téléphone, adresse de messagerie, etc.).") : Amended ToSubclass] string PrimaryOwnerContact; [Description("Tableau (conteneur) de chaînes spécifiant les rôles définis par l’administrateur et qui sont joués par ce système dans l’environnement géré, par exemple « Serveur d’impression du bâtiment 8 » ou « Répertoires de l’utilisateur Dupond ». Un seul système peut avoir plusieurs rôles. \nNotez que la vue de l’instrumentation des « rôles » d’un système est définie par l’instanciation d’une sous-classe spécifique du système et/ou par les propriétés d’une sous-classe. Par exemple, la finalité de ComputerSystem est définie à l’aide des propriétés Dedicated et OtherDedicatedDescription.") : Amended ToSubclass] string Roles[]; }; [Description("Regroupement spécifique de ManagedSystemElements. Le regroupement est considéré comme une seule entité qui montre que tous ses composants sont administrés de manière similaire (par le même utilisateur, le même groupe d’utilisateurs ou la même stratégie). Il sert de point d’agrégation visant à associer un ou plusieurs des éléments suivants : périphériques réseau tels que les routeurs et les commutateurs, les serveurs et autres ressources accessibles aux systèmes finaux. Ce regroupement de périphériques joue un rôle essentiel, car il permet de s’assurer que la même stratégie et les mêmes actions d’administration s’appliquent à l’ensemble des périphériques du regroupement. Le comportement et/ou la sémantique spécifique de AdminDomain sont identifiables via leurs entités agrégées et associées.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_AdminDomain : CIM_System { [Description("La propriété NameFormat identifie le mode de génération du nom de AdminDomain à l’aide de l’heuristique spécifiée dans le modèle de système CIM V2. Elle suppose que les règles documentées sont suivies dans l’ordre pour déterminer et attribuer un nom. La liste de valeurs NameFormat définit la priorité d’attribution du nom de AdminDomain. \n\n\"FC\" est obsolète et est remplacé par \"WWN\" par souci de cohérence avec l’autre ValueMaps.") : Amended ToSubclass,Values{"Autre", "Système autonome", "Fournisseur d’accès réseau", "Centre d’opérations réseau", "Point de présence", "Fournisseur réseau régional", "IP", "IPX", "SNA", "Numéroter", "WAN", "LAN", "ISDN", "Relais de trames", "ATM", "E.164", "Infiniband", "Fibre Channel", "Espace de stockage des stratégies", "Nom WWN Fibre Channel"} : Amended ToSubclass] string NameFormat; }; [Description("Classe dérivée de System et qui représente une collection particulière de ManagedSystemElements. Cette collection offre des fonctionnalités de calcul et sert de point de regroupement pour un ou plusieurs des éléments suivants : FileSystem, OperatingSystem, Processor et Memory (stockage Volatile et/ou NonVolatile).") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_ComputerSystem : CIM_System { [Description("L’objet ComputerSystem et ses dérivés sont des objets de niveau supérieur de CIM. Ils fournissent la portée de nombreux composants. Il est nécessaire d’avoir des clés System uniques. La propriété NameFormat identifie la façon dont le nom de ComputerSystem est généré. Le qualificateur ValueMap de NameFormat définit les divers mécanismes d’attribution du nom. Notez qu’un autre nom peut être attribué et utilisé pour ComputerSystem afin de mieux correspondre aux besoins d’une entreprise, grâce à l’utilisation de la propriété ElementName héritée.") : Amended ToSubclass] string NameFormat; [Description("OtherIdentifyingInfo capture des données supplémentaires, en plus des informations de nom du système, qui permettent ensuite d’identifier un ComputerSystem. Par exemple, il est possible d’obtenir le nom WWN (World Wide Name) Fibre Channel d’un nœud. Notez que si seul le nom Fibre Channel est disponible et unique (utilisable comme clé System), cette propriété a la valeur NULL ; par ailleurs, le nom WWN devient la clé System, ses bases de données sont placées dans la propriété Name.") : Amended ToSubclass] string OtherIdentifyingInfo[]; [Description("Tableau de chaînes ouvertes fournissant des informations détaillées sur les entrées du tableau OtherIdentifying Info. Notez que chaque entrée de ce tableau est liée à l’entrée de OtherIdentifyingInfo au même index.") : Amended ToSubclass] string IdentifyingDescriptions[]; [Description("Énumération indiquant si ComputerSystem est un système spécifique (dédié à une utilisation particulière) par opposition à un système « général ». Par exemple, il est possible de définir si le système doit \"Imprimer\" (valeur = 11) ou servir de \"Concentrateur\" (valeur = 8). \nUne clarification est nécessaire par rapport à la valeur 17 (\"Périphérique utilisateur mobile\"). Un téléphone mobile ou un lecteur de codes barre de supermarché communiquent via une fréquence radio ; il s’agit d’exemples de périphériques utilisateur dédiés. Ces systèmes sont assez limités en termes de fonctionnalités et de programmabilité, ils ne sont pas considérés comme des plateformes « générales » de calcul. Un ordinateur de poche est un exemple de système mobile « général » (c’est-à-dire non dédié). Bien qu’ils soient limités dans leur programmabilité, de nouveaux logiciels peuvent être téléchargés, puis étendus (en termes de fonctionnalités) par l’utilisateur.") : Amended ToSubclass,Values{"Non dédié", "Inconnu", "Autre", "Stockage", "Routeur", "Basculer", "Commutateur de couche 3", "Commutateur central", "Concentrateur", "Serveur d’accès", "Pare-feu", "Imprimer", "E/S", "Mise en cache Web", "Administration", "Serveur de blocs", "Serveur de fichiers", "Périphérique utilisateur mobile", "Répéteur", "Pont/Module d’extension", "Passerelle", "Virtualiseur de stockage", "Bibliothèque multimédia", "ExtenderNode", "Tête NAS", "NAS autonome", "UPS", "Téléphone IP", "Réservé au DMTF", "Réservé au fournisseur"} : Amended ToSubclass] uint16 Dedicated[]; [Description("Chaîne indiquant de quelle manière ou pour quelle raison le système est dédié lorsque le tableau Dedicated comprend la valeur 2, \"Autre\".") : Amended ToSubclass] string OtherDedicatedDescriptions[]; [Description("S’il est activé (valeur = 4), ComputerSystem peut être réinitialisé de façon matérielle (par exemple, à l’aide des boutons de mise sous tension et de réinitialisation). S’il est désactivé (valeur = 3), la réinitialisation matérielle n’est pas autorisée. Outre les états Activé et Désactivé, d’autres valeurs sont également définies pour la propriété : \"Non mis en œuvre\" (5), \"Autre\" (1) et \"Inconnu\" (2).") : Amended ToSubclass,Values{"Autre", "Inconnu", "Désactivé", "Activé", "Non implémenté"} : Amended ToSubclass] uint16 ResetCapability; [Description("Tableau énuméré décrivant les possibilités de gestion de l’alimentation de ComputerSystem. L’utilisation de cette propriété est obsolète. Utilisez à la place la propriété PowerCapabilities dans une classe PowerManagementCapabilities associée.") : Amended ToSubclass,Values{"Inconnu", "Non pris en charge", "Désactivé", "Activé", "Entrée automatique en modes d’économie d’énergie", "État de l’alimentation réglable", "Cycles d’alimentation pris en charge", "Tension minutée prise en charge"} : Amended ToSubclass] uint16 PowerManagementCapabilities[]; [Description("Définit l’état de l’alimentation de l’ordinateur. L’utilisation de cette méthode est obsolète. Utilisez à la place la méthode SetPowerState dans la classe PowerManagementService associée.") : Amended ToSubclass] uint32 SetPowerState([IN,Description("État souhaité pour ComputerSystem.") : Amended ToSubclass,Values{"Alimentation maximale", "Économie d’énergie - Mode alimentation basse", "Économie d’énergie - Veille", "Économie d’énergie - Autre", "Cycle d’alimentation", "Hors tension", "Mettre en veille prolongée", "Désactivée par logiciel"} : Amended ToSubclass] uint32 PowerState,[IN,Description("Time indique le moment où l’état de l’alimentation doit être défini, soit sous forme de date/heure, soit sous forme de valeur d’intervalle (où l’intervalle commence dès que l’appel de la méthode est reçu).") : Amended ToSubclass] datetime Time); }; [Description("Une collection est une classe abstraite qui fournit une superclasse commune pour les éléments de données représentant les collections de ManagedElements et ses sous-classes.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_Collection : CIM_ManagedElement { }; [Description("SystemSpecificCollection représente le concept général d’une collection délimitée par un système (ou contenue dans ce dernier). Il représente une collection qui n’a de sens que dans le contexte d’un système et/ou dont les éléments sont limités par la définition du système. Ceci est décrit de manière explicite par l’association (obligatoire), HostedCollection. \nExemple de SystemSpecificCollection : une zone Fibre Channel qui collecte des ports réseau, des groupes et des alias de ports (conformément à la demande du client) dans le contexte de AdminDomain. La collection ne fait pas partie du domaine mais représente simplement un regroupement arbitraire de périphériques et d’autres collections du domaine. En d’autres termes, le contexte de la collection se limite au domaine ; par ailleurs, ses membres se limitent également au domaine.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_SystemSpecificCollection : CIM_Collection { [Key,Description("Dans l’étendue de l’espace de noms d’instanciation, InstanceID identifie de manière opaque et unique une instance de cette classe. Pour garantir l’unicité dans NameSpace, la valeur de InstanceID doit être construite à l’aide de l’algorithme « recommandé » suivant : \n: \nOù et sont séparés par un signe deux-points « : », et où doit inclure un nom protégé par le droit d’auteur, déposé ou unique, lequel doit être détenu par l’entité commerciale qui crée/définit InstanceID ou être un ID enregistré qui est attribué à l’entité commerciale par une autorité mondialement reconnue (ceci ressemble à la structure _ des noms de classes de schéma). En outre, pour garantir l’unicité, ne doit pas contenir de signe deux-points (« : »). Lors de l’utilisation de cet algorithme, le premier signe deux-points figurant dans InstanceID doit apparaître entre et . \n est choisi par l’entité commerciale et ne doit pas être réutilisé pour identifier d’autres éléments sous-jacents (réels). Si l’algorithme « recommandé » ci-dessus n’est pas utilisé, l’entité de définition doit garantir que le InstanceID résultant n’est réutilisé dans aucun des InstanceIDs produits par ce fournisseur (ou d’autres fournisseurs) pour le NameSpace de cette instance. \nPour les instances définies par le DMTF, l’algorithme « recommandé » doit être utilisé avec un ayant pour valeur « CIM ».") : Amended ToSubclass] string InstanceID; }; [Description("Abstraction ou émulation d’une entité matérielle pouvant éventuellement être réalisée sur du matériel physique. Toutes les caractéristiques de LogicalDevice, qui sont utilisées pour gérer son fonctionnement ou sa configuration, sont contenues dans l’objet LogicalDevice ou associées à ce dernier. Les formats de papier pris en charge ou les erreurs détectées sont des exemples de propriétés opérationnelles d’une imprimante. Les paramètres de seuil sont des exemples de propriétés de configuration d’un capteur. Diverses configurations peuvent exister pour LogicalDevice. Ces configurations peuvent être contenues dans des objets Setting et être associées à LogicalDevice.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_LogicalDevice : CIM_EnabledLogicalElement { [Key,Description("Le nom CreationClassName du système d’étendue.") : Amended ToSubclass] string SystemCreationClassName; [Key,Description("Le nom du système d’étendue.") : Amended ToSubclass] string SystemName; [Key,Description("CreationClassName indique le nom de la classe ou de la sous-classe utilisée dans la création d’une instance. Quand elle est utilisée avec les autres propriétés clés de cette classe, cette propriété permet à toutes les instances de cette classe et à ses sous-classes d’être identifiées de façon unique.") : Amended ToSubclass] string CreationClassName; [Key,Description("Adresse ou autre information d’identification permettant de nommer de manière unique LogicalDevice.") : Amended ToSubclass] string DeviceID; [Description("Valeur booléenne indiquant que le périphérique peut faire l’objet d’une gestion de l’alimentation. L’utilisation de cette propriété est obsolète. À la place, la classe PowerManagementCapabilities associée (via la relation ElementCapabilities) indique que la gestion de l’alimentation est prise en charge.") : Amended ToSubclass] boolean PowerManagementSupported; [Description("Tableau énuméré décrivant les possibilités de gestion de l’alimentation du périphérique. L’utilisation de cette propriété est obsolète. Utilisez à la place la propriété PowerCapabilites dans une classe PowerManagementCapabilities associée.") : Amended ToSubclass,Values{"Inconnu", "Non pris en charge", "Désactivé", "Activé", "Entrée automatique en modes d’économie d’énergie", "État de l’alimentation réglable", "Cycles d’alimentation pris en charge", "Tension minutée prise en charge"} : Amended ToSubclass] uint16 PowerManagementCapabilities[]; [Description("Disponibilité et état principal du périphérique (il est possible de spécifier des informations d’état supplémentaires à l’aide de la propriété de tableau AdditionalAvailability). Par exemple, la propriété Availability indique que le périphérique est dans un état d’exécution à pleine puissance (valeur = 3), un état d’avertissement (4), un état de test (5), un état de détérioration (10) ou un état d’économie d’énergie (valeurs 13, 14, 15 et 17). En ce qui concerne l’économie d’énergie, les différents états sont définis comme suit : 13 (\"Économie d’énergie - Inconnu\") indique que le périphérique est en mode d’économie d’énergie mais que son état exact est inconnu ; 14 (\"Économie d’énergie - Mode alimentation basse\") indique que le périphérique est dans un état d’économie d’énergie mais qu’il fonctionne toujours et que ses performances peuvent être affectées ; 15 (\"Économie d’énergie - Veille\") indique que le périphérique ne fonctionne pas mais qu’il peut être réactivé « rapidement » ; 17 (\"Économie d’énergie - Avertissement\") indique que le périphérique est dans un état d’avertissement, bien qu’il soit également en mode d’économie d’énergie.") : Amended ToSubclass,Values{"Autre", "Inconnu", "En cours d’exécution/Alimentation maximale", "Avertissement", "En test", "Non applicable", "Hors tension", "Hors connexion", "Hors service", "Détérioré", "Non installé", "Erreur d’installation", "Économie d’énergie - Inconnu", "Économie d’énergie - Mode alimentation basse", "Économie d’énergie - Veille", "Cycle d’alimentation", "Économie d’énergie - Avertissement", "En pause", "Non prêt", "Non configuré", "Arrêté doucement"} : Amended ToSubclass] uint16 Availability; [Description("La propriété StatusInfo indique si le périphérique logique est dans un état activé (valeur = 3), désactivé (valeur = 4), autre (1) ou inconnu (2). Si cette propriété ne s’applique pas à LogicalDevice, la valeur 5 (\"Non applicable\") doit être utilisée. StatusInfo est obsolète et est remplacé par une propriété plus explicite, qui comprend des valeurs énumérées supplémentaires (EnabledState) et qui est héritée de ManagedSystemElement. \nSi un périphérique est (\"Activé\") (valeur = 3), il est sous tension, configuré et opérationnel. Le périphérique peut éventuellement être actif d’un point de vue fonctionnel, selon que Availability (ou AdditionalAvailability) indique qu’il est (\"En cours d’exécution/Alimentation maximale\") (valeur = 3) ou (\"Hors connexion\") (valeur = 8). En mode activé mais hors connexion, un périphérique peut effectuer des demandes hors bande, par exemple exécuter des diagnostics. S’il est dans un état (\"Désactivé\") (valeur StatusInfo = 4), un périphérique peut uniquement être \"Activé\" ou mis hors tension. Dans un environnement informatique personnel, (\"Désactivé\") signifie que le pilote du périphérique n’est pas disponible dans la pile. Dans d’autres environnements, il est possible de désactiver un périphérique en supprimant son fichier de configuration. Un périphérique désactivé est physiquement présent dans un système et consomme des ressources, mais aucune communication n’est possible avec ce périphérique sans le chargement d’un pilote, le chargement d’un fichier de configuration ou toute autre activité d’\"activation\".") : Amended ToSubclass,Values{"Autre", "Inconnu", "Activé", "Désactivé", "Non applicable"} : Amended ToSubclass] uint16 StatusInfo; [Description("LastErrorCode capture le dernier code d’erreur signalé par LogicalDevice.") : Amended ToSubclass] uint32 LastErrorCode; [Description("ErrorDescription est une chaîne ouverte fournissant plus d’information sur l’erreur enregistrée dans la propriété LastErrorCode, et des informations sur toute action corrective envisageable.") : Amended ToSubclass] string ErrorDescription; [Description("ErrorCleared est une propriété booléenne qui indique que l’erreur signalée dans LastErrorCode n’existe plus.") : Amended ToSubclass] boolean ErrorCleared; [Description("OtherIdentifyingInfo capture des données supplémentaires, en plus des informations DeviceID, qui permettent d’identifier LogicalDevice. Par exemple, cette propriété peut contenir le nom convivial du système d’exploitation pour le périphérique.") : Amended ToSubclass] string OtherIdentifyingInfo[]; [Description("Nombre d’heures consécutives pendant lesquelles le périphérique est sous tension, depuis son dernier cycle d’alimentation.") : Amended ToSubclass] uint64 PowerOnHours; [Description("Nombre total d’heures écoulées depuis la mise sous tension du périphérique.") : Amended ToSubclass] uint64 TotalPowerOnHours; [Description("Tableau de chaînes ouvertes fournissant des informations détaillées sur les entrées du tableau OtherIdentifyingInfo. Notez que chaque entrée de ce tableau est liée à l’entrée de OtherIdentifyingInfo au même index.") : Amended ToSubclass] string IdentifyingDescriptions[]; [Description("Informations supplémentaires sur la disponibilité et l’état du périphérique, en plus de celles spécifiées dans la propriété Availability. Cette dernière indique les informations principales relatives à l’état et à la disponibilité du périphérique. Parfois, cela n’est pas suffisant pour décrire l’état complet du périphérique. Dans ce cas, la propriété AdditionalAvailability fournit des informations supplémentaires. Par exemple, les informations de disponibilité principales d’un périphérique peuvent être \"Hors connexion\" (valeur = 8), mais ce dernier peut également être dans un état d’alimentation faible (valeur AdditonalAvailability = 14), ou en train d’exécuter des diagnostics (valeur AdditionalAvailability = 5, \"En test\").") : Amended ToSubclass,Values{"Autre", "Inconnu", "En cours d’exécution/Alimentation maximale", "Avertissement", "En test", "Non applicable", "Hors tension", "Hors connexion", "Hors service", "Détérioré", "Non installé", "Erreur d’installation", "Économie d’énergie - Inconnu", "Économie d’énergie - Mode alimentation basse", "Économie d’énergie - Veille", "Cycle d’alimentation", "Économie d’énergie - Avertissement", "En pause", "Non prêt", "Non configuré", "Arrêté doucement"} : Amended ToSubclass] uint16 AdditionalAvailability[]; [Description("La propriété MaxQuiesceTime est obsolète. Lors de l’évaluation de Quiesce, il a été considéré que cette propriété n’était pas appropriée pour décrire le moment où un périphérique quitte automatiquement un état d’arrêt en douceur. En effet, le scénario le plus probable pour la fin de l’arrêt en douceur d’un périphérique était basé sur le nombre de demandes non traitées en file d’attente plutôt que sur un délai maximal. Ce point sera reconsidéré et réadapté ultérieurement. \nDélai maximal d’exécution d’un périphérique dans l’état \"Arrêté doucement\" en millisecondes. L’état d’un périphérique est défini dans ses propriétés Availability et AdditionalAvailability, où \"Arrêté doucement\" correspond à la valeur 21. Ce qui se produit à la fin du délai dépend du périphérique. Le périphérique peut annuler l’arrêt en douceur, passer en mode hors connexion ou effectuer une autre action. La valeur 0 indique qu’un périphérique peut conserver indéfiniment l’état d’arrêt en douceur.") : Amended ToSubclass] uint64 MaxQuiesceTime; [Description("Définit l’état de l’alimentation du périphérique. L’utilisation de cette méthode est obsolète. Utilisez à la place la méthode SetPowerState dans la classe PowerManagementService associée.") : Amended ToSubclass] uint32 SetPowerState([IN,Description("État de l’alimentation à définir.") : Amended ToSubclass,Values{"Alimentation maximale", "Économie d’énergie - Mode alimentation basse", "Économie d’énergie - Veille", "Économie d’énergie - Autre", "Cycle d’alimentation", "Hors tension"} : Amended ToSubclass] uint16 PowerState,[IN,Description("Time indique le moment où l’état de l’alimentation doit être défini, soit sous forme de date/heure, soit sous forme de valeur d’intervalle (où l’intervalle commence dès que l’appel de la méthode est reçu).") : Amended ToSubclass] datetime Time); [Description("Demande une réinitialisation de LogicalDevice. La valeur de retour doit être 0 si la demande s’est correctement exécutée, 1 si la demande n’est pas prise en charge et une autre valeur si une erreur s’est produite. Dans une sous-classe, il est possible de spécifier l’ensemble des codes de retour en utilisant un qualificateur ValueMap sur la méthode. Les chaînes vers lesquelles le contenu ValueMap est « traduit » peuvent également être spécifiées dans la sous-classe sous forme de qualificateur de tableau Values.") : Amended ToSubclass] uint32 Reset(); [Description("La méthode EnableDevice est obsolète et est remplacée par la méthode plus générale RequestStateChange qui recouvre directement la fonctionnalité fournie par cette méthode. \nDemande que LogicalDevice soit activé (paramètre d’entrée \"Activé\" = TRUE) ou désactivé (= FALSE). En cas de réussite, les propriétés StatusInfo/EnabledState du périphérique doivent refléter l’état souhaité (activé/désactivé). Notez que la fonctionnalité de cette méthode recouvre celle de la propriété RequestedState. La propriété RequestedState a été ajoutée au modèle pour conserver un enregistrement (c’est-à-dire une valeur permanente) de la dernière demande d’état. L’appel de la méthode EnableDevice doit permettre de définir la propriété RequestedState de manière appropriée. \nLe code de retour doit être 0 si la demande s’est correctement exécutée, 1 si la demande n’est pas prise en charge et une autre valeur si une erreur s’est produite. Dans une sous-classe, il est possible de spécifier l’ensemble des codes de retour en utilisant un qualificateur ValueMap sur la méthode. Les chaînes vers lesquelles le contenu ValueMap est « traduit » peuvent également être spécifiées dans la sous-classe sous forme de qualificateur de tableau Values.") : Amended ToSubclass] uint32 EnableDevice([IN,Description("Si la valeur est TRUE, le périphérique est activé ; si la valeur est FALSE, le périphérique est désactivé.") : Amended ToSubclass] boolean Enabled); [Description("La méthode OnlineDevice est obsolète et est remplacée par la méthode plus générale RequestStateChange qui recouvre directement la fonctionnalité fournie par cette méthode. \nDemandes visant à mettre LogicalDevice en ligne (paramètre d’entrée \"En ligne\" = TRUE) ou hors connexion (= FALSE). \"En ligne\" indique que le périphérique est prêt à accepter les demandes, qu’il est opérationnel et fonctionnel. Dans ce cas, la propriété Availability du périphérique a la valeur 3 (\"En cours d’exécution/Alimentation maximale\"). \"Hors connexion\" indique qu’un périphérique est sous tension et opérationnel, mais qu’il ne traite pas de demandes fonctionnelles. Dans un état hors connexion, un périphérique peut exécuter des diagnostics ou générer des alertes opérationnelles. Par exemple, lorsque le bouton \"Hors connexion\" d’une imprimante est enfoncé, le périphérique n’est plus capable de traiter les travaux d’impression ; toutefois, il peut effectuer des opérations de diagnostic ou de maintenance. \nSi cette méthode réussit, les propriétés Availability et AdditionalAvailability du périphérique doivent refléter l’état mis à jour. Si une défaillance se produit lors de la mise en ligne ou hors connexion du périphérique, celui-ci doit rester dans son état actuel. En d’autres termes, si la demande échoue, le périphérique ne doit pas rester dans un état indéterminé. Lorsque le périphérique est remis \"En ligne\" à partir du mode \"Hors connexion\", il doit revenir à son dernier état \"En ligne\", dans la mesure du possible. Seul un périphérique dont EnabledState/StatusInfo a pour valeur \"Activé\" et qui est configuré peut être mis en ligne ou hors connexion. \nOnlineDevice doit retourner 0 en cas de succès, 1 si la demande n’est pas du tout prise en charge, 2 si la demande n’est pas prise en charge en raison de l’état actuel du périphérique et une autre valeur si un autre type d’erreur se produit. Dans une sous-classe, il est possible de spécifier l’ensemble des codes de retour en utilisant un qualificateur ValueMap sur la méthode. Les chaînes vers lesquelles le contenu ValueMap est « traduit » peuvent également être spécifiées dans la sous-classe sous forme de qualificateur de tableau Values. \nNotez que la fonctionnalité de cette méthode recouvre celle de la propriété RequestedState. La propriété RequestedState a été ajoutée au modèle pour conserver un enregistrement (c’est-à-dire une valeur permanente) de la dernière demande d’état. L’appel de la méthode OnlineDevice doit permettre de définir la propriété RequestedState de manière appropriée.") : Amended ToSubclass] uint32 OnlineDevice([IN,Description("Si la valeur est TRUE, le périphérique est mis en ligne ; si la valeur est FALSE, le périphérique est mis hors connexion.") : Amended ToSubclass] boolean Online); [Description("La méthode QuiesceDevice est obsolète et est remplacée par la méthode plus générale RequestStateChange qui recouvre directement la fonctionnalité fournie par cette méthode. \nDemande que LogicalDevice cesse toute activité en cours (paramètre d’entrée \"Arrêter en douceur\" = TRUE) ou reprenne une activité (= FALSE). Pour permettre à cette méthode d’arrêter doucement un périphérique, la propriété Availability (ou Additional Availability) de ce dernier doit correspondre à l’état \"En cours d’exécution/Alimentation maximale\" (valeur = 3) alors que EnabledStatus/StatusInfo doit correspondre à l’état \"Activé\". Par exemple, si un périphérique est arrêté doucement, il peut ensuite être mis hors connexion pour des diagnostics ou être désactivé pour une mise hors tension et un remplacement à chaud. Pour permettre à la méthode d’\"Annuler l’arrêt en douceur\" d’un périphérique, la propriété Availability (ou AdditionalAvailability) de ce dernier doit correspondre à l’état \"Arrêté doucement\" (valeur = 21) alors que EnabledStatus/StatusInfo doit correspondre à l’état \"Activé\". Dans ce cas, le périphérique revient à l’état \"Activé\" et \"En cours d’exécution/Alimentation maximale\". \nLe code de retour de la méthode doit indiquer la réussite ou l’échec de l’arrêt en douceur. Il doit avoir la valeur 0 en cas de réussite, 1 si la demande n’est pas du tout prise en charge, 2 si la demande n’est pas prise en charge en raison de l’état actuel du périphérique et une autre valeur si un autre type d’erreur s’est produit. Dans une sous-classe, il est possible de spécifier l’ensemble des codes de retour en utilisant un qualificateur ValueMap sur la méthode. Les chaînes vers lesquelles le contenu ValueMap est « traduit » peuvent également être spécifiées dans la sous-classe sous forme de qualificateur de tableau Values.") : Amended ToSubclass] uint32 QuiesceDevice([IN,Description("Si la valeur est TRUE, toute activité est arrêtée en douceur ; si la valeur est FALSE, l’activité est reprise.") : Amended ToSubclass] boolean Quiesce); [Description("Demande que le périphérique capture ses informations actuelles de configuration, d’installation et/ou d’état dans un magasin de stockage. En règle générale, ce scénario est géré par la sous-classe ConfigurationData de SettingData. Par conséquent, cette méthode est obsolète. \n\nLes informations retournées par cette méthode peuvent être utilisées ultérieurement (via la méthode RestoreProperties) afin de rendre à un périphérique sa \"Condition\" actuelle. Cette méthode n’est peut-être pas prise en charge par tous les périphériques. La méthode doit retourner 0 en cas de réussite, 1 si la demande n’est pas prise en charge et une autre valeur si un autre type d’erreur s’est produit. Dans une sous-classe, il est possible de spécifier l’ensemble des codes de retour en utilisant un qualificateur ValueMap sur la méthode. Les chaînes vers lesquelles le contenu ValueMap est « traduit » peuvent également être spécifiées dans la sous-classe sous forme de qualificateur de tableau Values.") : Amended ToSubclass] uint32 SaveProperties(); [Description("Demande que le périphérique rétablisse ses informations de configuration, d’installation et/ou d’état à partir d’un magasin de stockage. En règle générale, ce scénario est géré par la sous-classe ConfigurationData de SettingData. Par conséquent, cette méthode est obsolète. \n\nLes informations sont capturées antérieurement (via la méthode SaveProperties). Cette méthode n’est peut-être pas prise en charge par tous les périphériques. La méthode doit retourner 0 en cas de réussite, 1 si la demande n’est pas prise en charge et une autre valeur si un autre type d’erreur s’est produit. Dans une sous-classe, il est possible de spécifier l’ensemble des codes de retour en utilisant un qualificateur ValueMap sur la méthode. Les chaînes vers lesquelles le contenu ValueMap est « traduit » peuvent également être spécifiées dans la sous-classe sous forme de qualificateur de tableau Values.") : Amended ToSubclass] uint32 RestoreProperties(); }; [Description("Un capteur est un périphérique matériel capable de mesurer les caractéristiques d’une propriété physique, par exemple les caractéristiques de température ou de tension d’un système UnitaryComputer.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_Sensor : CIM_LogicalDevice { [Description("Type de capteur, par exemple un capteur de tension ou de température. Si le type est \"Autre\", OtherSensorTypeDescription permet d’identifier le type de manière plus approfondie. Si le capteur a des valeurs numériques, son type peut être implicitement déterminé par ses unités de mesure. Voici une description de différents types de capteurs : un capteur de température mesure la température ambiante. Les capteurs de tension et de courant mesurent les valeurs relatives à la tension et au courant électrique. Un tachymètre mesure la vitesse de rotation d’un périphérique. Par exemple, un tachymètre peut être associé à un ventilateur pour mesurer la vitesse de ce dernier. Un compteur est un capteur d’ordre général qui mesure certaines propriétés numériques d’un périphérique. La valeur d’un compteur peut être effacée mais elle ne peut jamais être réduite. Un capteur à commutation possède divers états : Ouvert/Fermé, Activé/Désactivé ou Haut/Bas. Un capteur de verrouillage possède les états Verrouillé/Déverrouillé. Les capteurs d’humidité, de fumée, de détection et d’écoulement de l’air mesurent les caractéristiques environnementales correspondantes. Un capteur de présence détecte la présence d’un élément PhysicalElement.") : Amended ToSubclass,Values{"Inconnu", "Autre", "Température", "Tension", "Actuel", "Tachymètre", "Compteur", "Basculer", "Verrou", "Humidité", "Détection de fumée", "Présence", "Écoulement de l’air"} : Amended ToSubclass] uint16 SensorType; [Description("Chaîne décrivant le type de capteur ; utilisée lorsque la propriété SensorType a la valeur \"Autre\".") : Amended ToSubclass] string OtherSensorTypeDescription; [Description("PossibleStates énumère les sorties de chaînes du capteur. Par exemple, un capteur à \"Basculer\" peut générer les états \"Activé\" ou \"Désactivé\". Dans une autre forme d’implémentation de la commutation, les états \"Ouvert\" et \"Fermé\" peuvent être générés. Un capteur numérique NumericSensor prenant en charge les seuils constitue un autre exemple. Ce type de capteur peut signaler les états \"Normal\", \"Irrécupérable\", \"Non critique\", etc. Un capteur numérique NumericSensor qui n’indique pas de valeurs ou de seuils, mais qui stocke ces données de manière interne, peut toujours signaler ses états.") : Amended ToSubclass] string PossibleStates[]; [Description("État actuel indiqué par le capteur. Il s’agit toujours de l’un des états de \"PossibleStates\".") : Amended ToSubclass] string CurrentState; [Description("Fréquence d’interrogation utilisée par le matériel de détection ou l’instrument pour déterminer l’état actuel du capteur.") : Amended ToSubclass] uint64 PollingInterval; }; [Description("Un capteur numérique est capable de renvoyer des valeurs numériques et en option de prendre en charge les paramètres de seuil.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_NumericSensor : CIM_Sensor { [Description("Unité de base des valeurs retournées par ce capteur. Toutes les valeurs retournées sont représentées dans les unités obtenues (BaseUnits * 10 élevé à la puissance correspondant à la valeur de UnitModifier). Par exemple, si BaseUnits a pour valeur Volts et si UnitModifier a pour valeur -6, les unités des valeurs retournées sont des microvolts. Toutefois, si la propriété RateUnits n’a pas la valeur \"Aucun\", les unités sont spécifiées de manière plus approfondie en tant qu’unités par taux. Dans l’exemple ci-dessus, si RateUnits a la valeur \"Par seconde\", les valeurs retournées par le capteur sont exprimées en microvolts/seconde. Les unités s’appliquent à toutes les propriétés numériques du capteur, sauf si elles sont explicitement remplacées par le qualificateur Units.") : Amended ToSubclass,Values{"Inconnu", "Autre", "Degrés Celsius", "Degrés Fahrenheit", "Degrés Kelvin", "Volts", "Ampères", "Watts", "Joules", "Coulombs", "VA", "Nits", "Lumens", "Lux", "Candelas", "kPa", "PSI", "Newtons", "CFM", "RPM", "Hertz", "Secondes", "Minutes", "Heures", "Jours", "Semaines", "Mils", "Pouces", "Pieds", "Pouces cube", "Pieds cube", "Mètres", "Centimètres cube", "Mètres cube", "Litres", "Onces liquide", "Radians", "Stéradians", "Rotations", "Cycles", "Gravités", "Onces", "Livres", "Pieds livre", "Pouces once", "Gauss", "Gilberts", "Henrys", "Farads", "Ohms", "Siemens", "Moles", "Becquerels", "PPM (parties/million)", "Décibels", "DbA", "DbC", "Grays", "Sieverts", "Température de couleur en degrés Kelvin", "Bits", "Octets", "Mots (données)", "DoubleWords", "QuadWords", "Pourcentage"} : Amended ToSubclass] uint16 BaseUnits; [Description("Multiplicateur d’unité des valeurs retournées par ce capteur. Toutes les valeurs retournées par ce capteur sont représentées dans les unités obtenues (BaseUnits * 10 élevé à la puissance correspondant à la valeur de UnitModifier). Par exemple, si BaseUnits a pour valeur Volts et si le modificateur d’unité a pour valeur -6, les unités des valeurs retournées sont des microvolts. Toutefois, si la propriété RateUnits n’a pas la valeur \"Aucun\", les unités sont spécifiées de manière plus approfondie en tant qu’unités par taux. Dans l’exemple ci-dessus, si RateUnits a la valeur \"Par seconde\", les valeurs retournées par le capteur sont exprimées en microvolts/seconde. Les unités s’appliquent à toutes les propriétés numériques du capteur, sauf si elles sont explicitement remplacées par le qualificateur Units.") : Amended ToSubclass] sint32 UnitModifier; [Description("Spécifie si les unités retournées par ce capteur sont des unités par taux. Toutes les valeurs retournées par ce capteur sont représentées dans les unités obtenues (BaseUnits * 10 élevé à la puissance correspondant à la valeur de UnitModifier). Cela est vrai tant que cette propriété (RateUnits) n’a pas d’autre valeur que \"Aucun\". Par exemple, si BaseUnits a pour valeur Volts et si UnitModifier a pour valeur -6, les unités des valeurs retournées sont des microvolts. Toutefois, si la propriété RateUnits n’a pas la valeur \"Aucun\", les unités sont spécifiées de manière plus approfondie en tant qu’unités par taux. Dans l’exemple ci-dessus, si RateUnits a la valeur \"Par seconde\", les valeurs retournées par le capteur sont exprimées en microvolts/seconde. Les unités s’appliquent à toutes les propriétés numériques du capteur, sauf si elles sont explicitement remplacées par le qualificateur Units. Toute implémentation de CurrentReading doit être qualifiée par Counter ou par Gauge, en fonction des caractéristiques du capteur modelé.") : Amended ToSubclass,Values{"Aucun", "Par microseconde", "Par milliseconde", "Par seconde", "Par minute", "Par heure", "Par jour", "Par semaine", "Par mois", "Par an"} : Amended ToSubclass] uint16 RateUnits; [Description("La valeur actuelle indiquée par le capteur.") : Amended ToSubclass] sint32 CurrentReading; [Description("NominalReading indique la valeur « normale » ou attendue pour le capteur numérique (NumericSensor).") : Amended ToSubclass] sint32 NominalReading; [Description("NormalMax fournit des indications à l’utilisateur concernant l’étendue maximale pour le capteur numérique (NumericSensor).") : Amended ToSubclass] sint32 NormalMax; [Description("NormalMin fournit des indications à l’utilisateur concernant l’étendue minimale pour le capteur numérique (NumericSensor).") : Amended ToSubclass] sint32 NormalMin; [Description("MaxReadable indique la valeur maximale qui peut être lue par le capteur numérique (NumericSensor) pour la propriété mesurée.") : Amended ToSubclass] sint32 MaxReadable; [Description("MinReadable indique la valeur minimale qui peut être lue par le capteur numérique (NumericSensor) pour la propriété mesurée.") : Amended ToSubclass] sint32 MinReadable; [Description("Resolution indique la capacité du capteur à détecter des différences dans la propriété mesurée. Les unités de cette mesure sont déterminées par BaseUnit * UnitModifier/RateUnit.") : Amended ToSubclass] uint32 Resolution; [Description("Cette propriété est obsolète et est remplacée par les propriétés Resolution et Accuracy. \nIndique la tolérance du capteur pour la propriété mesurée. La tolérance, associée à la résolution et à la précision, est utilisée pour calculer la valeur réelle de la propriété physique mesurée. La tolérance peut varier selon la linéarité du périphérique dans sa gamme dynamique.") : Amended ToSubclass] sint32 Tolerance; [Description("Indique la précision du capteur pour la propriété mesurée. Cette valeur est enregistrée en plus/moins centièmes de point. La précision, associée à la résolution, est utilisée pour calculer la valeur réelle de la propriété physique mesurée. La précision peut varier selon la linéarité du périphérique dans sa gamme dynamique.") : Amended ToSubclass] sint32 Accuracy; [Description("Indique que le capteur est linéaire dans sa gamme dynamique.") : Amended ToSubclass] boolean IsLinear; [Description("Indique la marge créée autour des seuils. Cette marge empêche les modifications d’état non nécessaires lorsque la lecture du capteur peut être très proche de ses seuils. Cela peut être dû à la tolérance/précision/résolution du capteur ou à des facteurs environnementaux. Une fois qu’un seuil est dépassé, l’état du capteur doit changer. Toutefois, il ne doit pas y avoir de fluctuations entre l’ancien et le nouvel état sauf si la modification de lecture du capteur dépasse la valeur d’hystérésis. Les unités de cette mesure sont déterminées par BaseUnit * UnitModifier/RateUnit.") : Amended ToSubclass] uint32 Hysteresis; [Description("Les valeurs de seuil du capteur indiquent les gammes (valeurs minimale et maximale) qui permettent de déterminer si le capteur fonctionne dans des conditions Normal, NonCritical, Critical ou Fatal. Si Current Reading est compris entre LowerThresholdNonCritical et UpperThresholdNonCritical, alors le capteur renvoie une valeur normale. Si CurrentReading est compris entre LowerThresholdNonCritical et LowerThresholdCritical, CurrentState est NonCritical.") : Amended ToSubclass] sint32 LowerThresholdNonCritical; [Description("Les valeurs de seuil du capteur indiquent les gammes (valeurs minimale et maximale) qui permettent de déterminer si le capteur fonctionne dans des conditions Normal, NonCritical, Critical ou Fatal. Si CurrentReading est compris entre LowerThresholdNonCritical et UpperThresholdNonCritical, alors le capteur renvoie une valeur normale. Si CurrentReading est compris entre UpperThreshold NonCritical et UpperThresholdCritical, CurrentState est NonCritical.") : Amended ToSubclass] sint32 UpperThresholdNonCritical; [Description("Les valeurs de seuil du capteur spécifient les gammes (valeurs minimale et maximale) pour déterminer si le capteur fonctionne dans des conditions Normal, NonCritical, Critical ou Fatal. Si CurrentReading est entre LowerThresholdCritical et Lower ThresholdFatal, CurrentState est critique.") : Amended ToSubclass] sint32 LowerThresholdCritical; [Description("Les valeurs de seuil du capteur spécifient les gammes (valeurs minimale et maximale) pour déterminer si le capteur fonctionne dans des conditions Normal, NonCritical, Critical ou Fatal. Si CurrentReading est entre UpperThresholdCritical et UpperThresholdFatal, CurrentState est Critical.") : Amended ToSubclass] sint32 UpperThresholdCritical; [Description("Les valeurs de seuil du capteur spécifient les gammes (valeurs minimale et maximale) pour déterminer si le capteur fonctionne dans des conditions Normal, NonCritical, Critical ou Fatal. Si CurrentReading est en dessous de LowerThresholdFatal, CurrentState est Fatal.") : Amended ToSubclass] sint32 LowerThresholdFatal; [Description("Les valeurs de seuil du capteur spécifient les gammes (valeurs minimale et maximale) pour déterminer si le capteur fonctionne dans des conditions Normal, NonCritical, Critical ou Fatal. Si CurrentReading est au-dessus de UpperThresholdFatal, CurrentState est Fatal.") : Amended ToSubclass] sint32 UpperThresholdFatal; [Description("Tableau représentant les seuils pris en charge par ce capteur.") : Amended ToSubclass,Values{"LowerThresholdNonCritical", "UpperThresholdNonCritical", "LowerThresholdCritical", "UpperThresholdCritical", "LowerThresholdFatal", "UpperThresholdFatal"} : Amended ToSubclass] uint16 SupportedThresholds[]; [Description("Tableau représentant les seuils actuellement activés pour ce capteur.") : Amended ToSubclass,Values{"LowerThresholdNonCritical", "UpperThresholdNonCritical", "LowerThresholdCritical", "UpperThresholdCritical", "LowerThresholdFatal", "UpperThresholdFatal"} : Amended ToSubclass] uint16 EnabledThresholds[]; [Description("Tableau représentant les seuils pouvant être écrits et qui sont pris en charge par le capteur.") : Amended ToSubclass,Values{"LowerThresholdNonCritical", "UpperThresholdNonCritical", "LowerThresholdCritical", "UpperThresholdCritical", "LowerThresholdFatal", "UpperThresholdFatal"} : Amended ToSubclass] uint16 SettableThresholds[]; [Description("Cette méthode réinitialise les seuils aux valeurs par défaut du matériel. Cette méthode retourne 0 en cas de réussite, 1 si elle n’est pas prise en charge et une autre valeur si une erreur s’est produite. Dans une sous-classe, il est possible de spécifier l’ensemble des codes de retour en utilisant un qualificateur ValueMap sur la méthode. Les chaînes vers lesquelles le contenu ValueMap est « traduit » peuvent également être spécifiées dans la sous-classe sous forme de qualificateur de tableau Values.") : Amended ToSubclass] uint32 RestoreDefaultThresholds(); [Description("L’utilisation de cette méthode est obsolète, car la lecture du capteur en cours peut être récupérée via l’opération GetInstance. \nPour un capteur non linéaire, la résolution, la précision, la tolérance et l’hystérésis varient selon la progression de la lecture en cours. Cette méthode permet d’obtenir ces facteurs pour une lecture donnée. Elle retourne 0 en cas de réussite, 1 si elle n’est pas prise en charge et une autre valeur si une erreur s’est produite. Dans une sous-classe, il est possible de spécifier l’ensemble des codes de retour en utilisant un qualificateur ValueMap sur la méthode. Les chaînes vers lesquelles le contenu ValueMap est « traduit » peuvent également être spécifiées dans la sous-classe sous forme de qualificateur de tableau Values.") : Amended ToSubclass] uint32 GetNonLinearFactors([IN,Description("Lecture du capteur pour lequel des informations sont à obtenir.") : Amended ToSubclass] sint32 SensorReading,[IN(FALSE),OUT,Description("Précision de la lecture.") : Amended ToSubclass] sint32 Accuracy,[IN(FALSE),OUT,Description("Résolution de la lecture.") : Amended ToSubclass] uint32 Resolution,[IN(FALSE),OUT,Description("Tolérance de la lecture.") : Amended ToSubclass] sint32 Tolerance,[IN(FALSE),OUT,Description("Hystérésis de la lecture.") : Amended ToSubclass] uint32 Hysteresis); }; [Description("Le journal représente un type de registre ou de chronique des événements, des erreurs ou des informations. L’objet décrit l’existence du journal et ses caractéristiques. Le journal ne dicte pas la forme des données représentées ni la façon dont les enregistrements/messages sont stockés ou accessibles. Les sous-classes définissent les méthodes et le comportement appropriés.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_Log : CIM_EnabledLogicalElement { [Description("Nombre maximal d’enregistrements pouvant être consignés dans le journal. En l’absence de limite, la valeur zéro doit être spécifiée.") : Amended ToSubclass] uint64 MaxNumberOfRecords; [Description("Nombre réel d’enregistrements dans le journal.") : Amended ToSubclass] uint64 CurrentNumberOfRecords; [Description("Demande que toutes les entrées du journal soient supprimées. \nLa valeur de retour doit être 0 si la demande s’est correctement exécutée, 1 si la demande n’est pas prise en charge et une autre valeur (indiquée par les qualificateurs ValueMap/Values) si une erreur s’est produite.") : Amended ToSubclass,Values{"Terminé sans erreur", "Non pris en charge", "Erreur non spécifiée", "Délai d’expiration dépassé", "Échec", "Paramètre non valide", "Réservé_DMTF", "Réservé_méthode", "Réservé_fournisseur"} : Amended ToSubclass] uint32 ClearLog(); }; [Description("L’objet LogRecord peut décrire le format de définition des entrées de MessageLog ; il peut également être utilisé pour instancier les enregistrements réels du journal. Cette approche est bien supérieure en matière de définition sémantique et de contrôle de gestion des entrées individuelles de MessageLog par rapport aux méthodes de manipulation d’enregistrements de la classe Log. Il est recommandé de modeler les données des entrées individuelles du journal à l’aide de sous-classes de LogRecord, pour éviter la création de LogRecords avec une seule propriété (par exemple RecordData) sans sémantique. \nLes formats de définition de LogRecords peuvent être spécifiés en établissant une convention de d’attribution de noms pour les propriétés clés RecordID et MessageTimestamp.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_LogRecord : CIM_ManagedElement { [Key,Description("CreationClassName du journal d’étendue.") : Amended ToSubclass] string LogCreationClassName; [Key,Description("Nom du journal d’étendue.") : Amended ToSubclass] string LogName; [Key,Description("CreationClassName indique le nom de la classe ou de la sous-classe utilisée dans la création d’une instance. Quand elle est utilisée avec les autres propriétés clés de cette classe, cette propriété permet à toutes les instances de cette classe et à ses sous-classes d’être identifiées de façon unique.") : Amended ToSubclass] string CreationClassName; [Key,Description("RecordID et la propriété MessageTimestamp servent à identifier de manière unique LogRecord dans MessageLog. Notez que cette propriété est différente des paramètres RecordNumber des méthodes MessageLog. Il s’agit uniquement de valeurs ordinales, qui permettent d’assurer le suivi d’une position lors de l’itération d’un journal. D’un autre côté, RecordID est véritablement l’identificateur d’une instance de LogRecord. Il peut prendre la valeur correspondant à la position ordinale de l’enregistrement, mais cela n’est pas nécessaire.") : Amended ToSubclass] string RecordID; [Key,Description("La structure clé de LogRecord comprend un datage pour l’entrée.") : Amended ToSubclass] datetime MessageTimestamp; [Description("Chaîne ouverte décrivant la structure de données de LogRecord.") : Amended ToSubclass] string DataFormat; [Description("Chaîne décrivant la structure de données des informations dans la propriété RecordData. Si la chaîne RecordFormat est , RecordData doit être interprété comme une chaîne ouverte. \n\nPour décrire la structure de données de RecordData, la chaîne RecordFormat doit être construite comme suit : \n- Le premier caractère est un délimiteur qui sert à analyser le reste de la chaîne en sous-chaînes. \n- Chaque sous-chaîne est séparée par le caractère délimiteur et doit être conforme à une déclaration de propriété CIM (type de données et nom de propriété). Cet ensemble de déclarations peut être utilisé pour interpréter la propriété RecordData délimitée de façon similaire. \nPar exemple, à l’aide du délimiteur « * », RecordFormat = \"*string ThisDay*uint32 ThisYear*datetime SomeTime\" \npermet d’obtenir l’interprétation suivante : RecordData = \"*Nous sommes vendredi*2002*20020807141000.000000-300\".") : Amended ToSubclass] string RecordFormat; [Description("Chaîne contenant des données LogRecord. \nSi la propriété RecordFormat correspondante est ou si elle ne peut pas être analysée selon le format recommandé, RecordData doit être interprété comme une chaîne ouverte. Si la propriété RecordFormat contient des informations de format analysables (comme indiqué dans le qualificateur Description de RecordFormat), la chaîne RecordData doit être analysée conformément à ce format. Dans ce cas, RecordData doit commencer par le caractère délimiteur, lequel doit être utilisé pour séparer les sous-chaînes selon le mode indiqué. La chaîne RecordData peut ensuite être analysée par le consommateur de données et être tapée de manière appropriée.") : Amended ToSubclass] string RecordData; }; [Description("RecordLog sert de point d’agrégation pour les objets LogRecord. Cette classe offre un affichage du journal de niveau supérieur par rapport à sa classe homologue MessageLog (qui utilise des itérateurs) ; par ailleurs, elle introduit une nouvelle structure clé. L’accès aux enregistrements de ce journal s’effectue via les opérations CIM standard définies dans le cadre de WBEM.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_RecordLog : CIM_Log { [Key,Description("Dans l’étendue de l’espace de noms d’instanciation, InstanceID identifie de manière opaque et unique une instance de cette classe. Pour garantir l’unicité dans NameSpace, la valeur de InstanceID doit être construite à l’aide de l’algorithme « recommandé » suivant : \n: \nOù et sont séparés par un signe deux-points « : », et où doit inclure un nom protégé par le droit d’auteur, déposé ou unique, lequel doit être détenu par l’entité commerciale qui crée/définit InstanceID ou être un ID enregistré qui est attribué à l’entité commerciale par une autorité mondialement reconnue (ceci ressemble à la structure _ des noms de classes de schéma). En outre, pour garantir l’unicité, ne doit pas contenir de signe deux-points (« : »). Lors de l’utilisation de cet algorithme, le premier signe deux-points figurant dans InstanceID doit apparaître entre et . \n est choisi par l’entité commerciale et ne doit pas être réutilisé pour identifier d’autres éléments sous-jacents (réels). Si l’algorithme « recommandé » ci-dessus n’est pas utilisé, l’entité de définition doit garantir que le InstanceID résultant n’est réutilisé dans aucun des InstanceIDs produits par ce fournisseur (ou d’autres fournisseurs) pour le NameSpace de cette instance. \nPour les instances définies par le DMTF, l’algorithme « recommandé » doit être utilisé avec un ayant pour valeur « CIM ».") : Amended ToSubclass] string InstanceID; }; [Description("Un profil RegisteredProfile décrit un ensemble de classes de schéma CIM disposant des propriétés et/ou méthodes requises, nécessaires pour gérer une entité réelle ou pour prendre en charge un scénario d’utilisation de manière interopérable. Les profils RegisteredProfile peuvent être définis par DMTF ou d’autres organismes de normalisation. Notez que cette classe ne doit pas être confondue avec CIM_Profile, qui recueille les instances SettingData, à appliquer en tant que « profil de configuration » d’un élément. \nUn profil RegisteredProfile est un « standard » nommé pour la gestion CIM d’un système, sous-système, service ou autre entité spécifique, pour un ensemble défini d’utilisations. Il s’agit d’une définition complète et indépendante, contrairement à la sous-classe RegisteredSubProfile, qui nécessite un profil d’étendue pour le contexte. \nLes utilisations d’un profil RegisteredProfile ou SubProfile DOIVENT être spécifiées dans le document qui définit le profil. Les exemples de profil concernent la gestion de différents aspects d’un système d’exploitation, d’un groupe de stockage ou d’une base de données. Le nom et l’étendue du profil sont définis par son organisation de création.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_RegisteredProfile : CIM_ManagedElement { [Key,Description("Dans l’étendue de l’espace de noms d’instanciation, ID_instance identifie de manière opaque et unique une instance de cette classe. Pour garantir l’unicité dans l’espace de noms, la valeur d’ID_instance DOIT être créée à l’aide de l’algorithme « privilégié » suivant : \n: \nOù et sont séparés par un signe deux-points « : », et où DOIT contenir un nom déposé, commercial ou autrement unique appartenant à l’entité commerciale qui crée/définit l’identificateur ID_instance, ou qui représente un ID déposé attribué à l’entité commerciale par une autorité internationale reconnue (structure comparable à _ des noms de classe de schéma). En outre, pour garantir l’unicité, NE DOIT PAS contenir de signe deux-points (« : »). Lors de l’utilisation de cet algorithme, le premier signe deux-points figurant dans ID_instance DOIT apparaître entre et . \n est choisi par l’entité organisationnelle et NE DOIT PAS être réutilisé pour identifier d’autres éléments sous-jacents (réels). Si l’algorithme « privilégié » ci-dessus n’est pas utilisé, l’entité de définition DOIT garantir que l’ID_instance résultant n’est réutilisé dans aucun ID_instance de produit ni par ce fournisseur ni par d’autres fournisseurs pour l’espace de noms de cette instance. \nPour les instances définies par le DMTF, l’algorithme « privilégié » doit être utilisé avec défini à « CIM ».") : Amended ToSubclass] string InstanceID; [Description("Organisation qui définit ce profil.") : Amended ToSubclass,Values{"Autre", "DMTF", "CompTIA", "Consortium for Service Innovation", "RAPIDE", "GGF", "INTAP", "itSMF", "NAC", "Northwest Energy Efficiency Alliance", "SNIA", "TM Forum", "The Open Group", "ANSI", "IEEE", "IETF", "INCITS", "ISO", "W3C"} : Amended ToSubclass] uint16 RegisteredOrganization; [Description("Chaîne en texte libre donnant une description de l’organisation lorsque 1, \"Autre\", est spécifié pour RegisteredOrganization.") : Amended ToSubclass] string OtherRegisteredOrganization; [Description("Nom de ce profil enregistré. Comme il peut exister plusieurs versions du même RegisteredName, l’ensemble RegisteredName, RegisteredOrganization et RegisteredVersion DOIT identifier de manière unique le profil enregistré dans l’étendue de l’organisation.") : Amended ToSubclass] string RegisteredName; [Description("Version de ce profil. La chaîne représentant la version DOIT prendre la forme : \nM + \".\" + N + \".\" + U \nOù : \nM représente la version majeure (au format numérique) qui décrit la création du profil ou sa modification la plus récente. \nN représente la version mineure (au format numérique) qui décrit la création du profil ou sa modification la plus récente. \nU représente la mise à jour (p. ex. correction d’erreur, correctif, etc., au format numérique) qui décrit la création du profil ou sa modification la plus récente.") : Amended ToSubclass] string RegisteredVersion; [Description("Cette propriété indique l’annonce des informations de profil. Elle est utilisée par les services d’annonce de l’infrastructure WBEM pour déterminer les éléments à annoncer et les mécanismes correspondants. La propriété est un tableau, de sorte que le profil PEUT être annoncé à l’aide de plusieurs mécanismes. Remarque : si cette propriété est null/non initialisée, cela revient à spécifier la valeur 2, \"Non annoncé\".") : Amended ToSubclass,Values{"Autre", "Non annoncé", "SLP"} : Amended ToSubclass] uint16 AdvertiseTypes[]; [Description("Chaîne en texte libre donnant des informations supplémentaires liées au type AdvertiseType. Une description DOIT être fournie lorsque AdvertiseType vaut 1, \"Autre\". Une entrée de ce tableau correspond à l’entrée du tableau AdvertiseTypes au même indice. Aucune description supplémentaire ne devrait être nécessaire si Type est défini sur \"Non annoncé\" ou \"SLP\". Toutefois, lors de l’expansion du modèle SLP ou lorsque d’autres mécanismes d’annonce sont définis, la prise en charge de descriptions supplémentaires peut s’avérer nécessaire. Ce tableau est défini pour ce type de situation.") : Amended ToSubclass] string AdvertiseTypeDescriptions[]; }; [Description("La classe Group est utilisée pour rassembler les éléments ManagedElements en groupe. Cette classe est définie pour incorporer les attributs LDAP couramment utilisés et permettre aux implémentations de dériver facilement ces informations à partir d’annuaires accessibles à LDAP. Les propriétés de cette classe sont un sous-ensemble d’une classe liée, OtherGroupInformation, qui définit toutes les propriétés du groupe sous la forme d’un tableau pour la compatibilité d’annuaire.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_Group : CIM_Collection { [Key,Description("CreationClassName indique le nom de la classe ou de la sous-classe utilisée dans la création d’une instance. Quand elle est utilisée avec les autres propriétés clés de cette classe, cette propriété permet à toutes les instances de cette classe et à ses sous-classes d’être identifiées de façon unique.") : Amended ToSubclass] string CreationClassName; [Key,Description("La propriété Name définit l’étiquette par laquelle l’objet est connu. Dans le cas d’une instance dérivée de LDAP, la valeur de la propriété Name peut être définie sur le nom unique de l’instance de l’objet auquel LDAP accède.") : Amended ToSubclass] string Name; [Description("La propriété BusinessCategory peut servir à décrire le type d’activité professionnelle des membres du groupe.") : Amended ToSubclass] string BusinessCategory; [Description("Un nom commun est un nom (éventuellement ambigu) par lequel le groupe est connu dans une certaine étendue limitée (par exemple une organisation) et qui est conforme aux conventions de nom du pays ou de la culture auquel il est associé.") : Amended ToSubclass] string CommonName; }; [Description("CIM_Account représente les informations détenues par un service SecurityService pour effectuer le suivi de l’identité et des privilèges gérés par ce service. Les entrées d’un fichier /etc/passwd UNIX sont des exemples courants de compte. Plusieurs types de services de sécurité utilisent différentes informations tirées de ces entrées : le programme /bin/login utilise le nom de compte (« root ») et le mot de passe haché pour authentifier les utilisateurs, et le service de fichiers utilise par exemple les champs UserID (« 0 ») et GroupID (« 0 ») pour enregistrer le propriétaire et déterminer les privilèges de contrôle d’accès aux fichiers du système de fichiers. Cette classe est définie pour incorporer les attributs LDAP couramment utilisés et permettre aux implémentations de dériver facilement ces informations à partir d’annuaires accessibles à LDAP. \n\nLa sémantique de l’élément Account recouvre celle de la classe, CIM_Identity. Toutefois, certains aspects de l’élément Account, par exemple son lien particulier à un système, sont très utiles et ont été implémentés dans une large mesure. Pour cette raison, les classes Account et Identity sont associées à l’aide d’une sous-classe de LogicalIdentity (AccountIdentity), et la classe Account n’a pas été abandonnée dans le schéma CIM. Lorsqu’un élément Account a été authentifié, la valeur booléenne TrustEstablished de l’élément Identity correspondant sera définie à TRUE (vrai). Ensuite, la classe Identity peut être utilisée comme elle a été définie à des fins d’autorisation.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_Account : CIM_LogicalElement { [Key,Description("CCN du système d’étendue.") : Amended ToSubclass] string SystemCreationClassName; [Key,Description("Le nom du système d’étendue.") : Amended ToSubclass] string SystemName; [Key,Description("CreationClassName indique le nom de la classe ou de la sous-classe utilisée dans la création d’une instance. Quand elle est utilisée avec les autres propriétés clés de cette classe, cette propriété permet à toutes les instances de cette classe et à ses sous-classes d’être identifiées de façon unique.") : Amended ToSubclass] string CreationClassName; [Key,Description("La propriété Name définit l’étiquette par laquelle l’objet est connu. La valeur de cette propriété peut être définie à celle de la propriété UserID ou, dans le cas d’une instance dérivée de LDAP, la valeur de la propriété Name peut être définie avec le nom unique (distinguishedName) de l’instance de l’objet auquel LDAP accède.") : Amended ToSubclass] string Name; [Description("UserID est la valeur utilisée par le service SecurityService pour représenter l’identité. Pour un service d’authentification, UserID peut-être le nom de l’utilisateur ou, pour un service d’autorisation, la valeur qui sert de handle vers un mappage de l’identité.") : Amended ToSubclass] string UserID; [Description("Dans le cas d’une instance dérivée de LDAP, la ou les valeurs de la propriété ObjectClass peuvent être définies avec les valeurs d’attribut objectClass.") : Amended ToSubclass] string ObjectClass[]; [Description("Les valeurs de la propriété Descriptions peuvent contenir des descriptions lisibles de l’objet. Dans le cas d’une instance dérivée de LDAP, l’attribut de description peut prendre plusieurs valeurs qui ne peuvent donc pas être placées dans la propriété Description héritée.") : Amended ToSubclass] string Descriptions[]; [Description("D’après la norme RFC1274, le nom d’hôte du ou des systèmes auxquels s’applique le compte. Le nom d’hôte peut être un nom DNS complet ou un nom d’hôte non qualifié.") : Amended ToSubclass] string Host[]; [Description("Cette propriété contient le nom d’un lieu, par exemple une ville, un département ou une autre région géographique.") : Amended ToSubclass] string LocalityName[]; [Description("Nom de l’organisation liée au compte.") : Amended ToSubclass] string OrganizationName[]; [Description("Nom de l’unité d’organisation liée au compte.") : Amended ToSubclass] string OU[]; [Description("Dans le cas d’une instance dérivée de LDAP, la propriété SeeAlso spécifie le nom unique d’autres objets Directory qui peuvent représenter d’autres aspects (dans une certaine mesure) du même objet réel.") : Amended ToSubclass] string SeeAlso[]; [Description("Basée sur l’élément inetOrgPerson et pour la compatibilité entre annuaires, la propriété Certificate peut être utilisée pour spécifier un certificat de clé publique pour la personne.") : Amended ToSubclass] string UserCertificate[]; [Description("Dans le cas d’une instance dérivée de LDAP, la propriété UserPassword peut contenir un mot de passe chiffré qui sert à accéder aux ressources de la personne dans un annuaire.") : Amended ToSubclass] string UserPassword[]; }; [Description("Privilege est la classe de base pour tous les types d’activités qui sont accordées ou refusées par un rôle ou une identité. L’octroi ou le refus d’un privilege individuel est défini au moyen de la valeur booléenne PrivilegeGranted. Tous les privilèges non expressément accordés sont supposés refusés. Un refus explicite (Privilege Granted = FALSE [faux]) est prioritaire sur n’importe quel Privilege accordé. \n\nL’association de sujets (rôles et identités) aux privilèges est réalisée à l’aide d’une stratégie, ou de manière explicite par l’intermédiaire des associations sur une sous-classe. Les entités protégées (cibles) peuvent être définies de la même manière. \n\nNotez que les privilèges peuvent être hérités par le biais de rôles hiérarchiques, ou peuvent se recouvrir. Par exemple, un privilège interdisant toutes les écritures d’instance dans un espace de noms de serveur CIM donné recouvre un privilège définissant des droits d’accès spécifiques au niveau d’une instance de cet espace de noms. Dans cet exemple, les éléments AuthorizedSubjects sont des identités ou des rôles, et les éléments AuthorizedTargets sont un espace de noms dans le premier cas et une instance particulière dans le dernier cas.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_Privilege : CIM_ManagedElement { [Key,Description("Dans l’étendue de l’espace de noms d’instanciation, ID_instance identifie de manière opaque et unique une instance de cette classe. Pour garantir l’unicité dans l’espace de noms, la valeur d’ID_instance DOIT être créée à l’aide de l’algorithme « privilégié » suivant : \n: \noù et sont séparés par un signe deux-points « : », et où DOIT contenir un nom déposé, commercial ou autrement unique appartenant à l’entité commerciale qui crée/définit l’ID_instance, ou qui représente un ID déposé attribué à l’entité commerciale par une autorité internationale reconnue (structure comparable à _ des noms de classe de schéma). En outre, pour garantir l’unicité, NE DOIT PAS contenir de signe deux-points (« : »). Lors de l’utilisation de cet algorithme, le premier signe deux-points figurant dans ID_instance DOIT apparaître entre et . \n est choisi par l’entité commerciale et NE DOIT PAS être réutilisé pour identifier d’autres éléments sous-jacents (réels). Si l’algorithme « privilégié » ci-dessus n’est pas utilisé, l’entité de définition DOIT garantir que l’ID_instance résultant n’est réutilisé dans aucun ID_instance produit par ce fournisseur (ou d’autres) pour l’espace de noms de cette instance. Pour les instances définies par DMTF, l’algorithme « privilégié » doit être utilisé avec défini à « CIM ».") : Amended ToSubclass] string InstanceID; [Description("Valeur booléenne indiquant si le privilège est accordé (TRUE) ou refusé (FALSE). Par défaut, l’autorisation est accordée.") : Amended ToSubclass] boolean PrivilegeGranted; [Description("Énumération indiquant les activités accordées ou refusées. Ces activités s’appliquent à toutes les entités spécifiées dans le tableau ActivityQualifiers. Les valeurs de l’énumération sont directes, sauf une, 4=\"Détecter\". Cette valeur indique que l’existence ou la présence d’une entité peut être déterminée, mais pas nécessairement des données spécifiques (requérant que le privilège Read ait la valeur vrai). Cette activité est illustrée par les « fichiers masqués » : si vous affichez le contenu d’un répertoire, les fichiers masqués ne sont pas visibles. Toutefois, si vous connaissez le nom d’un fichier particulier ou si vous savez comment afficher les fichiers masqués, ils peuvent alors être « détectés ». Un autre exemple est la possibilité de définir des privilèges de recherche dans les implémentations d’annuaire.") : Amended ToSubclass,Values{"Autre", "Créer", "Supprimer", "Détecter", "Lire", "Écrire", "Exécuter", "Réservé au DMTF", "Réservé au fournisseur"} : Amended ToSubclass] uint16 Activities[]; [Description("La propriété ActivityQualifiers est un tableau de valeurs de chaîne servant à qualifier et à spécifier davantage les privilèges accordés ou refusés. Par exemple, elle sert à spécifier un ensemble de fichiers pour lesquels l’accès en lecture/écriture est autorisé ou refusé. Elle peut aussi définir les méthodes d’une classe qui peuvent être « exécutées ». Les détails sur la sémantique des entrées individuelles de la propriété ActivityQualifiers sont fournis par les entrées correspondantes du tableau QualifierFormats.") : Amended ToSubclass] string ActivityQualifiers[]; [Description("Définit la sémantique des entrées correspondantes du tableau ActivityQualifiers. L’exemple suivant illustre chacun de ces « formats » et leur utilisation : \n- 2=Nom de la classe. Exemple : si la cible de l’autorisation est un service CIM ou un espace de noms, alors les entrées d’ActivityQualifiers peuvent définir une liste de classes que le sujet autorisé peut créer ou supprimer. \n- 3=Propriété. Exemple : si la cible de l’autorisation est un service CIM, un espace de noms ou une collection d’instances, alors les entrées d’ActivityQualifiers peuvent définir les propriétés de classe auxquelles il est possible ou non d’accéder. Dans ce cas, les noms de classe sont spécifiés avec les noms de propriété pour lever toute ambiguïté ; en effet, un service CIM, un espace de noms ou une collection peuvent gérer plusieurs classes. Au contraire, si la cible de l’autorisation est une instance individuelle, alors aucune ambiguïté n’est possible et le nom de la classe peut être omis. Pour spécifier TOUTES les propriétés, la chaîne générique \"*\" doit être utilisée. \n- 4=Méthode. Cet exemple est très proche de celui de Propriété ci-dessus. Comme ci-dessus, la chaîne \"*\" peut également être spécifiée pour sélectionner TOUTES les méthodes. \n- 5=Référence d’objet. Exemple : si la cible de l’autorisation est un service CIM ou un espace de noms, alors les entrées d’ActivityQualifiers peuvent définir une liste de références d’objet (sous forme de chaîne) accessibles au sujet autorisé. \n- 6=Espace de noms. Exemple : Si la cible de l’autorisation est un service CIM, alors les entrées d’ActivityQualifiers peuvent définir une liste d’espaces de noms accessibles au sujet autorisé. \n- 7=URL. Exemple : même sans définition de cible d’autorisation, un privilège peut être utilisé pour refuser à des identités individuelles ou des rôles particuliers (tels que le rôle « under 17 ») l’accès à des URL spécifiques. \n- 8=Répertoire/nom de fichier. Exemple : si la cible de l’autorisation est un système de fichiers, alors les entrées d’ActivityQualifiers peuvent définir une liste de répertoires et de fichiers dont l’accès est protégé. \n- 9=Instruction de ligne de commande. Exemple : si la cible de l’autorisation est un élément ComputerSystem ou un service, alors les entrées d’ActivityQualifiers peuvent définir une liste d’instructions de ligne de commande susceptibles d’être « exécutées » ou non par les sujets autorisés.") : Amended ToSubclass,Values{"Nom de la classe", "Propriété", "Méthode", "Référence d’objet", "Espace de noms", "URL", "Répertoire/nom de fichier", "Instruction de ligne de commande", "Réservé au DMTF", "Réservé au fournisseur"} : Amended ToSubclass] uint16 QualifierFormats[]; }; [Description("Privilege est la classe de base pour tous les types d’activité qui sont accordées ou refusées à un rôle ou une identité. AuthorizedPrivilege est une sous-classe qui définit les affichages statiques des règles de stratégie d’autorisation. L’association des rôles et identités à AuthorizedPrivilege est accomplie à l’aide de la relation AuthorizedSubject. Les entités non protégées sont définies à l’aide de la relation AuthorizedTarget. \n\nNotez que cette classe et ses associations AuthorizedSubject/Target fournissent un mécanisme abrégé et statique de représentation des stratégies d’autorisation.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_AuthorizedPrivilege : CIM_Privilege { }; [Description("Version concrète de Collection. Cette classe représente une collection générique et instanciable, comme un groupe d’éléments ComputerSystems (par exemple, un pool d’hôtes disponibles pour l’exécution de travaux). Elle est définie comme une sous-classe concrète de la classe abstraite CIM_Collection, à utiliser en lieu et place de nombreuses sous-classes spécifiques qui n’ajoutent aucune sémantique. Notez que lors de la définition d’une sémantique supplémentaire pour Collection, cette classe NE DOIT PAS être sous-classée. Une sémantique spécifique continue d’être définie en tant que sous-classe de la CIM_Collection abstraite. La classe ConcreteCollection est limitée dans son utilisation à la forme concrète d’une collection ou d’un tableau général. Il a été jugé plus prudent de créer cette sous-classe concrète plutôt que de changer la classe abstraite Collection en une collection concrète.") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class CIM_ConcreteCollection : CIM_Collection { [Key,Description("Dans l’étendue de l’espace de noms d’instanciation, ID_instance identifie de manière opaque et unique une instance de cette classe. Pour garantir l’unicité dans l’espace de noms, la valeur d’ID_instance DOIT être créée à l’aide de l’algorithme « privilégié » suivant : \n: \nOù et sont séparés par un signe deux-points « : », et où DOIT contenir un nom déposé, commercial ou autrement unique appartenant à l’entité commerciale qui crée/définit l’ID_instance, ou qui représente un ID déposé attribué à l’entité commerciale par une autorité internationale reconnue (structure comparable à _ des noms de classe de schéma). En outre, pour garantir l’unicité, NE DOIT PAS contenir de signe deux-points (« : »). Lors de l’utilisation de cet algorithme, le premier signe deux-points figurant dans ID_instance DOIT apparaître entre et . \n\n est choisi par l’entité commerciale et NE DOIT PAS être réutilisé pour identifier d’autres éléments sous-jacents (réels). Si l’algorithme « privilégié » ci-dessus n’est pas utilisé, l’entité de définition DOIT garantir que l’ID_instance résultant n’est réutilisé dans aucun ID_instance produit par ce fournisseur ni par d’autres fournisseurs pour l’espace de noms de cette instance.") : Amended ToSubclass] string InstanceID; }; [Description("AdminDomain pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class AdminDomain : CIM_AdminDomain { }; [Description("ComputerSystem pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class ComputerSystem : CIM_ComputerSystem { }; [Description("SystemSpecificCollection pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class SystemSpecificCollection : CIM_SystemSpecificCollection { }; [Description("Capteur (capteur discret) pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class Sensor : CIM_Sensor { }; [Description("NumericSensor pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class NumericSensor : CIM_NumericSensor { }; [Description("RecordLog pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class RecordLog : CIM_RecordLog { }; [Description("LogRecord pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class LogRecord : CIM_LogRecord { }; [Description("RegisteredProfile pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class RegisteredProfile : CIM_RegisteredProfile { }; [Description("PrivilegeGroup pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class PrivilegeGroup : CIM_Group { }; [Description("Account pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class Account : CIM_Account { }; [Description("AuthorizedPrivilege pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class AuthorizedPrivilege : CIM_AuthorizedPrivilege { }; [Description("ConcreteCollection pour IPMI") : Amended ToSubclass,AMENDMENT, LOCALE(0x040c)] class ConcreteCollection : CIM_ConcreteCollection { };