summaryrefslogtreecommitdiffstats
path: root/Schemas/CIM228/DMTF/Device/CIM_StorageSetting.mof
diff options
context:
space:
mode:
Diffstat (limited to 'Schemas/CIM228/DMTF/Device/CIM_StorageSetting.mof')
-rw-r--r--Schemas/CIM228/DMTF/Device/CIM_StorageSetting.mof391
1 files changed, 391 insertions, 0 deletions
diff --git a/Schemas/CIM228/DMTF/Device/CIM_StorageSetting.mof b/Schemas/CIM228/DMTF/Device/CIM_StorageSetting.mof
new file mode 100644
index 0000000..480b304
--- /dev/null
+++ b/Schemas/CIM228/DMTF/Device/CIM_StorageSetting.mof
@@ -0,0 +1,391 @@
+// Copyright (c) 2005 DMTF. All rights reserved.
+ [Version ( "2.11.0" ),
+ UMLPackagePath ( "CIM::Device::StorageServices" ),
+ Description (
+ "StorageSetting is roughly equivalent to a Service Level "
+ "Agreement (SLA) It defines the characteristics, qualities of "
+ "service and goals when used in a CreateOrModifyElement "
+ "FromStoragePool or CreateOrModifyStoragePool method in the "
+ "StorageConfigurationService. It specifies a series of "
+ "properties with Maximum and Minimum values that define the "
+ "(inclusive) bounds that the object should maintain. Note that "
+ "the setting is associated to a StorageVolume or LogicalDisk, "
+ "using ElementSetting. \n"
+ "The use of these properties differs depending on whether the "
+ "StorageSetting instance is being used as a goal for a "
+ "configuration operation or being used as a Service Level "
+ "Agreement for a created Volume. In addition the properties "
+ "fall into two categories: The QOS "
+ "properties(PackageRedundancy, Data Redundancy, & "
+ "NoSinglePointOfFailure) and the Detailed RAID "
+ "properties(ExtentStripeLength, ParityLayout, and "
+ "UserDataStripeDepth). In a Setting used as a goal, the QOS "
+ "properties are required as a set; The Detailed RAID "
+ "properties(if supported as indicated by the scoping "
+ "StorageCapabilities instance) may be used optionally in any "
+ "combination. The implementation MUST supply it\'s own best "
+ "practice in the case where one or more supported RAID "
+ "properties are not supplied. In this situation the use of "
+ "StorageSettingWithHints can be useful to provide direction to "
+ "the implementation. \n"
+ "In a Setting used as a service agreement for a Volume, the QOS "
+ "properties reflect the Service Level Agreement, with goal, "
+ "min, & max. The actual current service level is exposed by "
+ "corresponding values in StorageExtent. \n"
+ "The Detailed RAID properties, by contrast, reflect specific "
+ "values that reflect the RAID construction of the Volume. Only "
+ "the primary values are meaningful; Min and Max are set to "
+ "match. \n"
+ "Certain StorageSetting instances may be classed as \"Fixed\", "
+ "by using the \"ChangeableType\" property, indicating the "
+ "setting is preset. Such settings are used when the possible "
+ "setting variations are low enough to be instantiated in their "
+ "entirety. The StorageCapabilities \"CreateSetting\" method MAY "
+ "NOT be used to return settings that are not changeable. \n"
+ "Other StorageSetting instances are created using the "
+ "\"CreateSetting\" method. If the capabilities specifies "
+ "ranges, then the setting can be used by a client to narrow the "
+ "range to particular values within the range. In other words, "
+ "the capabilities MAY be broad, but the related setting MUST be "
+ "as capable or less capable, that is more narrowly defined, "
+ "before it is used to create or modify resources. \n"
+ "These created StorageSetting instances MUST have their "
+ "\"ChangeableType\" property = 1, \"Changeable - Transient\". \n"
+ "GeneratedSettings MAY not remain after the restart or reset of "
+ "the implementation. They may be deleted by implementation at "
+ "any time. A reasonable minimal time to retain the generated "
+ "transient settings is five minutes, although there is no "
+ "minimal retention time." )]
+class CIM_StorageSetting : CIM_SettingData {
+
+ [Write, Description (
+ "Indicates the desired value for No Single Point of "
+ "Failure. Possible values are false = single point of "
+ "failure, and true = no single point of failure." )]
+ boolean NoSinglePointOfFailure;
+
+ [Write, Description (
+ "DataRedundancyMax describes the maximum number of "
+ "complete copies of data to be maintained. Examples would "
+ "be RAID 5 where 1 copy is maintained and RAID 1 where 2 "
+ "or more copies are maintained. Possible values are 1 to "
+ "n. The desired redundancy is specified using "
+ "DataRedundancyGoal, while the minimum is defined by "
+ "DataRedundancyMin." ),
+ MinValue ( 1 ),
+ ModelCorrespondence { "CIM_StorageSetting.DataRedundancyMin",
+ "CIM_StorageSetting.DataRedundancyGoal" }]
+ uint16 DataRedundancyMax;
+
+ [Write, Description (
+ "DataRedundancyMin describes the minimum number of "
+ "complete copies of data to be maintained. Examples would "
+ "be RAID 5 where 1 copy is maintained and RAID 1 where 2 "
+ "or more copies are maintained. Possible values are 1 to "
+ "n. The desired redundancy is specified using "
+ "DataRedundancyGoal, while the maximum is defined by "
+ "DataRedundancyMax." ),
+ MinValue ( 1 ),
+ ModelCorrespondence { "CIM_StorageSetting.DataRedundancyMax",
+ "CIM_StorageSetting.DataRedundancyGoal" }]
+ uint16 DataRedundancyMin;
+
+ [Write, Description (
+ "DataRedundancyGoal describes the desired number of "
+ "complete copies of data to be maintained. Examples would "
+ "be RAID 5 where 1 copy is maintained and RAID 1 where 2 "
+ "or more copies are maintained. Possible values are 1 to "
+ "n. The bounds (max and min) for redundancy are defined "
+ "using the properties, DataRedundancyMax and "
+ "DataRedundancyMin." ),
+ MinValue ( 1 ),
+ ModelCorrespondence { "CIM_StorageSetting.DataRedundancyMax",
+ "CIM_StorageSetting.DataRedundancyMin" }]
+ uint16 DataRedundancyGoal;
+
+ [Write, Description (
+ "PackageRedundancyMax describes the maximum number of "
+ "redundant packages to be used. For example, in the "
+ "storage domain, package redundancy describes how many "
+ "disk spindles can fail without data loss including, at "
+ "most, one spare. An example would be RAID5 with a spare "
+ "disk which would have a PackageRedundancy of 2. Possible "
+ "values are 0 to n. The desired redundancy is specified "
+ "using PackageRedundancyGoal, while the minimum is "
+ "defined by PackageRedundancyMin." ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.PackageRedundancyMin",
+ "CIM_StorageSetting.PackageRedundancyGoal" }]
+ uint16 PackageRedundancyMax;
+
+ [Write, Description (
+ "PackageRedundancyMin describes the minimum number of "
+ "redundant packages to be used. For example, in the "
+ "storage domain, package redundancy describes how many "
+ "disk spindles can fail without data loss including, at "
+ "most, one spare. An example would be RAID5 with a spare "
+ "disk which would have a PackageRedundancy of 2. Possible "
+ "values are 0 to n. The desired redundancy is specified "
+ "using PackageRedundancyGoal, while the maximum is "
+ "defined by PackageRedundancyMax." ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.PackageRedundancyMax",
+ "CIM_StorageSetting.PackageRedundancyGoal" }]
+ uint16 PackageRedundancyMin;
+
+ [Write, Description (
+ "PackageRedundancyGoal describes the desired number of "
+ "redundant packages to be used. For example, in the "
+ "storage domain, package redundancy describes how many "
+ "disk spindles can fail without data loss including, at "
+ "most, one spare. An example would be RAID5 with a spare "
+ "disk which would have a PackageRedundancy of 2. Possible "
+ "values are 0 to n. The bounds (max and min) for "
+ "redundancy are defined using the properties, "
+ "PackageRedundancyMax and PackageRedundancyMin." ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.PackageRedundancyMax",
+ "CIM_StorageSetting.PackageRedundancyMin" }]
+ uint16 PackageRedundancyGoal;
+
+ [Write, Description (
+ "DeltaReservationMax is a number between 1 (1%) and a 100 "
+ "(100%) which specifies the maximum amount of space that "
+ "should be reserved in a replica for caching changes. For "
+ "a complete copy this would be 100%. The desired "
+ "reservation is specified using DeltaReservationGoal, "
+ "while the minimum is defined by DeltaReservationMin." ),
+ Units ( "Percentage" ),
+ MinValue ( 1 ),
+ MaxValue ( 100 ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.DeltaReservationMin",
+ "CIM_StorageSetting.DeltaReservationGoal" }]
+ uint8 DeltaReservationMax;
+
+ [Write, Description (
+ "DeltaReservationMin is a number between 1 (1%) and a 100 "
+ "(100%) which specifies the minimum amount of space that "
+ "should be reserved in a replica for caching changes. For "
+ "a complete copy this would be 100%. The desired "
+ "reservation is specified using DeltaReservationGoal, "
+ "while the maximum is defined by DeltaReservationMax." ),
+ Units ( "Percentage" ),
+ MinValue ( 1 ),
+ MaxValue ( 100 ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.DeltaReservationMax",
+ "CIM_StorageSetting.DeltaReservationGoal" }]
+ uint8 DeltaReservationMin;
+
+ [Write, Description (
+ "DeltaReservationGoal is a number between 1 (1%) and a "
+ "100 (100%) which specifies the desired amount of space "
+ "that should be reserved in a replica for caching "
+ "changes. For a complete copy this would be 100%. The "
+ "bounds (max and min) for the reservation are defined "
+ "using the properties, DeltaReservationMax and "
+ "DeltaReservationMin." ),
+ Units ( "Percentage" ),
+ MinValue ( 1 ),
+ MaxValue ( 100 ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.DeltaReservationMin",
+ "CIM_StorageSetting.DeltaReservationMax" }]
+ uint8 DeltaReservationGoal;
+
+ [Description (
+ "Enumeration indicating the type of setting. \"Fixed - "
+ "Not Changeable\" settings are primordial. These setting "
+ "are defined at the implementor of the class. \"Changeable "
+ "- Transient\" is the type of setting produced by the "
+ "\"CreateSetting\" method. A client can subsequently "
+ "request that the implementation persist the generated "
+ "and potentially modified setting indefinately. Only a "
+ "\"Changeable - Transient\" setting SHALL be converted to "
+ "a \"Changeable = Persistent\" setting; the setting SHALL "
+ "NOT be changed back." ),
+ ValueMap { "0", "1", "2" },
+ Values { "Fixed - Not Changeable", "Changeable - Transient",
+ "Changeable - Persistent" }]
+ uint16 ChangeableType;
+
+ [Write, Description (
+ "ExtentStripeLength describes the number of underlying "
+ "StorageExtents across which data is striped in the "
+ "common striping-based storage organizations. This is "
+ "also known as the number of \'members\' or \'columns\'. "
+ "When used in a goal setting instance, ExtentStripeLength "
+ "is the optimal desired value. The bounds (max and min) "
+ "for Stripe Length are defined using the properties "
+ "ExtentStripeLengthMax and ExtentStripeLengthMin. "
+ "ExtentStripeLength MUST be set to NULL if the scoping "
+ "StorageCapablities indicates that it is not supported in "
+ "this context. ExtentStripeLength can be used in "
+ "conjunction with CreateOrModifyElementFromELements to "
+ "explicitly configure storage. An example would be RAID "
+ "0+1 with mirroring two stripe sets, each set being three "
+ "wide. In this case CreateOrModifyElementFromElements "
+ "would be passed a goal setting with DataRedundancy = 2 "
+ "and ExtentStripeLength = 3. The size of the InElements "
+ "array would be 6 and would contain the StorageExtents to "
+ "be used to construct the StorageElement as a RAID 0+1. "
+ "ExtentStripeLengthMin and ExtentStripeLengthMax are "
+ "meaningless and wouldbe set to NULL. If the property is "
+ "supported, and is part of StorageSettingWithHints it MAY "
+ "be set to NULL. If used it will constrain the effects of "
+ "Hint selections. When used in a Setting instance "
+ "associated to a Volume, this property indicates the "
+ "specific value that the Volume was created with, and "
+ "ExtentStripeLengthMin and ExtentStripeLengthMax will be "
+ "set to the same specific value." ),
+ MinValue ( 1 ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.ExtentStripeLengthMax",
+ "CIM_StorageSetting.ExtentStripeLengthMin" }]
+ uint16 ExtentStripeLength;
+
+ [Write, Description (
+ "ExtentStripeLength describes the number of underlying "
+ "StorageExtents across which data is striped in the "
+ "common striping-based storage organizations. This is "
+ "also known as the number of \'members\' or \'columns\'. "
+ "When used in a goal setting instance, "
+ "ExtentStripeLengthMin is the minimum acceptable value. "
+ "The desired Stripe Length is specified using "
+ "ExtentStripeLength, while the maximum is defined by "
+ "ExtentStripeLengthMax. ExtentStripeLengthMin MUST be set "
+ "to NULL if the scoping StorageCapablities indicates that "
+ "it is not supported in this context. If the property is "
+ "supported, and is part of StorageSettingWithHints it MAY "
+ "be set to NULL. If used it will constrain the effects of "
+ "Hint selections. When used in a Setting instance "
+ "associated to a Volume, this property is set to the "
+ "specific value of ExtentStripeLength." ),
+ MinValue ( 1 ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.ExtentStripeLengthMax",
+ "CIM_StorageSetting.ExtentStripeLength" }]
+ uint16 ExtentStripeLengthMin;
+
+ [Write, Description (
+ "ExtentStripeLength describes the number of underlying "
+ "StorageExtents across which data is striped in the "
+ "common striping-based storage organizations. This is "
+ "also known as the number of \'members\' or \'columns\'. "
+ "When used in a goal setting instance, "
+ "ExtentStripeLengthMax is the maximum acceptable value. "
+ "The desired Stripe Length is specified using "
+ "ExtentStripeLength, while the minimum is defined by "
+ "ExtentStripeLengthMin. ExtentStripeLengthMax MUST be set "
+ "to NULL if the scoping StorageCapablities indicates that "
+ "it is not supported in this context. If the property is "
+ "supported, and is part of StorageSettingWithHints it MAY "
+ "be set to NULL. If used it will constrain the effects of "
+ "Hint selections. When used in a Setting instance "
+ "associated to a Volume, this property is set to the "
+ "specific value of ExtentStripeLength." ),
+ MinValue ( 1 ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.ExtentStripeLengthMin",
+ "CIM_StorageSetting.ExtentStripeLength" }]
+ uint16 ExtentStripeLengthMax;
+
+ [Write, Description (
+ "ParityLayout specifies whether a parity-based storage "
+ "organization is using rotated or non-rotated parity. "
+ "When used in a goal setting instance, ParityLayout is "
+ "the desired value. It MUST be set to NULL if the scoping "
+ "StorageCapablities indicates that it is not supported in "
+ "this context. If the property is supported, and is part "
+ "of StorageSettingWithHints it MAY be set to NULL. If "
+ "used it will constrain the effects of Hint selections. "
+ "When used in a Setting instance associated to a Volume, "
+ "this property indicates the specific value that the "
+ "Volume was created with." ),
+ ValueMap { "1", "2" },
+ Values { "Non-rotated Parity", "Rotated Parity" }]
+ uint16 ParityLayout;
+
+ [Write, Description (
+ "UserDataStripeDepth describes the number of bytes "
+ "forming a strip in common striping-based storage "
+ "organizations. The strip is defined as the size of the "
+ "portion of a stripe that lies on one extent. Thus, "
+ "ExtentStripeLength * UserDataStripeDepth will yield the "
+ "size of one stripe of user data. When used in a goal "
+ "setting instance, UserDataStripeDepth is the optimal "
+ "desired value. The bounds (max and min) for Stripe Depth "
+ "are defined using the properties UserDataStripeDepthMax "
+ "and UserDataStripeDepthMin. UserDataStripeDepth MUST be "
+ "set to NULL if the scoping StorageCapablities indicates "
+ "that it is not supported in this context. If the "
+ "property is supported, and is part of "
+ "StorageSettingWithHints it MAY be set to NULL. If used "
+ "it will constrain the effects of Hint selections. When "
+ "used in a Setting instance associated to a Volume, this "
+ "property indicates the specific value that the Volume "
+ "was created with, and UserDataStripeDepthMin and "
+ "UserDataStripeDepthMax will be set to the same specific "
+ "value." ),
+ Units ( "Bytes" ),
+ MinValue ( 1 ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.UserDataStripeDepthMax",
+ "CIM_StorageSetting.UserDataStripeDepthMin" }]
+ uint64 UserDataStripeDepth;
+
+ [Write, Description (
+ "UserDataStripeDepth describes the number of bytes "
+ "forming a strip in common striping-based storage "
+ "organizations. The strip is defined as the size of the "
+ "portion of a stripe that lies on one extent. Thus, "
+ "ExtentStripeLength * UserDataStripeDepth will yield the "
+ "size of one stripe of user data. When used in a goal "
+ "setting instance, UserDataStripeDepthMin is the minimum "
+ "acceptable value. The desired Stripe Depth is specified "
+ "using UserDataStripeDepth, while the maximum is defined "
+ "by UserDataStripeDepthMax. UserDataStripeDepthMin MUST "
+ "be set to NULL if the scoping StorageCapablities "
+ "indicates that it is not supported in this context. If "
+ "the property is supported, and is part of "
+ "StorageSettingWithHints it MAY be set to NULL. If used "
+ "it will constrain the effects of Hint selections. When "
+ "used in a Setting instance associated to a Volume, this "
+ "property is set to the specific value of "
+ "UserDataStripeDepth." ),
+ Units ( "Bytes" ),
+ MinValue ( 1 ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.UserDataStripeDepthMax",
+ "CIM_StorageSetting.UserDataStripeDepth" }]
+ uint64 UserDataStripeDepthMin;
+
+ [Write, Description (
+ "UserDataStripeDepth describes the number of bytes "
+ "forming a strip in common striping-based storage "
+ "organizations. The strip is defined as the size of the "
+ "portion of a stripe that lies on one extent. Thus, "
+ "ExtentStripeLength * UserDataStripeDepth will yield the "
+ "size of one stripe of user data. When used in a goal "
+ "setting instance, UserDataStripeDepthMax is the maximum "
+ "acceptable value. The desired Stripe Depth is specified "
+ "using UserDataStripeDepthGoal, while the minimum is "
+ "defined by UserDataStripeDepthMin. "
+ "UserDataStripeDepthMax MUST be set to NULL if the "
+ "scoping StorageCapablities indicates that it is not "
+ "supported in this context. If the property is supported, "
+ "and is part of StorageSettingwWithHints it MAY be set to "
+ "NULL. If used it will constrain the effects of Hint "
+ "selections. When used in a Setting instance associated "
+ "to a Volume, this property is set to the specific value "
+ "of UserDataStripeDepth." ),
+ Units ( "Bytes" ),
+ MinValue ( 1 ),
+ ModelCorrespondence {
+ "CIM_StorageSetting.UserDataStripeDepthMin",
+ "CIM_StorageSetting.UserDataStripeDepth" }]
+ uint64 UserDataStripeDepthMax;
+
+
+};