// Copyright (c) 2013 DMTF. All rights reserved. [Experimental, Version ( "2.37.0" ), UMLPackagePath ( "CIM::Device::StorageServices" ), Description ( "A subclass of Capabilities that defines the Capabilities of a " "StorageConfigurationService. An instance of " "StorageConfigurationCapabilities is associated with a " "StorageConfigurationService using ElementCapabilities. The " "properties in this class specify the envelope of capabilites " "for storage configuration in the context of the Service or " "Pool with which the instance is associated. These properties " "correspond to the properties of the same base names in " "StorageSetting and StorageSettingWithHints when either is used " "as a goal parameter to the StorageConfigurationService methods " "(CreateOrModifyStoragePool, " "CreateOrModifyElementFromStoragePool, or " "CreateOrModifyElementFromElements)." )] class CIM_StorageConfigurationCapabilities : CIM_Capabilities { [Description ( "Enumeration indicating what operations will be executed " "as asynchronous jobs. If an operation is included in " "both this and SupportedSynchronousActions then the " "underlying implementation is indicating that it may or " "may not create a job. \n" "\n" "The following values have been deprecated and replaced " "by values in StorageReplicationCapabilities. " "SupportedAsynchronousActions: \n" "Replica Creation(8) to Local Replica Creation(2) and " "Remote Replica Creation(3) \n" "Replica Modification(9) to Local Replica " "Modification(4), Remote Replica Modification(5) and \n" "Replica Attachment(10) to Local Replica Attachment(6) " "and Remote Replica Attachment(7)." ), ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", ".." }, Values { "Storage Pool Creation", "Storage Pool Deletion", "Storage Pool Modification", "Storage Element Creation", "Storage Element Return", "Storage Element Modification", "Replica Creation", "Replica Modification", "Replica Attachment", "SCSI Scan", "Storage Element from Element Creation", "Storage Element from Element Modification", "Element Usage Modification", "StoragePool Usage Modification", "Storage Resource Affinity Assignment", "StorageVolume To StoragePool Relocation", "StoragePool To StoragePool Relocation", "StorageVolume To StorageExtent Relocation", "StoragePool To StorageExtent Relocation", "LogicalDisk To StorageExtent Relocation", "Multiple Storage Element Creation", "Multiple Storage Element Return", "Storage Element from Multiple Pools Creation", "DMTF Reserved" }, ModelCorrespondence { "CIM_StorageConfigurationCapabilities.SupportedSynchronousActions" }] uint16 SupportedAsynchronousActions[]; [Description ( "Enumeration indicating what operations will be executed " "without the creation of a job. If an operation is " "included in both this and SupportedAsynchronousActions " "then the underlying instrumentation is indicating that " "it may or may not create a job. \n" "\n" "The following values have been deprecated and replaced " "by values in " "StorageReplicationCapabilities.SupportedSynchronousActions: \n" "Replica Creation(8) to Local Replica Creation(2) and " "Remote Replica Creation(3) \n" "Replica Modification(9) to Local Replica " "Modification(4), Remote Replica Modification(5) and \n" "Replica Attachment(10) to Local Replica Attachment(6) " "and Remote Replica Attachment(7)." ), ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", ".." }, Values { "Storage Pool Creation", "Storage Pool Deletion", "Storage Pool Modification", "Storage Element Creation", "Storage Element Return", "Storage Element Modification", "Replica Creation", "Replica Modification", "Replica Attachment", "SCSI Scan", "Storage Element from Element Creation", "Storage Element from Element Modification", "Element Usage Modification", "StoragePool Usage Modification", "Storage Resource Affinity Assignment", "StorageVolume To StoragePool Relocation", "StoragePool To StoragePool Relocation", "StorageVolume To StorageExtent Relocation", "StoragePool To StorageExtent Relocation", "LogicalDisk To StorageExtent Relocation", "Multiple Storage Element Creation", "Multiple Storage Element Return", "Storage Element from Multiple Pools Creation", "DMTF Reserved" }, ModelCorrespondence { "CIM_StorageConfigurationCapabilities.SupportedAsynchronousActions" }] uint16 SupportedSynchronousActions[]; [Description ( "Enumeration indicating the type of storage elements that " "are supported by the associated " "StorageConfigurationService." ), ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "..", "0x8000..0xFFFF" }, Values { "StorageVolume", "StorageExtent", "LogicalDisk", "ThinlyProvisionedStorageVolume", "ThinlyProvisionedLogicalDisk", "ThinlyProvisionedAllocatedStoragePool", "ThinlyProvisionedQuotaStoragePool", "ThinlyProvisionedLimitlessStoragePool", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageConfigurationService.CreateOrModifyElementFromStoragePool(ElementType)", "CIM_StorageConfigurationService.CreateOrModifyElementFromElements(ElementType)", "CIM_StorageConfigurationService.CreateElementsFromStoragePools(ElementType)" }] uint16 SupportedStorageElementTypes[]; [Description ( "Enumeration indicating features supported by the " "StoragePool methods." ), ValueMap { "2", "3", "4", "5", "6", "7", "..", "0x8000..0xFFFF" }, Values { "InExtents", "Single InPool", "Multiple InPools", "Storage Pool QoS Change", "Storage Pool Capacity Expansion", "Storage Pool Capacity Reduction", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageConfigurationService.CreateOrModifyStoragePool(InPools)", "CIM_StorageConfigurationService.CreateOrModifyStoragePool(InExtents)" }] uint16 SupportedStoragePoolFeatures[]; [Description ( "Enumeration indicating features supported by the Storage " "Element methods." ), ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "..", "0x8000..0xFFFF" }, Values { "StorageExtent Creation", "StorageVolume Creation", "StorageExtent Modification", "StorageVolume Modification", "Single InPool", "Multiple InPools", "LogicalDisk Creation", "LogicalDisk Modification", "InElements", "Storage Element QoS Change", "Storage Element Capacity Expansion", "Storage Element Capacity Reduction", "StorageVolume To StoragePool Relocation", "StoragePool To StoragePool Relocation", "StorageVolume To StorageExtent Relocation", "StoragePool To StorageExtent Relocation", "LogicalDisk To StorageExtent Relocation", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageConfigurationService.CreateOrModifyElementFromStoragePool(ElementType)", "CIM_StorageConfigurationService.CreateOrModifyElementFromStoragePool(InPool)", "CIM_StorageConfigurationService.CreateOrModifyElementFromElements(InElements)", "CIM_StorageConfigurationService.CreateElementsFromStoragePools(ElementType)" }] uint16 SupportedStorageElementFeatures[]; [Description ( "SupportedCopyTypes describes the replication " "capabilities supported by the associated " "StorageConfigurationServices. Values are: \n" "Async: asynchronous copies may be created and " "maintained. \n" "Sync: synchronous copies may be created and maintained. \n" "UnSyncAssoc: unsynchronized copies may be created and " "maintained. \n" "UnSyncUnAssoc: a \'straight copy\' may be created." ), ValueMap { "2", "3", "4", "5", "..", "0x8000..0xFFFF" }, Values { "Async", "Sync", "UnSyncAssoc", "UnSyncUnAssoc", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageConfigurationService.CreateReplica(CopyType)" }] uint16 SupportedCopyTypes[]; [Description ( "InitialReplicationState specifies which initial " "ReplicationState is supported by a particular provider. " "Values are: \n" "Initialized: The replication relationship is known and " "unsynchronized, but time required to synchronize may be " "long. \n" "Prepared: The replication relationship is known and " "unsynchronized and the time required to synchronize will " "be short. \n" "Synchronized: The replicas are synchronized." ), ValueMap { "2", "3", "4", "..", "0x8000..0xFFFF" }, Values { "Initialized", "Prepared", "Synchronized", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageConfigurationService.AttachReplica", "CIM_StorageConfigurationService.CreateReplica" }] uint16 InitialReplicationState; [Experimental, Description ( "Indicates the intended usage or any restrictions that " "may have been imposed on the usage of Supported Storage " "Elements. For example, an element may be reserved for " "use by the block server. In that case the Usage of the " "element is marked as \"Reserved for the ComputerSystem\". " "In the case of \"Other\", see OtherUsageDescription for " "more information. For additional information on " "variousvalues, see the classes noted in " "ModelCorrespondence." ), ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "..", "32768..65535" }, Values { "Other", "Unrestricted", "Reserved for ComputerSystem (the block server)", "Reserved by Replication Services", "Reserved by Migration Services", "Local Replica Source", "Remote Replica Source", "Local Replica Target", "Remote Replica Target", "Local Replica Source or Target", "Remote Replica Source or Target", "Delta Replica Target", "Element Component", "Reserved as Pool Contributor", "Composite Volume Member", "Composite LogicalDisk Member", "Reserved for Sparing", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_StorageExtent.Usage", "CIM_StorageVolume.Usage", "CIM_LogicalDisk.Usage", "CIM_StorageExtent.OtherUsageDescription", "CIM_StorageVolume.OtherUsageDescription", "CIM_LogicalDisk.OtherUsageDescription" }] uint16 SupportedStorageElementUsage[]; [Experimental, Description ( "Indicates the intended usage or any restrictions that " "may have been imposed on the usage of Client Settable " "Elements. For example, an element may be reserved for " "use by the block server. In that case the Usage of the " "element is marked as \"Reserved for the ComputerSystem\". " "In the case of \"Other\", see OtherUsageDescription for " "more information. For additional information on " "variousvalues, see the classes noted in " "ModelCorrespondence." ), ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "..", "32768..65535" }, Values { "Other", "Unrestricted", "Reserved for ComputerSystem (the block server)", "Reserved by Replication Services", "Reserved by Migration Services", "Local Replica Source", "Remote Replica Source", "Local Replica Target", "Remote Replica Target", "Local Replica Source or Target", "Remote Replica Source or Target", "Delta Replica Target", "Element Component", "Reserved as Pool Contributor", "Composite Volume Member", "Composite LogicalDisk Member", "Reserved for Sparing", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_StorageExtent.Usage", "CIM_StorageVolume.Usage", "CIM_LogicalDisk.Usage", "CIM_StorageExtent.OtherUsageDescription", "CIM_StorageVolume.OtherUsageDescription", "CIM_LogicalDisk.OtherUsageDescription" }] uint16 ClientSettableElementUsage[]; [Experimental, Description ( "Indicates the intended usage or any restrictions that " "may have been imposed on the usage a supported storage " "pool. For example, a storage pool may be reserved for " "use by the block server. In that case the Usage of the " "storage pool is marked as \"Reserved for the " "ComputerSystem\". In the case of \"Other\", see " "OtherUsageDescription for more information." ), ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "..", "32768..65535" }, Values { "Other", "Unrestricted", "Reserved for ComputerSystem (the block server)", "Reserved as a Delta Replica Container", "Reserved for Migration Services", "Reserved for Local Replication Services", "Reserved for Remote Replication Services", "Reserved for Sparing", "Used as source for Relocation Service", "Used as target for Relocation Service", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_StoragePool.OtherUsageDescription" }] uint16 SupportedStoragePoolUsage[]; [Experimental, Description ( "Indicates the intended usage or any restrictions thatmay " "have been imposed on the usage a client settable storage " "pool. For example, a storage pool may be reserved for " "use by the block server.In that case the Usage of the " "storage pool is marked as \"Reserved for the " "ComputerSystem\". In the case of \"Other\", see " "OtherUsageDescription for more information." ), ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "..", "32768..65535" }, Values { "Other", "Unrestricted", "Reserved for ComputerSystem (the block server)", "Reserved as a Delta Replica Container", "Reserved for Migration Services", "Reserved for Local Replication Services", "Reserved for Remote Replication Services", "Reserved for Sparing", "Used as source for Relocation Service", "Used as target for Relocation Service", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_StoragePool.OtherUsageDescription" }] uint16 ClientSettablePoolUsage[]; [Experimental, Description ( "Boolean indicating whether the associated block server " "or pool supports client modification of " "ThinProvisionedInitialReserve." ), ModelCorrespondence { "CIM_StorageConfigurationCapabilities.ThinProvisionedDefaultReserve", "CIM_StorageSetting.ThinProvisionedInitialReserve" }] boolean ThinProvisionedClientSettableReserve = false; [Experimental, Description ( "The default initial reserve for new thinly provisioned " "volumes or logical disks if the system does not allow " "clients to set the initial reserve or the client does " "not request an initial reserve." ), ModelCorrespondence { "CIM_StorageConfigurationCapabilities.ThinProvisionedClientSettableReserve", "CIM_StorageSetting.ThinProvisionedInitialReserve" }] uint64 ThinProvisionedDefaultReserve = 0; [Experimental, Description ( "Maximum number of elements that can be specified to be " "created in a single method call. If 0 or null, there is " "no limit." ), ModelCorrespondence { "CIM_StorageConfigurationService.CreateElementsFromStoragePools(ElementCount)" }] uint64 MaximumElementCreateCount; [Experimental, Description ( "Maximum number of elements that can be deleted in a " "single method call. If 0 or null, there is no limit." ), ModelCorrespondence { "CIM_StorageConfigurationService.ReturnElementsToStoragePool(TheElements)" }] uint64 MaximumElementDeleteCount = 0; [Experimental, Description ( "Enumeration indicating features offered by the multiple " "element create method. \n" "Single instance creation indication: Generally there " "will be one instance creation indication per created " "element, however, some implementations treat the call as " "a single transaction and only generate one instance " "creation indication regardless of the ElementCount." ), ValueMap { "2", "..", "0x8000..0xFFFF" }, Values { "Single instance creation indication", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageConfigurationService.CreateElementsFromStoragePools", "CIM_StorageConfigurationService.CreateElementsFromStoragePools(ElementCount)" }] uint16 MultipleElementCreateFeatures[]; [Experimental, Description ( "Enumeration indicating features offered by the multiple " "element delete method. \n" "Continue on nonexistent element: if the method " "encounters a non-existent element in the list of " "elements supplied, the method continues to delete the " "remaining elements. \n" "Return error on nonexistent element: The method returns " "an error if it encounters an element that does not " "exist." ), ValueMap { "2", "3", "..", "0x8000..0xFFFF" }, Values { "Continue on nonexistent element", "Return error on nonexistent element", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageConfigurationService.ReturnElementsToStoragePool", "CIM_StorageConfigurationService.ReturnElementsToStoragePool(Options)" }] uint16 MultipleElementDeleteFeatures[]; [Experimental, Description ( "If true, it indicates the implementation selects " "appropriate pools based on other supplied parameters to " "create elements. For example, based on supplied Goal." )] boolean AutomaticPoolSelectionAllowed = false; [Experimental, Description ( "This method indicates if ElementName can be specified as " "a part of invoking an appropriate method of " "StorageConfigurationService to create a new element. \n" "Additionally, the returned data includes the methods " "that can be used to modify the ElementName of existing " "storage elements. \n" "This method also returns the restrictions on the " "ElementName in the related \"OUT\" parameters." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "0x8000.." }, Values { "Success", "Not Supported", "Unknown", "Timeout", "Failed", "Invalid Parameter", "In Use", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageConfigurationService.CreateElementsFromStoragePools", "CIM_StorageConfigurationService.CreateOrModifyElementFromElements", "CIM_StorageConfigurationService.CreateOrModifyElementFromStoragePool" }] uint32 GetElementNameCapabilities( [IN, Description ( "A value indicating the element type. Additional " "information about the type (subtype) is supplied " "using the Goal and InPool parameters." ), ValueMap { "2", "3", "4", "5", "6", "7", "..", "0x8000.." }, Values { "StorageVolume", "StorageExtent", "LogicalDisk", "ThinlyProvisionedStorageVolume", "ThinlyProvisionedLogicalDisk", "StoragePool", "DMTF Reserved", "Vendor Specific" }] uint16 ElementType, [IN, Description ( "Properties of the Goal indicate variations of the " "ElementType. For example, ElementType may indicate " "StoragePool, and Goal may indicate thinly " "provisioned StoragePool." ), ModelCorrespondence { "CIM_StorageSetting.ThinProvisionedPoolType", "CIM_StorageSetting.StorageExtentInitialUsage", "CIM_StorageSetting.StoragePoolInitialUsage" }] CIM_ManagedElement REF Goal, [IN, Description ( "The Pool from which the element in planned to be created from." )] CIM_StoragePool REF InPool, [OUT, Description ( "Enumeration indicating what methods can accept the " "element name for creation or modification of a " "storage element. \n" "CreateOrModifyElementFromStoragePool is an example " "of an InvokeMethod. ModifyInstance and SetProperty " "are examples of intrinsic methods. \n" "An empty array indicates ElementNaming for " "ElementType is not supported, in which case the " "other OUT parameters are null." ), ValueMap { "2", "3", "4", "..", "32768..65535" }, Values { "ElementName can be supplied during creation", "ElementName can be modified with InvokeMethod", "ElementName can be modified with intrinsic method", "DMTF Reserved", "Vendor Specific" }] uint16 SupportedFeatures[], [OUT, Description ( "Maximum supported ElementName length." ), ModelCorrespondence { "CIM_EnabledLogicalElementCapabilities.MaxElementNameLen" }] uint16 MaxElementNameLen, [OUT, Description ( "This string expresses the restrictions on " "ElementName. The mask is expressed as a regular " "expression. See DMTF standard ABNF with the " "Management Profile Specification Usage Guide, " "Annex C for the regular expression syntax " "permitted. \n" "Since the ElementNameMask can describe the maximum " "length of the ElementName, any length defined in " "the regexp is in addition to the restriction " "defined in MaxElementNameLen (causing the smaller " "value to be the maximum length). The ElementName " "value satisfies the restriction, if and only if it " "matches the regular expression. \n" "If NULL, it indicates no restrictions on the " "ElementName." ), ModelCorrespondence { "CIM_EnabledLogicalElementCapabilities.ElementNameMask" }] string ElementNameMask); };