{'Description':'This parameter allows the user to specify the desired FriendlyName for the masking set at the time of its creation. FriendlyNames are expected to be descriptive, however they are not requried to be unique.','In':True,'Required':True}
VirtualDiskNames
string
1
✓
-
{'Description':'This parameter specifies the list of virtual disks to show to the initiators in the masking set. The identifier used by this parameter is the virtual disk Name property. This parameter has a 1:1 mapping with the DeviceAccesses parameter (the arrays must be the same length and have the same order).','In':True}
DeviceAccesses
uint16
2
✓
-
{'Description':'This parameter specifies the level of access the initiator should have to each virtual disk specified by VirtualDiskNames. This parameter has a 1:1 mapping with the VirtualDiskNames parameter (the arrays must be the same length and have the same order).','In':True,'ValueMap':['0', '2', '3', '4'],'Values':['Unknown', 'Read Write', 'Read-Only', 'No Access']}
DeviceNumbers
string
3
✓
-
{'Description':'Specifies the order in which the virtual disks should be exposed to the initiator. This capability is only available if the storage subsystem's MaskingClientSelectableDeviceNumbers property is set to TRUE. If specified, this parameter must have a 1:1 mapping with the VirtualDiskNames parameter.','In':True}
TargetPortAddresses
string
4
✓
-
{'Description':'This parameter specifies the target ports which should be used when showing the virtual disks to the initiators. The number of target ports that can be specified depends on the subsystem's MaskingPortsPerView property. If MaskingPortsPerView is set to 4 - 'All target ports share the same view', this parameter is essentially ignored as all target ports on the system will be associated with this masking set.','In':True}
InitiatorAddresses
string
5
✓
-
{'Description':'This parameter specifies the initiators for which the virtual disks should be shown. If the subsystem's MaskingOneInitiatorIdPerView property is TRUE, only one initiator can be specified for this masking set. The list of valid initiator address formats can be determined through the subsystem's MaskingValidInitiatorIdTypes property.','In':True}
HostType
uint16
6
✓
-
{'Description':'Designates the host operating system or other host environment factors that may influence the behavior the storage subsystem should take when showing a virtual disk to an initiator.','In':True,'ValueMap':['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22..32767', '32768..65535'],'Values':['Unknown', 'Other', 'Standard', 'Solaris', 'HPUX', 'OpenVMS', 'Tru64', 'Netware', 'Sequent', 'AIX', 'DGUX', 'Dynix', 'Irix', 'Cisco iSCSI Storage Router', 'Linux', 'Microsoft Windows', 'OS400', 'TRESPASS', 'HI-UX', 'VMware ESXi', 'Microsoft Windows Server 2008', 'Microsoft Windows Server 2003', 'DMTF Reserved', 'Vendor Specific']}
{'Description':'This parameter returns a reference to the storage job used to track the long running operation. When the operation has completed, an association should exist between the storage job and the created objects.','Out':True}
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Method Parameters Checked - Job Started', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The specified virtual disk could not be found.', 'The device number specified is not valid.', 'The HostType requested is not supported.', 'DeviceAccess must be specified for each virtual disk.', 'The initiator address specified is not valid', 'Only one initiator address is acceptable for this operation.', 'The target port address specified is not valid.']
{'Description':'This parameter allows the user to specify the FriendlyName at the time of the storage pool creation. FriendlyNames are expected to be descriptive, however they are not required to be unique. Note that some storage subsystems do not allow setting a friendly name during pool creation. If a subsystem doesn't support this, storage pool creation should still succeed, however the pool may have a different name assigned to it.','In':True,'Required':True}
Usage
uint16
1
✓
-
{'Description':'Denotes the intended usage of the storage pool.','In':True,'ValueMap':['1', '2', '3', '4', '5', '6', '7', '8'],'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']}
OtherUsageDescription
string
2
✓
-
{'Description':'Allows a user to set a custom usage type for the new storage pool object. This parameter can only be specified if the Usage parameter is set to 1 - 'Other'. ','In':True}
{'Description':'This parameter is used to specify an array of physical disk objects that will be used as the backing data storage for the created storage pool. The physical disks must come from a primordial pool on the subsystem on which you are creating this pool. Only the disks from a single primordial pool may be used.','EmbeddedInstance':'MSFT_PhysicalDisk','In':True,'Required':True}
ResiliencySettingNameDefault
string
4
✓
-
{'Description':'This parameter indicates the resiliency setting to be used by default when creating a new virtual disk on this storage pool. If the subsystem's SupportsMultipleResiliencySettingsPerStoragePool property is set to FALSE, this parameter also acts as a hint to the Storage Management Provider on which resiliency setting should be inherited by this storage pool. If no value is given, it is up to the Storage Management Provider to pick the most appropriate resiliency setting.','In':True}
ProvisioningTypeDefault
uint16
5
✓
-
{'Description':'This parameter indicates the provisioning type to be used by default when creating a new virtual disk on this storage pool. If no default is specified, the default is inherited from the primordial pool.','In':True,'ValueMap':['1', '2'],'Values':['Thin', 'Fixed']}
LogicalSectorSizeDefault
uint64
6
✓
-
{'Description':'This parameter indicates the default logical sector size for the storage pool. This is useful when a storage pool may contain a mix of 512 emulated and either 4K native or 512 native physical disks.','In':True,'Units':'Bytes'}
EnclosureAwareDefault
boolean
7
✓
-
{'Description':'This parameter indicates the default allocation policy for virtual disks created in an enclosure aware storage pool. For example, an enclosure aware subsystem could balance each data copy of the virtual disk across multiple physical enclosures such that each enclosure contains a full data copy of the virtual disk.','In':True}
WriteCacheSizeDefault
uint64
8
✓
-
{'Description':'Default size of write cache for virtual disk creation','In':True}
AutoWriteCacheSize
boolean
9
✓
-
{'Description':'Indicates if provider should pick up the auto write cache size or not','In':True}
{'Description':'This parameter returns a reference to the storage job used to track the long running operation. When the operation has completed, an association should exist between the storage job and the created objects.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','EmbeddedInstance':'MSFT_StorageExtendedStatus','Out':True}
Description
'This method creates a storage pool from available physical disks contained within a common primordial pool. A physical disk is available for storage pool creation if its CanPool property is set to TRUE. Storage pool creation is only available when the SupportsStoragePoolCreation field of the storage subsystem is TRUE.'
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Object Not Found', 'Method Parameters Checked - Job Started', 'Access denied', 'There are not enough resources to complete the operation.', 'Cache out of date', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'Failover clustering could not be enabled for this storage object.', 'No resiliency setting with that name exists.', 'The value for WriteCacheSize is outside of the supported range of values.', 'One of the physical disks specified is not supported by this operation.', 'Not enough physical disks were specified to successfully complete the operation.', 'One of the physical disks specified is already in use.', 'One of the physical disks specified uses a sector size that is not supported by this storage pool.', 'One or more physical disks are not connected to the nodes on which the pool is being created.']
{'Description':'This parameter allows the user to specify the desired FriendlyName at the time of the virtual disk creation. FriendlyNames are expected to be descriptive, however they are not required to be unique. Note that some storage subsystems do not allow setting a friendly name during virtual disk creation. If a subsystem doesn't support this, virtual disk creation should still succeed, however the disk may have a different name assigned to it.','In':True,'Required':True}
Usage
uint16
1
✓
-
{'Description':'Denotes the intended usage of the virtual disk','In':True,'ValueMap':['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17'],'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 VirtualDisk Member', 'Reserved for Sparing']}
OtherUsageDescription
string
2
✓
-
{'Description':'Allows a user to set a custom usage type for the new virtual disk object. This parameter can only be specified if the Usage parameter is set to 1 - 'Other'. ','In':True}
Size
uint64
3
-
✓
{'Description':'Indicates the desired size for the virtual disk. Note that some storage subsystems will round the size up or down to a multiple of its allocation unit size. If this parameter is specified, UseMaximumSize must be NULL or FALSE.','MinValue':'1','out':True,'Required':True,'Units':'Bytes'}
UseMaximumSize
boolean
4
✓
-
{'Description':'Create a virtual disk using the largest supported size. This parameter cannot be used with the Size parameter.','In':True}
NumberOfDataCopies
uint16
5
✓
-
{'Description':'Specifies the number of complete data copies to maintain for this virtual disk.','In':True,'MinValue':'1'}
PhysicalDiskRedundancy
uint16
6
✓
-
{'Description':'Specifies how many physical disk failures the virtual disk should be able to withstand before data loss occurs.','In':True}
NumberOfColumns
uint16
7
✓
-
{'Description':'Specifies the number of underlying physical disks across which data should be striped.','In':True,'MinValue':'1'}
Interleave
uint64
8
✓
-
{'Description':'Specifies the number of bytes used to form a strip in common striping-based resiliency settings. The strip is defined as the size of the portion of a stripe that lies on one physical disk. Thus Interleave * NumberOfColumns will yield the total size of one stripe.','In':True,'MinValue':'1'}
ParityLayout
uint16
9
✓
-
{'Description':'This field specifies whether a parity-based resiliency setting is using a rotated or non-rotated parity layout. If the resiliency setting is not parity based, this field must be set to NULL','In':True,'ValueMap':['1', '2'],'Values':['Non-rotated Parity', 'Rotated Parity']}
RequestNoSinglePointOfFailure
boolean
10
✓
-
{'In':True}
IsEnclosureAware
boolean
11
✓
-
{'Description':'Determines the allocation behavior for this virtual disk. Enclosure aware virtual disks will intelligently pick the physical disks to use for their redundancy. If TRUE, the virtual disk will attempt to use physical disks from different enclosures to balance the fault tolerance between two (or more) physical enclosures.','In':True}
ProvisioningType
uint16
12
✓
-
{'Description':'Denotes the provisioning type of the virtual disk. A value of 1 - 'Thin' means that the storage for the disk is allocated on-demand. A value of 2 - 'Fixed' means that the storage is allocated up front.','In':True,'ValueMap':['1', '2'],'Values':['Thin', 'Fixed']}
{'Description':'This parameter returns a reference to the storage job used to track the long running operation. When the operation has completed, an association should exist between the storage job and the created objects.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','EmbeddedInstance':'MSFT_StorageExtendedStatus','Out':True}
Description
'This method allows for the creation of virtual disks on a storage subsystem. This method is typically used when either a) the subsystem's storage pools do not allow virtual disk creation directly, or b) the subsystem does not support storage pools. Storage Management Providers may also choose to implement this method to 'intelligently' pick a storage pool for the user. If this method is supported, the subsystem's SupportsAutomaticStoragePoolSelection property should be set to TRUE.'
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Method Parameters Checked - Job Started', 'Size Not Supported', 'Not enough available capacity', 'Access denied', 'There are not enough resources to complete the operation.', 'Cache out of date', 'You must specify a size by using either the Size or the UseMaximumSize parameter. You can specify only one of these parameters at a time.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'No storage pools were found that can support this virtual disk configuration.', 'The value for NoSinglePointOfFailure is not supported.', 'The value for PhysicalDiskRedundancy is outside of the supported range of values.', 'The value for NumberOfDataCopies is outside of the supported range of values.', 'The value for ParityLayout is outside of the supported range of values.', 'The value for Interleave is outside of the supported range of values.', 'The value for NumberOfColumns is outside of the supported range of values.']
{'Description':'A Security Descriptor Definition Language (SDDL) formed string describing the access control list of the object.','Out':True,'Required':True}
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.']
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.']
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.']
{'Description':'A Security Descriptor Definition Language (SDDL) formed string describing the desired access control list for this object.','In':True,'Required':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','EmbeddedInstance':'MSFT_StorageExtendedStatus','Out':True}
Description
'This method allows a user with sufficient privileges to set the security descriptor that control access to this specific object instance. If the call is not made in the context of a user specified in the security descriptor's access control list, this method will fail with 40001 - 'Access Denied'. If an empty security descriptor is passed to this function, the behavior is left to the specific implementation so long as there is some user context (typically domain administrators) that can access and administer the object.'
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.']
'This field denotes the cache level that has been discovered. This corresponds to the storage provider's DiscoveryLevel parameter in the Discover method. 0 - 'Level 0': The storage provider and storage subsystem objects have been discovered. 1 - 'Level 1': Storage pools, resiliency settings, target ports, target portals, and initiator ids belonging to this subsystem have been discovered. 2 - 'Level 2': Virtual disks and masking sets belonging to this subsystem have been discovered. 3 - 'Level 3': Physical disks belonging to this subsystem have been discovered.'
'A user settable description of the storage subsystem. This field can be used to store extra free-form information, such as notes or details about the subsystem's intended usage.'
'A user settable string representing the name of the storage subsystem. The storage provider or subsystem is expected to supply an initial value for this field.'
'Denotes the health of the subsystem. 0 - 'Healthy': Indicates that the subsystem is functioning normally. 1 - 'Warning': Indicates that the subsystem is still functioning, but has detected errors or issues that may require administrator intervention. 2 - 'Unhealthy': Indicates that the subsystem is not functioning due to errors or failures. The subsystem needs immediate attention from an administrator.'
'Denotes the iSCSI Target Creation Scheme supported by the subsystem. 0 - 'Not Applicable' implies a non-iSCSI subsystem. 1 - 'Not Supported' implies the subsystem does not allow creation of a Target. 2 - 'Manual' implies the subsystem allows manual creation of the Target. 3 - 'Auto' implies the subsystem automatically creates a Target. '
'If MaskingValidInitiatorIdTypes contains the value 1 - 'Other', this field is used to enumerate the other valid initiator id types for this storage subsystem.'
'Indicates the number of target ports that can be used for masking a virtual disk. This applies to both masking sets and the virtual disk Show method.'
read
True
ValueMap
['2', '3', '4']
Values
['One TargetPort per view', 'Multiple target ports per view', 'All target ports share the same view']
'ObjectId is a mandatory property that is used to opaquely and uniquely identify an instance of a class. ObjectIds must be unique within the scope of the management server (which is hosting the provider). The ObjectId is created and maintained for use of the Storage Management Providers and their clients to track instances of objects. If an object is visible through two different paths (for example: there are two separate Storage Management Providers that point to the same storage subsystem) then the same object may appear with two different ObjectIds. For determining if two object instances are the same object, refer to the UniqueId property.'
'Indicates the current statuses of the subsystem. Various operational statuses are defined. Many of the enumeration's values are self-explanatory. However, a few are not and are described here in more detail. 4 - 'Stressed': indicates that the subsystem is functioning, but needs attention. Examples of 'Stressed' states are overload, overheated, and so on. 5 - 'Predictive Failure': indicates that the subsystem is functioning nominally but predicting a failure in the near future. 11 - 'In Service': describes a subsystem being configured, maintained, cleaned, or otherwise administered. 12 - 'No Contact': indicates that the storage provider has knowledge of this subsystem, but has never been able to establish communications with it. 13 - 'Lost Communication': indicates that the subsystem is known to exist and has been contacted successfully in the past, but is currently unreachable. 10 - 'Stopped' and 14 - 'Aborted' are similar, although the former implies a clean and orderly stop, while the latter implies an abrupt stop where the state and configuration of the subsystem might need to be updated. 15 - 'Dormant': indicates that the subsystem is inactive. 16 - 'Supporting Entity in Error': indicates that this subsystem might be OK, but that another element, on which it is dependent, is in error. '
'When the corresponding array entry in SupportedHostType[] is "Other", this entry provides a string describing the manufacturer and OS/Environment. When the corresponding SupportedHostType[] entry is not "Other", this entry allows variations or qualifications of ClientTypes - for example, different versions of Solaris.'
'An array of string description of the format used in the custom identifiers defined in the OtherIdentifyingInfo field. There must be a 1:1 mapping between this array and OtherIdentifyingInfo.'
'PassThroughIds is a comma-separated list of all implementation specific keys. It is used by storage management applications to access the vendor proprietary object model. This field should be in the form: key1='value1',key2='value2'.'
'If TRUE, the storage subsystem supports showing and hiding (masking) a virtual disk to a host initiator through the Show/Hide methods of the virtual disk and by the use of masking sets.'
'If TRUE, all resiliency settings will be copied from the primordial pool and added to a concrete pool upon its creation. If FALSE, the storage pool should copy the setting specified in the ResiliencySettingNameDefault parameter of CreateStoragePool. If no name was given, the resiliency setting specified by the primordial pool's ResiliencySettingNameDefault property should be used.'
'If TRUE, this subsystem supports the ability to create new concrete storage pools from one or more physical disks. If FALSE, either the subsystem uses pre-created storage pools, or it does not support storage pools.'
'If TRUE, storage pools on this subsystem support the replacement or removal of physical disks by use of the RemovePhysicalDisk method on the storage pool instance.'
'If TRUE, this subsystem supports the ability to create new storage tiers. If FALSE, either the subsystem uses pre-created storage tiers, or it does not support storage tiers.'
'Denotes whether a user can modify attributes or other properties on a virtual disk by using the various Set* extrinsic methods. (For example: SetFriendlyname ).'
'Tag is an identifier for the subsystem that is independent from any location-based information. Examples of a tag could be the subsystem's serial number or asset tag.'
'UniqueId is a mandatory property that is used to uniquely identify a logical instance of a storage subsystem's object. This value must be the same for an object viewed by two or more provider instances (even if they are running on seperate management servers). UniqueId can be any globally unique, opaque value unless otherwise specified by a derived class.'