// Copyright (c) 2011 DMTF. All rights reserved. [Version ( "2.29.0" ), UMLPackagePath ( "CIM::Device::StorageDevices" ), Description ( "A class derived from SystemSpecificCollection that models SCSI " "Target Port Groups. SCSITargetPortGroup is part of the model " "for devices with asymmetric access to logical units - access " "is optimized for a subset of target ports. SCSITargetPortGroup " "is aggregated to SCSIProtocolEndpoints that expose a common " "ValueMap { 2, 3, 4, 5, 6 }, Values { Active/Optimized, " "Active/Non-optimized, StandBy, Unavailable, Transitioning }, " "access state for a set of associated logical Units (modeled by " "various subclasses of LogicalDevice). SCSITargetPortGroups " "only apply to target devices with asymmetric multipath access " "and not to devices with symmetric (or single path) access." )] class CIM_SCSITargetPortGroup : CIM_SystemSpecificCollection { [Write, Description ( "A boolean indicating whether the associated logical unit " "has asymmetric multipath access. If Asymmetric is true, " "then there MUST be a SCSITargetPortGroup instance " "associated to the LogicalDevice." ), MappingStrings { "MP_API.SNIA|MP_MULTIPATH_LOGICAL_UNIT_PROPERTIES|asymmetric" }] boolean Asymmetric = false; [Write, Description ( "The load balance type for the associated logical unit." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, Values { "Unknown", "Other", "No Load Balancing", "Round Robin", "Least Blocks", "Least IO", "Product Specific", "Service Wide Default" }, MappingStrings { "MP_API.SNIA|MP_MULTIPATH_LOGICAL_UNIT_PROPERTIES|currentLoadBalanceType" }, ModelCorrespondence { "CIM_SCSIMultipathSettings.OtherCurrentLoadBalanceType" }] uint16 CurrentLoadBalanceType = 7; [Write, Description ( "A string describing the current load balance algorithm " "if CurrentLoadBalanceType is 1 (\'Other\'). This string " "MUST be identical to one of the strings from " "CIM_SCSIMultipathConfigurationCapabilities " "OtherSupportedLoadBalanceAlgorithmNames." ), MappingStrings { "MP_API.SNIA|MP_MULTIPATH_LOGICAL_UNIT_PROPERTIES|currentLoadBalanceType" }, ModelCorrespondence { "CIM_SCSIMultipathConfigurationCapabilities.OtherSupportedLoadBalanceAlgorithmNames", "CIM_SCSIMultipathSettings.CurrentLoadBalanceType" }] string OtherCurrentLoadBalanceType; [Write, Description ( "The auto-failback setting for the associated logical " "units. Either enabled, disabled, or all associated " "logical units follow the service-wide setting from the " "capabilities class associated with the appropriate " "service." ), ValueMap { "2", "3", "4" }, Values { "Enabled for the associated logical units", "Disabled for the associated logical units", "The associated logical units use the service-wide setting" }, MappingStrings { "MP_API.SNIA|MP_MULTIPATH_LOGICAL_UNIT_PROPERTIES|autoFailbackEnabled" }, ModelCorrespondence { "CIM_SCSIMultipathConfigurationCapabilities.AutoFailbackEnabled" }] uint16 AutoFailbackEnabled = 4; [Write, Description ( "The maximum polling rate (in seconds) supported by the " "driver if different from the service-wide max from the " "capabilities instance. Zero (0) indicates the driver " "either does not poll for autofailback or has not " "provided an interface to set the polling rate for " "multipath logical units. If this property and the " "service PollingRateMax are non-zero, this value has " "precedence for the associate logical units. The " "instrumentation should not instantiate this property if " "the value from " "CIM_SCSIMultipathConfigurationCapabilities is used for " "the associated logical units." ), MappingStrings { "MP_API.SNIA|MP_MULTIPATH_LOGICAL_UNIT_PROPERTIES|pollingRateMax" }, ModelCorrespondence { "CIM_SCSIMultipathConfigurationCapabilities.PollingRateMax" }] uint32 PollingRateMax; [Write, Description ( "The current polling rate (in seconds) for auto-failback. " "This cannot exceed PollingRateMax. If this property and " "the service-wide Capabilities instance " "CurrentPollingRate are non-zero, this value has " "precedence for the associated logical units. The " "instrumentation should not instantiate this property if " "the value from " "CIM_SCSIMultipathConfigurationCapabilities is used for " "the associated logical units." ), MappingStrings { "MP_API.SNIA|MP_MULTIPATH_LOGICAL_UNIT_PROPERTIES|currentPollingRate" }, ModelCorrespondence { "CIM_SCSIMultipathConfigurationCapabilities.CurrentPollingRate" }] uint32 CurrentPollingRate; [Description ( "Access to all associated logical units through all " "aggregated ports share this access state. Access to the " "Logical Units through other ports is specified by the " "access state of those port\'s target port group." ), ValueMap { "2", "3", "4", "5", "6" }, Values { "Active/Optimized", "Active/Non-optimized", "StandBy", "Unavailable", "Transitioning" }, MappingStrings { "SPC.INCITS-T10 |Asymmetric Access State", "MP_API.SNIA|MP_ACCESS_STATE_TYPE" }] uint16 AccessState; [Description ( "True indicates that the underlying implementation " "provides an interface allowing drivers to explicitly " "request activation of a target port group - either " "through the SCSI SET TARGET PORT GROUP or a proprietary " "command." ), MappingStrings { "MP_API.SNIA|MP_TARGET_PORT_PROPERTIES|explicitFailover" }] boolean ExplicitFailover; [Description ( "An integer identifier for the target port group. This " "corresponds to the TARGET PORT GROUP field in the REPORT " "TARGET PORT GROUPS response and the TARGET PORT GROUP " "field in an INQUIRY VPD page 85 response, type 5h " "identifier." ), MappingStrings { "MP_API.SNIA|MP_TARGET_PORT_PROPERTIES|tpgID", "SPC.INCITS-T10 | Target Port Group Descriptor | Target Port Group", "SPC.INCITS-T10 | Inquiry VPD page 0x85 | Target Port Group" }] uint16 Identifier; [Description ( "True indicates that the target device indicates that " "access to the associated logical units through the ports " "in this target port group is preferred over access " "through other ports. This may correspond to the PREF bit " "in the SCSI TARGET PORT GROUP descriptor or an " "equivalent vendor-specific interface." ), MappingStrings { "MP_API.SNIA|MP_TARGET_PORT_PROPERTIES|preferredLUPath", "SPC.INCITS-T10 | Target Port Group Descriptor | PREF" }] boolean Preferred; [Description ( "True indicates that the underlying implementation " "provides an interface allowing the administrator to " "reassign logical units to target port groups." ), MappingStrings { "MP_API.SNIA|MP_TARGET_PORT_PROPERTIES|supportsLuAssignment" }] boolean SupportsLuAssignment; };