# Class CIM_DiskPartitionConfigurationService
extends CIM_Service

DiskPartitionConfigurationService provides methods for clients to configure DiskPartitions. The instrumentation MUST NOT instantiate instances of partitions (such as hidden, maintenance, or zero-length partitions) that are not intended for use by applications (filesystems, databases, ...). There are two reasons for this constraint. There are different system-specific ways to indicate whether or not a partition is hidden, in some cases, the starting/ending block information is invalid, but ignored. If these properties are exposed, clients will not have a way to determine which blocks are in use. The other reason is that typically the number of partitions is fixed in the underlying data structures (or grows by large, fixed-size chunks). Common practice is to have a one (or a few) partition per disk with many hidden partitions. Instantiating a lot of hidden partitions clutters up the model without value add. The methods of this service and the properties of DiskPartitionConfigurationCapabilities provide a view of partitions actually in use without requiring clients to understand system-specific details.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Service
|
+--CIM_DiskPartitionConfigurationService

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | DiskPartitionConfigurationService provides methods for clients to configure DiskPartitions. The instrumentation MUST NOT instantiate instances of partitions (such as hidden, maintenance, or zero-length partitions) that are not intended for use by applications (filesystems, databases, ...). There are two reasons for this constraint. There are different system-specific ways to indicate whether or not a partition is hidden, in some cases, the starting/ending block information is invalid, but ignored. If these properties are exposed, clients will not have a way to determine which blocks are in use. The other reason is that typically the number of partitions is fixed in the underlying data structures (or grows by large, fixed-size chunks). Common practice is to have a one (or a few) partition per disk with many hidden partitions. Instantiating a lot of hidden partitions clutters up the model without value add. The methods of this service and the properties of DiskPartitionConfigurationCapabilities provide a view of partitions actually in use without requiring clients to understand system-specific details.
Experimental | boolean | true
UMLPackagePath | string | CIM::Device::StorageExtents
Version | string | 2.10.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
PartitioningSchemes | uint16 |
Description | string | Describes the partitioning schemes supported by the platform. AIX and HP_UX do not allow partitions. Linux allows volumes with and without partitions, Solaris requires Partitions. No more than a single instance of this class MAY be instantiated on a system. If set to 'No partitions allowed' then the methods of this service are not available.
ValueMap | string | 2, 3, 4
Values | string | No partitions allowed, Volumes may be partitioned or treated as whole, Volumes must be partitioned

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_Service
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
Generation | uint64 | CIM_ManagedElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
Name | string | CIM_Service
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryOwnerContact | string | CIM_Service
PrimaryOwnerName | string | CIM_Service
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Started | boolean | CIM_Service
StartMode | string | CIM_Service
Status | string | CIM_ManagedSystemElement
SystemCreationClassName | string | CIM_Service
SystemName | string | CIM_Service
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### SetPartitionStyle (uint32)

#### Method Qualifiers (SetPartitionStyle)

Name | Data Type | Value
--- | --- | ---
Description | string | This method installs a partition table on an extent of the specified partition style; creating an association between the extent and that capabilities instances referenced as method parameters. As a side effect, the consumable block size of the underlying extent is reduced by the block size of the metadata reserved by the partition table and associated metadata. This size is in the PartitionTableSize property of the associated DiskPartitionConfigurationCapabilities instance.
ValueMap | string | 0, 1, 2, 3, 4, 5, .., 0x1000, 0x1001, 0x1002, .., 0x8000..
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, DMTF Reserved, Extent already has partition table, Requested Extent too large, Style not supported by Service, Method Reserved, Vendor Specific

#### Method Parameters (SetPartitionStyle)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Extent | REF CIM_StorageExtent
Description | string | A reference to the extent (volume or partition) where this style (partition table) will be installed.
IN | boolean | true
PartitionStyle | REF CIM_DiskPartitionConfigurationCapabilities
Description | string | A reference to the DiskPartitionConfigurationCapabilities instance describing the desired partition style.
IN | boolean | true

#### CreateOrModifyPartition (uint32)

#### Method Qualifiers (CreateOrModifyPartition)

Name | Data Type | Value
--- | --- | ---
Description | string | This method creates a new partition if the Partition parameter is null or modifies the partition specified. If the starting and ending address parameters are null, the resulting partition will occupy the entire underlying extent. If the starting address is non-null and the ending address is null, the resulting partition will extend to the end of the underlying extent. If a partition is being created, a LogicalDisk instance is also created BasedOn the partition. The NumberOfBlocks and ComsumableBlocks properties MUST be the same value and MUST be common to the partition and LogicalDisk (since partition metadata is part of the partition table, not part of partitions). The StartingAddress of the LogicalDisk MUST be 0, the ConsumableBlocks of the LogicalDisk and partition MUST be the same, and the difference between the StartingAddress and EndingAddress of the partition and LogicalDisk must be the same - one less than ConsumableBlocks/NumberOfBlocks. The underlying extent MUST be associated to a capabilities class describing the installed partition style (partition table); this association is established using SetPartitionStyle().
ValueMap | string | 0, 1, 2, 3, 4, 5, .., 0x1000, 0x1001, 0x1002, 0x1003, 0x1004, .., 0x8000..
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, DMTF Reserved, Overlap Not Supported, No Available Partitions, Specified partition not on specified extent, Device File Name not valid, LogicalDisk with different DeviceFileName exists, Method Reserved, Vendor Specific

#### Method Parameters (CreateOrModifyPartition)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
DeviceFileName | string
Description | string | The platform-specific special file name to be assigned to the LogicalDisk instance BasedOn the new DiskPartition instance.
IN | boolean | true
EndingAddress | uint64
Description | string | The ending block number.
IN | boolean | true
StartingAddress | uint64
Description | string | The starting block number.
IN | boolean | true
extent | REF CIM_StorageExtent
Description | string | A reference to the underlying extent the partition is base on.
IN | boolean | true
Partition | REF CIM_GenericDiskPartition
Description | string | A reference an existing partition instance to modify or null to request a new partition.
IN | boolean | true
OUT | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
ChangeAffectedElementsAssignedSequence | uint32 | CIM_Service
RequestStateChange | uint32 | CIM_EnabledLogicalElement
StartService | uint32 | CIM_Service
StopService | uint32 | CIM_Service