861 lines
27 KiB
C#

//----------------------------------------------------------------------------
//
// Copyright (c) Intel Corporation, 2003 - 2012 All Rights Reserved.
//
// File: CIM_StorageExtent.cs
//
// Contents: StorageExtent describes the capabilities and management of the various media that exist to store data and allow data retrieval. This superclass could be used to represent the various components of RAID (Hardware or Software) or as a raw logical extent on top of physical media.
// This file was automatically generated from CIM_StorageExtent.mof
//
//----------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Globalization;
using System.Xml.Serialization;
using System.IO;
using Intel.Manageability.WSManagement;
using Intel.Manageability.Cim.Untyped;
namespace Intel.Manageability.Cim.Typed
{
/// <summary>
///StorageExtent describes the capabilities and management of the various media that exist to store data and allow data retrieval. This superclass could be used to represent the various components of RAID (Hardware or Software) or as a raw logical extent on top of physical media.
/// </summary>
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_StorageExtent")]
[System.Xml.Serialization.XmlRootAttribute("CIM_StorageExtent", Namespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_StorageExtent", IsNullable=false)]
public class CIM_StorageExtent : CIM_LogicalDevice
{
/// <summary>
/// Default constructor.
/// </summary>
public CIM_StorageExtent() :base()
{
}
/// <summary>
/// Constructor that recieves an xml string for deserialization.
/// </summary>
/// <param name="xml">xml string to deserialize</param>
public CIM_StorageExtent(string xml): base((IWSManClient)null)
{
this.Deserialize(xml);
}
/// <summary>
/// Constructor which recieves a Ws-Management client object.
/// </summary>
/// <param name="client">Ws-Management client</param>
public CIM_StorageExtent(IWSManClient client): base(client)
{
}
/// <summary>
/// Remove Access field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveAccess()
{
RemoveField("Access");
}
/// <summary>
/// Is true if the field Access exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool AccessExist
{
get
{
return ContainsField("Access");
}
}
/// <summary>
/// Optional, Access describes whether the media is readable (value=1), writeable (value=2), or both (value=3). "Unknown" (0) and "Write Once" (4) can also be defined.
/// </summary>
[CimField(false, false)]
public virtual ushort Access
{
get
{
return ushort.Parse(this["Access"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("Access",value.ToString(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove BlockSize field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveBlockSize()
{
RemoveField("BlockSize");
}
/// <summary>
/// Is true if the field BlockSize exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool BlockSizeExist
{
get
{
return ContainsField("BlockSize");
}
}
/// <summary>
/// Optional, Size in bytes of the blocks which form this StorageExtent. If variable block size, then the maximum block size in bytes should be specified. If the block size is unknown or if a block concept is not valid (for example, for AggregateExtents, Memory or LogicalDisks), enter a 1.
/// </summary>
[CimField(false, false)]
public virtual ulong BlockSize
{
get
{
return ulong.Parse(this["BlockSize"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("BlockSize",value.ToString(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove ConsumableBlocks field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveConsumableBlocks()
{
RemoveField("ConsumableBlocks");
}
/// <summary>
/// Is true if the field ConsumableBlocks exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool ConsumableBlocksExist
{
get
{
return ContainsField("ConsumableBlocks");
}
}
/// <summary>
/// Optional, The maximum number of blocks, of size BlockSize, which are available for consumption when layering StorageExtents using the BasedOn association. This property only has meaning when this StorageExtent is an Antecedent reference in a BasedOn relationship. For example, a StorageExtent could be composed of 120 blocks. However, the Extent itself may use 20 blocks for redundancy data. If another StorageExtent is BasedOn this Extent, only 100 blocks would be available to it. This information ('100 blocks is available for consumption') is indicated in the ConsumableBlocks property.
/// </summary>
[CimField(false, false)]
public virtual ulong ConsumableBlocks
{
get
{
return ulong.Parse(this["ConsumableBlocks"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("ConsumableBlocks",value.ToString(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove DataOrganization field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveDataOrganization()
{
RemoveField("DataOrganization");
}
/// <summary>
/// Is true if the field DataOrganization exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool DataOrganizationExist
{
get
{
return ContainsField("DataOrganization");
}
}
/// <summary>
/// Optional, Type of data organization used.
/// </summary>
[CimField(false, false)]
public virtual ushort DataOrganization
{
get
{
return ushort.Parse(this["DataOrganization"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("DataOrganization",value.ToString(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove DataRedundancy field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveDataRedundancy()
{
RemoveField("DataRedundancy");
}
/// <summary>
/// Is true if the field DataRedundancy exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool DataRedundancyExist
{
get
{
return ContainsField("DataRedundancy");
}
}
/// <summary>
/// Optional, Number of complete copies of data currently maintained.
/// </summary>
[CimField(false, false)]
public virtual ushort DataRedundancy
{
get
{
return ushort.Parse(this["DataRedundancy"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("DataRedundancy",value.ToString(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove DeltaReservation field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveDeltaReservation()
{
RemoveField("DeltaReservation");
}
/// <summary>
/// Is true if the field DeltaReservation exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool DeltaReservationExist
{
get
{
return ContainsField("DeltaReservation");
}
}
/// <summary>
/// Optional, Current value for Delta reservation. This is a percentage that specifies the amount of space that should be reserved in a replica for caching changes.
/// </summary>
[CimField(false, false)]
public virtual byte DeltaReservation
{
get
{
return byte.Parse(this["DeltaReservation"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("DeltaReservation",value.ToString(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove ErrorMethodology field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveErrorMethodology()
{
RemoveField("ErrorMethodology");
}
/// <summary>
/// Is true if the field ErrorMethodology exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool ErrorMethodologyExist
{
get
{
return ContainsField("ErrorMethodology");
}
}
/// <summary>
/// Optional, ErrorMethodology is a free-form string describing the type of error detection and correction supported by this StorageExtent.
/// </summary>
[CimField(false, false)]
public virtual string ErrorMethodology
{
get
{
return this.GetField("ErrorMethodology")[0];
}
set
{
this.SetOrAddField("ErrorMethodology",value);
}
}
/// <summary>
/// Remove ExtentStatus field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveExtentStatus()
{
RemoveField("ExtentStatus");
}
/// <summary>
/// Is true if the field ExtentStatus exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool ExtentStatusExist
{
get
{
return ContainsField("ExtentStatus");
}
}
/// <summary>
/// Optional, StorageExtents have additional status information beyond that captured in the OperationalStatus and other properties, inherited from ManagedSystemElement. This additional information (for example, "Protection Disabled", value=9) is captured in the ExtentStatus property.
/// 'In-Band Access Granted' says that access to data on an extent is granted to some consumer and is only valid when 'Exported' is also set. It is set as a side effect of PrivilegeManagementService.ChangeAccess or equivalent interfaces.
/// 'Imported' indicates that the extent is used in the current system, but known to be managed by some other system. For example, a server imports volumes from a disk array.
/// 'Exported' indicates the extent is meant to be used by some comsumer. A disk array's logical units are exported.
/// Intermediate composite extents may be neither imported nor exported.
/// 'Relocating' indicates the extent is being relocated.
/// </summary>
[CimField(false, false)]
public virtual ushort[] ExtentStatus
{
get
{
return CimTypesUtils.StringArrayToArray<ushort>(this["ExtentStatus"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray<ushort>(value);
this.SetOrAddField("ExtentStatus", arr);
}
}
/// <summary>
/// Remove IsBasedOnUnderlyingRedundancy field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveIsBasedOnUnderlyingRedundancy()
{
RemoveField("IsBasedOnUnderlyingRedundancy");
}
/// <summary>
/// Is true if the field IsBasedOnUnderlyingRedundancy exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool IsBasedOnUnderlyingRedundancyExist
{
get
{
return ContainsField("IsBasedOnUnderlyingRedundancy");
}
}
/// <summary>
/// Optional, True indicates that the underlying StorageExtent(s) participate in a StorageRedundancyGroup.
/// </summary>
[CimField(false, false)]
public virtual bool IsBasedOnUnderlyingRedundancy
{
get
{
return bool.Parse(this["IsBasedOnUnderlyingRedundancy"][0]);
}
set
{
this.SetOrAddField("IsBasedOnUnderlyingRedundancy",value.ToString().ToLower(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove Name field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public override void RemoveName()
{
RemoveField("Name");
}
/// <summary>
/// Is true if the field Name exists in the current object,
/// otherwise is false.
/// </summary>
public override bool NameExist
{
get
{
return ContainsField("Name");
}
}
/// <summary>
/// Optional, A unique identifier for the Extent.
/// </summary>
[CimField(false, false)]
public override string Name
{
get
{
return this.GetField("Name")[0];
}
set
{
this.SetOrAddField("Name",value);
}
}
/// <summary>
/// Remove NameFormat field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveNameFormat()
{
RemoveField("NameFormat");
}
/// <summary>
/// Is true if the field NameFormat exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool NameFormatExist
{
get
{
return ContainsField("NameFormat");
}
}
/// <summary>
/// Optional, The list here applies to all StorageExtent subclasses. Please look at the Description in each subclass for guidelines on the approriate values for that subclass. Note that any of these formats could apply to a CompositeExtent.
///
/// Note - this property originally touched on two concepts that are now separated into this property and NameNamespace. Values 2,3,4,5,6, and 8 are retained for backwards compatibility but are deprecated in lieu of the corresponding values in CIM_StorageExtent.NameNamespace.
///
/// For example, the preferred source for SCSI virtual (RAID) disk names is from Inquiry VPD page 83 response, type 3 identifiers. These will have NameFormat set to 'NAA' and NameNamespace to 'VPD83Type3'.
///
/// Format of the Name property. Values for extents representing SCSI volumes are (per SCSI SPC-3):
/// 2 = VPD Page 83, NAA IEEE Registered Extended (VPD83NAA6)
/// (DEPRECATED)
/// 3 = VPD Page 83, NAA IEEE Registered (VPD83NAA5)
/// (DEPRECATED)
/// 4 = VPD Page 83, (VPD83Type2) (DEPRECATED)
/// 5 = VPD Page 83,
/// T10 Vendor Identification (VPD83Type1) (DEPRECATED)
/// 6 = VPD Page 83, Vendor Specific (VPD83Type0) (DEPRECATED)
/// 7 = Serial Number/Vendor/Model (SNVM) SNVM is 3 strings representing the vendor name, product name within the vendor namespace, and the serial number within the model namespace. Strings are delimited with a '+'. Spaces may be included and are significant. The serial number is the text representation of the serial number in hexadecimal upper case. This represents the vendor and model ID from SCSI Inquiry data; the vendor field MUST be 8 characters wide and the product field MUST be 16 characters wide. For example,
/// 'ACME____+SUPER DISK______+124437458' (_ is a space character)
/// 8 = Node WWN (for single LUN/controller) (NodeWWN)
/// (DEPRECATED)
/// 9 = NAA as a generic format. See
/// http://standards.ieee.org/regauth/oui/tutorials/fibrecomp_id.html. Formatted as 16 or 32 unseparated uppercase hex characters (2 per binary byte). For example '21000020372D3C73'
/// 10 = EUI as a generic format (EUI64) See
/// http://standards.ieee.org/regauth/oui/tutorials/EUI64.html.
/// Formatted as 16 unseparated uppercase hex characters (2 per binary byte)
/// 11 = T10 vendor identifier format as returned by SCSI Inquiry VPD page 83, identifier type 1. See T10 SPC-3 specification. This is the 8-byte ASCII vendor ID from the T10 registry followed by a vendor specific ASCII identifier; spaces are permitted. For non SCSI volumes, 'SNVM' may be the most appropriate choice. 12 = OS Device Name (for LogicalDisks). See LogicalDisk Name description for details.
/// </summary>
[CimField(false, false)]
public virtual ushort NameFormat
{
get
{
return ushort.Parse(this["NameFormat"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("NameFormat",value.ToString(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove NameNamespace field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveNameNamespace()
{
RemoveField("NameNamespace");
}
/// <summary>
/// Is true if the field NameNamespace exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool NameNamespaceExist
{
get
{
return ContainsField("NameNamespace");
}
}
/// <summary>
/// Optional, The preferred source SCSI for volume names is SCSI VPD Page 83 responses. Page 83 returns a list of identifiers for various device elements. The metadata for each identifier includes an Association field, identifiers with association of 0 apply to volumes. Page 83 supports several namespaces specified in the Type field in the identifier metadata. See SCSI SPC-3 specification.
/// 2 = VPD Page 83, Type 3 NAA (NameFormat SHOULD be NAA)
/// 3 = VPD Page 83, Type 2 EUI64 (NameFormat EUI)
/// 4 = VPD Page 83, Type 1 T10 Vendor Identification
/// (NameFormat T10)
/// Less preferred volume namespaces from other interfaces:
/// 5 = VPD page 80, Serial number (NameFormat SHOULD be Other)
/// 6 = FC NodeWWN (NameFormat SHOULD be NAA or EUI)
/// 7 = Serial Number/Vendor/Model (NameFormat SHOULD be SNVM)
/// The preferred namespace for LogigicalDisk names is platform specific device namespace; see LogigicalDIsk Description.
/// 8 = OS Device Namespace.
/// </summary>
[CimField(false, false)]
public virtual ushort NameNamespace
{
get
{
return ushort.Parse(this["NameNamespace"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("NameNamespace",value.ToString(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove NoSinglePointOfFailure field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveNoSinglePointOfFailure()
{
RemoveField("NoSinglePointOfFailure");
}
/// <summary>
/// Is true if the field NoSinglePointOfFailure exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool NoSinglePointOfFailureExist
{
get
{
return ContainsField("NoSinglePointOfFailure");
}
}
/// <summary>
/// Optional, Indicates whether or not there exists no single point of failure.
/// </summary>
[CimField(false, false)]
public virtual bool NoSinglePointOfFailure
{
get
{
return bool.Parse(this["NoSinglePointOfFailure"][0]);
}
set
{
this.SetOrAddField("NoSinglePointOfFailure",value.ToString().ToLower(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove NumberOfBlocks field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveNumberOfBlocks()
{
RemoveField("NumberOfBlocks");
}
/// <summary>
/// Is true if the field NumberOfBlocks exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool NumberOfBlocksExist
{
get
{
return ContainsField("NumberOfBlocks");
}
}
/// <summary>
/// Optional, Total number of logically contiguous blocks, of size Block Size, which form this Extent. The total size of the Extent can be calculated by multiplying BlockSize by NumberOfBlocks. If the BlockSize is 1, this property is the total size of the Extent.
/// </summary>
[CimField(false, false)]
public virtual ulong NumberOfBlocks
{
get
{
return ulong.Parse(this["NumberOfBlocks"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("NumberOfBlocks",value.ToString(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove OtherNameFormat field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveOtherNameFormat()
{
RemoveField("OtherNameFormat");
}
/// <summary>
/// Is true if the field OtherNameFormat exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool OtherNameFormatExist
{
get
{
return ContainsField("OtherNameFormat");
}
}
/// <summary>
/// Optional, A string describing the format of the Name property when NameFormat includes the value 1, "Other".
/// </summary>
[CimField(false, false)]
public virtual string OtherNameFormat
{
get
{
return this.GetField("OtherNameFormat")[0];
}
set
{
this.SetOrAddField("OtherNameFormat",value);
}
}
/// <summary>
/// Remove OtherNameNamespace field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveOtherNameNamespace()
{
RemoveField("OtherNameNamespace");
}
/// <summary>
/// Is true if the field OtherNameNamespace exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool OtherNameNamespaceExist
{
get
{
return ContainsField("OtherNameNamespace");
}
}
/// <summary>
/// Optional, A string describing the namespace of the Name property when NameNamespace includes the value 1, "Other".
/// </summary>
[CimField(false, false)]
public virtual string OtherNameNamespace
{
get
{
return this.GetField("OtherNameNamespace")[0];
}
set
{
this.SetOrAddField("OtherNameNamespace",value);
}
}
/// <summary>
/// Remove PackageRedundancy field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemovePackageRedundancy()
{
RemoveField("PackageRedundancy");
}
/// <summary>
/// Is true if the field PackageRedundancy exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool PackageRedundancyExist
{
get
{
return ContainsField("PackageRedundancy");
}
}
/// <summary>
/// Optional, How many physical packages can currently fail without data loss. For example, in the storage domain, this might be disk spindles.
/// </summary>
[CimField(false, false)]
public virtual ushort PackageRedundancy
{
get
{
return ushort.Parse(this["PackageRedundancy"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("PackageRedundancy",value.ToString(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove Primordial field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemovePrimordial()
{
RemoveField("Primordial");
}
/// <summary>
/// Is true if the field Primordial exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool PrimordialExist
{
get
{
return ContainsField("Primordial");
}
}
/// <summary>
/// Optional, If true, "Primordial" indicates that the containing System does not have the ability to create or delete this operational element. This is important because StorageExtents are assembled into higher-level abstractions using the BasedOn association. Although the higher-level abstractions can be created and deleted, the most basic, (i.e. primordial), hardware-based storage entities cannot. They are physically realized as part of the System, or are actually managed by some other System and imported as if they were physically realized. In other words, a Primordial StorageExtent exists in, but is not created by its System and conversely a non-Primordial StorageExtent is created in the context of its System. For StorageVolumes, this property will generally be false. One use of this property is to enable algorithms that aggregate StorageExtent.ConsumableSpace across all, StorageExtents but that also want to distinquish the space that underlies Primordial StoragePools. Since implementations are not required to surface all Component StorageExtents of a StoragePool, this information is not accessible in any other way.
/// </summary>
[CimField(false, false)]
public virtual bool Primordial
{
get
{
return bool.Parse(this["Primordial"][0]);
}
set
{
this.SetOrAddField("Primordial",value.ToString().ToLower(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Remove Purpose field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemovePurpose()
{
RemoveField("Purpose");
}
/// <summary>
/// Is true if the field Purpose exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool PurposeExist
{
get
{
return ContainsField("Purpose");
}
}
/// <summary>
/// Optional, A free form string describing the media and/or its use.
/// </summary>
[CimField(false, false)]
public virtual string Purpose
{
get
{
return this.GetField("Purpose")[0];
}
set
{
this.SetOrAddField("Purpose",value);
}
}
/// <summary>
/// Remove SequentialAccess field.
/// Note: This method will succeed only if this field is optional in the concrete object.
/// </summary>
public virtual void RemoveSequentialAccess()
{
RemoveField("SequentialAccess");
}
/// <summary>
/// Is true if the field SequentialAccess exists in the current object,
/// otherwise is false.
/// </summary>
public virtual bool SequentialAccessExist
{
get
{
return ContainsField("SequentialAccess");
}
}
/// <summary>
/// Optional, Boolean set to TRUE if the Storage is sequentially accessed by a MediaAccessDevice. A TapePartition is an example of a sequentially accessed StorageExtent. StorageVolumes, Disk Partitions and LogicalDisks represent randomly accessed Extents.
/// </summary>
[CimField(false, false)]
public virtual bool SequentialAccess
{
get
{
return bool.Parse(this["SequentialAccess"][0]);
}
set
{
this.SetOrAddField("SequentialAccess",value.ToString().ToLower(CultureInfo.InvariantCulture));
}
}
/// <summary>
/// Enumerate instances of CIM_StorageExtent class at an endpoint.
/// </summary>
/// <param name="client">WS-Management client</param>
/// <param name="cimKeys">Keys for selecting the instances</param>
/// <returns>Collection of CIM_StorageExtent objects</returns>
public static new Collection<CIM_StorageExtent> Enumerate(IWSManClient client, CimBase.CimKeys cimKeys)
{
List<CIM_StorageExtent> ret = CimBase.Enumerate<CIM_StorageExtent>(client, cimKeys);
return new Collection<CIM_StorageExtent>(ret);
}
/// <summary>
/// Enumerate instances of CIM_StorageExtent class at an endpoint.
/// </summary>
/// <param name="client">WS-Management client</param>
/// <returns>Collection of CIM_StorageExtent objects</returns>
public static new Collection<CIM_StorageExtent> Enumerate(IWSManClient client)
{
List<CIM_StorageExtent> ret = CimBase.Enumerate<CIM_StorageExtent>(client);
return new Collection<CIM_StorageExtent>(ret);
}
/// <summary>
/// Delete the instance of CIM_StorageExtent if it is singular.
/// Note: This method will succeed only if a single instance of the class exists.
/// </summary>
/// <param name="client">WS-Management client</param>
public static new void Delete(IWSManClient client)
{
CimBase.Delete<CIM_StorageExtent>(client);
}
/// <summary>
/// Represents the keys of the CIM_StorageExtent class.
/// </summary>
public new class CimKeys : CIM_LogicalDevice.CimKeys
{
}
}
}