#pragma autorecover
#pragma classflags ("safeupdate")
#pragma namespace("\\\\.\\root\\StandardCimV2")
instance of __namespace{ name="MS_809";};
#pragma namespace("\\\\.\\root\\StandardCimV2\\MS_809")

[Version("2.19.0") : Amended,Description("ManagedElement is an abstract class that provides a common superclass (or top of the inheritance tree) for the non-association classes in the CIM Schema.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class CIM_ManagedElement
{
  [Description("InstanceID is an optional property that may be used to opaquely and uniquely identify an instance of this class within the scope of the instantiating Namespace. Various subclasses of this class may override this property to make it required, or a key. Such subclasses may also modify the preferred algorithms for ensuring uniqueness that are defined below.\nTo ensure uniqueness within the NameSpace, the value of InstanceID should be constructed using the following \"preferred\" algorithm: \n<OrgID>:<LocalID> \nWhere <OrgID> and <LocalID> are separated by a colon (:), and where <OrgID> must include a copyrighted, trademarked, or otherwise unique name that is owned by the business entity that is creating or defining the InstanceID or that is a registered ID assigned to the business entity by a recognized global authority. (This requirement is similar to the <Schema Name>_<Class Name> structure of Schema class names.) In addition, to ensure uniqueness, <OrgID> must not contain a colon (:). When using this algorithm, the first colon to appear in InstanceID must appear between <OrgID> and <LocalID>. \n<LocalID> is chosen by the business entity and should not be reused to identify different underlying (real-world) elements. If not null and the above \"preferred\" algorithm is not used, the defining entity must assure that the resulting InstanceID is not reused across any InstanceIDs produced by this or other providers for the NameSpace of this instance. \nIf not set to null for DMTF-defined instances, the \"preferred\" algorithm must be used with the <OrgID> set to CIM.") : Amended ToSubclass] string InstanceID;
  [Description("The Caption property is a short textual description (one- line string) of the object.") : Amended ToSubclass] string Caption;
  [Description("The Description property provides a textual description of the object.") : Amended ToSubclass] string Description;
  [Description("A user-friendly name for the object. This property allows each instance to define a user-friendly name in addition to its key properties, identity data, and description information. \nNote that the Name property of ManagedSystemElement is also defined as a user-friendly name. But, it is often subclassed to be a Key. It is not reasonable that the same property can convey both identity and a user-friendly name, without inconsistencies. Where Name exists and is not a Key (such as for instances of LogicalDevice), the same information can be present in both the Name and ElementName properties. Note that if there is an associated instance of CIM_EnabledLogicalElementCapabilities, restrictions on this properties may exist as defined in ElementNameMask and MaxElementNameLen properties defined in that class.") : Amended ToSubclass] string ElementName;
};

[Description("CIM_ManagedSystemElement is the base class for the System Element hierarchy. Any distinguishable component of a System is a candidate for inclusion in this class. Examples of system components include: \n- software components such as application servers, databases, and applications \n- operating system components such as files, processes, and threads \n- device components such as disk drives, controllers, processors, and printers \n- physical components such as chips and cards.") : Amended ToSubclass,Version("2.22.0") : Amended,AMENDMENT, LOCALE("MS_809")] 
class CIM_ManagedSystemElement : CIM_ManagedElement
{
  [Description("A datetime value that indicates when the object was installed. Lack of a value does not indicate that the object is not installed.") : Amended ToSubclass] datetime InstallDate;
  [Description("The Name property defines the label by which the object is known. When subclassed, the Name property can be overridden to be a Key property.") : Amended ToSubclass] string Name;
  [Description("Indicates the current statuses of the element. 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. \n\"Stressed\" indicates that the element is functioning, but needs attention. Examples of \"Stressed\" states are overload, overheated, and so on. \n\"Predictive Failure\" indicates that an element is functioning nominally but predicting a failure in the near future. \n\"In Service\" describes an element being configured, maintained, cleaned, or otherwise administered. \n\"No Contact\" indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it. \n\"Lost Communication\" indicates that the ManagedSystem Element is known to exist and has been contacted successfully in the past, but is currently unreachable. \n\"Stopped\" and \"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 element might need to be updated. \n\"Dormant\" indicates that the element is inactive or quiesced. \n\"Supporting Entity in Error\" indicates that this element might be \"OK\" but that another element, on which it is dependent, is in error. An example is a network service or endpoint that cannot function due to lower-layer networking problems. \n\"Completed\" indicates that the element has completed its operation. This value should be combined with either OK, Error, or Degraded so that a client can tell if the complete operation Completed with OK (passed), Completed with Error (failed), or Completed with Degraded (the operation finished, but it did not complete OK or did not report an error). \n\"Power Mode\" indicates that the element has additional power model information contained in the Associated PowerManagementService association. \nOperationalStatus replaces the Status property on ManagedSystemElement to provide a consistent approach to enumerations, to address implementation needs for an array property, and to provide a migration path from today\\'s environment to the future. This change was not made earlier because it required the deprecated qualifier. Due to the widespread use of the existing Status property in management applications, it is strongly recommended that providers or instrumentation provide both the Status and OperationalStatus properties. Further, the first value of OperationalStatus should contain the primary status for the element. When instrumented, Status (because it is single-valued) should also provide the primary status of the element.") : Amended ToSubclass,Values{"Unknown", "Other", "OK", "Degraded", "Stressed", "Predictive Failure", "Error", "Non-Recoverable Error", "Starting", "Stopping", "Stopped", "In Service", "No Contact", "Lost Communication", "Aborted", "Dormant", "Supporting Entity in Error", "Completed", "Power Mode", "DMTF Reserved", "Vendor Reserved"} : Amended ToSubclass] uint16 OperationalStatus[];
  [Description("Strings describing the various OperationalStatus array values. For example, if \"Stopping\" is the value assigned to OperationalStatus, then this property may contain an explanation as to why an object is being stopped. Note that entries in this array are correlated with those at the same array index in OperationalStatus.") : Amended ToSubclass] string StatusDescriptions[];
  [Description("A string indicating the current status of the object. Various operational and non-operational statuses are defined. This property is deprecated in lieu of OperationalStatus, which includes the same semantics in its enumeration. This change is made for 3 reasons: \n1) Status is more correctly defined as an array. This definition overcomes the limitation of describing status using a single value, when it is really a multi-valued property (for example, an element might be OK AND Stopped. \n2) A MaxLen of 10 is too restrictive and leads to unclear enumerated values. \n3) The change to a uint16 data type was discussed when CIM V2.0 was defined. However, existing V1.0 implementations used the string property and did not want to modify their code. Therefore, Status was grandfathered into the Schema. Use of the deprecated qualifier allows the maintenance of the existing property, but also permits an improved definition using OperationalStatus.") : Amended ToSubclass] string Status;
  [Description("Indicates the current health of the element. This attribute expresses the health of this element but not necessarily that of its subcomponents. The possible values are 0 to 30, where 5 means the element is entirely healthy and 30 means the element is completely non-functional. The following continuum is defined: \n\"Non-recoverable Error\" (30) - The element has completely failed, and recovery is not possible. All functionality provided by this element has been lost. \n\"Critical Failure\" (25) - The element is non-functional and recovery might not be possible. \n\"Major Failure\" (20) - The element is failing. It is possible that some or all of the functionality of this component is degraded or not working. \n\"Minor Failure\" (15) - All functionality is available but some might be degraded. \n\"Degraded/Warning\" (10) - The element is in working order and all functionality is provided. However, the element is not working to the best of its abilities. For example, the element might not be operating at optimal performance or it might be reporting recoverable errors. \n\"OK\" (5) - The element is fully functional and is operating within normal operational parameters and without error. \n\"Unknown\" (0) - The implementation cannot report on HealthState at this time. \nDMTF has reserved the unused portion of the continuum for additional HealthStates in the future.") : Amended ToSubclass,Values{"Unknown", "OK", "Degraded/Warning", "Minor failure", "Major failure", "Critical failure", "Non-recoverable error", "DMTF Reserved"} : Amended ToSubclass] uint16 HealthState;
  [Description("CommunicationStatus indicates the ability of the instrumentation to communicate with the underlying ManagedElement. CommunicationStatus consists of one of the following values: Unknown, None, Communication OK, Lost Communication, or No Contact. \nA Null return indicates the implementation (provider) does not implement this property. \n\"Unknown\" indicates the implementation is in general capable of returning this property, but is unable to do so at this time. \n\"Not Available\" indicates that the implementation (provider) is capable of returning a value for this property, but not ever for this particular piece of hardware/software or the property is intentionally not used because it adds no meaningful information (as in the case of a property that is intended to add additional info to another property). \n\"Communication OK \" indicates communication is established with the element, but does not convey any quality of service. \n\"No Contact\" indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it. \n\"Lost Communication\" indicates that the Managed Element is known to exist and has been contacted successfully in the past, but is currently unreachable.") : Amended ToSubclass,Values{"Unknown", "Not Available", "Communication OK", "Lost Communication", "No Contact", "DMTF Reserved", "Vendor Reserved"} : Amended ToSubclass] uint16 CommunicationStatus;
  [Description("DetailedStatus compliments PrimaryStatus with additional status detail. It consists of one of the following values: Not Available, No Additional Information, Stressed, Predictive Failure, Error, Non-Recoverable Error, SupportingEntityInError. Detailed status is used to expand upon the PrimaryStatus of the element. \nA Null return indicates the implementation (provider) does not implement this property. \n\"Not Available\" indicates that the implementation (provider) is capable of returning a value for this property, but not ever for this particular piece of hardware/software or the property is intentionally not used because it adds no meaningful information (as in the case of a property that is intended to add additional info to another property). \n\"No Additional Information\" indicates that the element is functioning normally as indicated by PrimaryStatus = \"OK\". \n\"Stressed\" indicates that the element is functioning, but needs attention. Examples of \"Stressed\" states are overload, overheated, and so on. \n\"Predictive Failure\" indicates that an element is functioning normally but a failure is predicted in the near future. \n\"Non-Recoverable Error \" indicates that this element is in an error condition that requires human intervention. \n\"Supporting Entity in Error\" indicates that this element might be \"OK\" but that another element, on which it is dependent, is in error. An example is a network service or endpoint that cannot function due to lower-layer networking problems.") : Amended ToSubclass,Values{"Not Available", "No Additional Information", "Stressed", "Predictive Failure", "Non-Recoverable Error", "Supporting Entity in Error", "DMTF Reserved", "Vendor Reserved"} : Amended ToSubclass] uint16 DetailedStatus;
  [Description("OperatingStatus provides a current status value for the operational condition of the element and can be used for providing more detail with respect to the value of EnabledState. It can also provide the transitional states when an element is transitioning from one state to another, such as when an element is transitioning between EnabledState and RequestedState, as well as other transitional conditions.\nOperatingStatus consists of one of the following values: Unknown, Not Available, In Service, Starting, Stopping, Stopped, Aborted, Dormant, Completed, Migrating, Emmigrating, Immigrating, Snapshotting. Shutting Down, In Test \nA Null return indicates the implementation (provider) does not implement this property. \n\"Unknown\" indicates the implementation is in general capable of returning this property, but is unable to do so at this time. \n\"None\" indicates that the implementation (provider) is capable of returning a value for this property, but not ever for this particular piece of hardware/software or the property is intentionally not used because it adds no meaningful information (as in the case of a property that is intended to add additional info to another property). \n\"Servicing\" describes an element being configured, maintained, cleaned, or otherwise administered. \n\"Starting\" describes an element being initialized. \n\"Stopping\" describes an element being brought to an orderly stop. \n\"Stopped\" and \"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 element might need to be updated. \n\"Dormant\" indicates that the element is inactive or quiesced. \n\"Completed\" indicates that the element has completed its operation. This value should be combined with either OK, Error, or Degraded in the PrimaryStatus so that a client can tell if the complete operation Completed with OK (passed), Completed with Error (failed), or Completed with Degraded (the operation finished, but it did not complete OK or did not report an error). \n\"Migrating\" element is being moved between host elements. \n\"Immigrating\" element is being moved to new host element. \n\"Emigrating\" element is being moved away from host element. \n\"Shutting Down\" describes an element being brought to an abrupt stop. \n\"In Test\" element is performing test functions. \n\"Transitioning\" describes an element that is between states, that is, it is not fully available in either its previous state or its next state. This value should be used if other values indicating a transition to a specific state are not applicable.\n\"In Service\" describes an element that is in service and operational.") : Amended ToSubclass,Values{"Unknown", "Not Available", "Servicing", "Starting", "Stopping", "Stopped", "Aborted", "Dormant", "Completed", "Migrating", "Emigrating", "Immigrating", "Snapshotting", "Shutting Down", "In Test", "Transitioning", "In Service", "DMTF Reserved", "Vendor Reserved"} : Amended ToSubclass] uint16 OperatingStatus;
  [Description("PrimaryStatus provides a high level status value, intended to align with Red-Yellow-Green type representation of status. It should be used in conjunction with DetailedStatus to provide high level and detailed health status of the ManagedElement and its subcomponents. \nPrimaryStatus consists of one of the following values: Unknown, OK, Degraded or Error. \"Unknown\" indicates the implementation is in general capable of returning this property, but is unable to do so at this time. \n\"OK\" indicates the ManagedElement is functioning normally. \n\"Degraded\" indicates the ManagedElement is functioning below normal. \n\"Error\" indicates the ManagedElement is in an Error condition.") : Amended ToSubclass,Values{"Unknown", "OK", "Degraded", "Error", "DMTF Reserved", "Vendor Reserved"} : Amended ToSubclass] uint16 PrimaryStatus;
};

[Description("CIM_LogicalElement is a base class for all the components of a System that represent abstract system components, such as Files, Processes, or LogicalDevices.") : Amended ToSubclass,Version("2.6.0") : Amended,AMENDMENT, LOCALE("MS_809")] 
class CIM_LogicalElement : CIM_ManagedSystemElement
{
};

[Description("CIM_SettingData is used to represent configuration and and operational parameters for CIM_ManagedElement instances. There are a number of different uses of CIM_SettingData supported in the model today. Additional uses may be defined in the future.\nInstances of CIM_SettingData may represent Aspects of a CIM_ManagedElement instance. This is modeled using the CIM_SettingsDefineState association. CIM_SettingData may be used to define capabilities when associated to an instance of CIM_Capabilities through the CIM_SettingsDefineCapabilities association. \nInstances of CIM_SettingData may represent different types of configurations for a CIM_ManagedElement, including persistent configurations, in progress configuration changes, or requested configurations. The CIM_ElementSettingData association is used to model the relationship between a CIM_SettingData instance and the CIM_ManagedElement for which it is a configuration. \nWhen an instance of CIM_SettingData represents a configuration, the current operational values for the parameters of the element are reflected by properties in the Element itself or by properties in its associations. These properties do not have to be the same values that are present in the SettingData object. For example, a modem might have a SettingData baud rate of 56Kb/sec but be operating at 19.2Kb/sec. \nNote: The CIM_SettingData class is very similar to CIM_Setting, yet both classes are present in the model because many implementations have successfully used CIM_Setting. However, issues have arisen that could not be resolved without defining a new class. Therefore, until a new major release occurs, both classes will exist in the model. Refer to the Core White Paper for additional information. SettingData instances can be aggregated together into higher- level SettingData objects using ConcreteComponent associations.") : Amended ToSubclass,Version("2.19.0") : Amended,AMENDMENT, LOCALE("MS_809")] 
class CIM_SettingData : CIM_ManagedElement
{
  [Description("Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies an instance of this class. To ensure uniqueness within the NameSpace, the value of InstanceID should be constructed using the following \"preferred\" algorithm: \n<OrgID>:<LocalID> \nWhere <OrgID> and <LocalID> are separated by a colon (:), and where <OrgID> must include a copyrighted, trademarked, or otherwise unique name that is owned by the business entity that is creating or defining the InstanceID or that is a registered ID assigned to the business entity by a recognized global authority. (This requirement is similar to the <Schema Name>_<Class Name> structure of Schema class names.) In addition, to ensure uniqueness, <OrgID> must not contain a colon (:). When using this algorithm, the first colon to appear in InstanceID must appear between <OrgID> and <LocalID>. \n<LocalID> is chosen by the business entity and should not be reused to identify different underlying (real-world) elements. If the above \"preferred\" algorithm is not used, the defining entity must assure that the resulting InstanceID is not reused across any InstanceIDs produced by this or other providers for the NameSpace of this instance. \nFor DMTF-defined instances, the \"preferred\" algorithm must be used with the <OrgID> set to CIM.") : Amended ToSubclass,key] string InstanceID;
  [Description("The user-friendly name for this instance of SettingData. In addition, the user-friendly name can be used as an index property for a search or query. (Note: The name does not have to be unique within a namespace.)") : Amended ToSubclass] string ElementName;
};

[Description("Describes a BranchCache cache") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheCache : CIM_LogicalElement
{
  [Description("Identifies an instance of MSFT_BranchCacheStore") : Amended ToSubclass,key] string InstanceID;
  [Description("The maximum cache file size, represented as a percentage of the disk volume on which the cache is stored") : Amended ToSubclass] uint32 MaxCacheSizeAsPercentageOfDiskVolume;
  [Description("The maximum cache file size, in bytes") : Amended ToSubclass] uint64 MaxCacheSizeAsNumberOfBytes;
  [Description("The size of the cache file on disk, in bytes") : Amended ToSubclass] uint64 CurrentSizeOnDiskAsNumberOfBytes;
  [Description("The directory path where the cache file is located") : Amended ToSubclass] string CacheFileDirectoryPath;
};

[Description("Superclass SettingData for networking") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetSettingData : CIM_SettingData
{
};

[Description("Describes settings related to BranchCache") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheSettingData : MSFT_NetSettingData
{
};

[Description("Describes settings related to the BranchCache client role") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheClientSettingData : MSFT_NetBranchCacheSettingData
{
  [Description("The current operating mode of this BranchCache client") : Amended ToSubclass,Values{"Disabled", "LocalCache", "DistributedCache", "HostedCache"} : Amended ToSubclass] uint32 CurrentClientMode;
  [Description("The content information version this client will request from content servers") : Amended ToSubclass,Values{"Windows7", "Windows8"} : Amended ToSubclass] uint32 PreferredContentInformationVersion;
  [Description("Indicates if Distributed Caching is enabled") : Amended ToSubclass] boolean DistributedCachingIsEnabled;
  [Description("Indicates if this client will serve other distributed caching peers when operating on battery power") : Amended ToSubclass] boolean ServeDistributedCachingPeersOnBatteryPower;
  [Description("Hosted cache servers to which this client will connect") : Amended ToSubclass] string HostedCacheServerList[];
  [Description("Indicates if Hosted Cache discovery is enabled") : Amended ToSubclass] boolean HostedCacheDiscoveryEnabled;
  [Description("The version of the hosted cache server") : Amended ToSubclass] uint32 HostedCacheVersion;
  [Description("The minimum network latency, in milliseconds, before the SMB client will use BranchCache") : Amended ToSubclass] uint32 MinimumSmbLatencyInMilliseconds;
};

[Description("Describes settings related to the BranchCache content server role") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheContentServerSettingData : MSFT_NetBranchCacheSettingData
{
  [Description("Indicates if BranchCache content server functionality is enabled") : Amended ToSubclass] boolean ContentServerIsEnabled;
};

[Description("Describes a BranchCache primary cache") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCachePrimaryCache : MSFT_NetBranchCacheCache
{
  [Description("The current size of the cached data, in bytes") : Amended ToSubclass] uint64 CurrentActiveCacheSize;
};

[Description("Represents a BranchCache data cache") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheDataCache : MSFT_NetBranchCachePrimaryCache
{
  [Description("DataCacheExtensions") : Amended ToSubclass] MSFT_NetBranchCacheDataCacheExtension DataCacheExtensions[];
};

[Description("Describes a BranchCache secondary cache") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheSecondaryCache : MSFT_NetBranchCacheCache
{
};

[Description("Describes a BranchCache data cache extension") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheDataCacheExtension : MSFT_NetBranchCacheSecondaryCache
{
};

[Description("Describes a BranchCache hash cache") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheHashCache : MSFT_NetBranchCachePrimaryCache
{
};

[Description("Describes settings related to the BranchCache hosted cache server role") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheHostedCacheServerSettingData : MSFT_NetBranchCacheSettingData
{
  [Description("Indicates if BranchCache hosted cache server is enabled") : Amended ToSubclass] boolean HostedCacheServerIsEnabled;
  [Description("The authentication mode for hosted cache clients") : Amended ToSubclass,Values{"None", "Domain"} : Amended ToSubclass] uint32 ClientAuthenticationMode;
  [Description("Indicates if BranchCache hosted cache server Scp registration is enabled") : Amended ToSubclass] boolean HostedCacheScpRegistrationEnabled;
};

[Description("Describes BranchCache networking settings") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheNetworkSettingData : MSFT_NetBranchCacheSettingData
{
  [Description("The status of the BranchCache Content Retrieval HTTP URL Reservation") : Amended ToSubclass] boolean ContentRetrievalUrlReservationEnabled;
  [Description("The status of the BranchCache Hosted Cache HTTP URL Reservation") : Amended ToSubclass] boolean HostedCacheHttpUrlReservationEnabled;
  [Description("The status of the BranchCache Hosted Cache HTTPS URL Reservation") : Amended ToSubclass] boolean HostedCacheHttpsUrlReservationEnabled;
  [Description("The status of the BranchCache Content Retrieval Firewall Rules") : Amended ToSubclass] boolean ContentRetrievalFirewallRulesEnabled;
  [Description("The status of the BranchCache Peer Discovery Firewall Rules") : Amended ToSubclass] boolean PeerDiscoveryFirewallRulesEnabled;
  [Description("The status of the BranchCache Hosted Cache Server Firewall Rules") : Amended ToSubclass] boolean HostedCacheServerFirewallRulesEnabled;
  [Description("The status of the BranchCache Hosted Cache Client Firewall Rules") : Amended ToSubclass] boolean HostedCacheClientFirewallRulesEnabled;
  [Description("The port number on which BranchCache is listening for incoming download requests") : Amended ToSubclass] uint16 ContentDownloadListenPort;
  [Description("The port number to which BranchCache will send outgoing download requests") : Amended ToSubclass] uint16 ContentDownloadConnectPort;
  [Description("The port to which this hosted cache client will offer content to the hosted cache server on its HTTP channel") : Amended ToSubclass] uint16 HostedCacheHttpConnectPort;
  [Description("The port to which this hosted cache client will offer content to the hosted cache server on its HTTPS channel") : Amended ToSubclass] uint16 HostedCacheHttpsConnectPort;
  [Description("The port on which this hosted cache server will listen for incoming offer messages on its HTTP channel") : Amended ToSubclass] uint16 HostedCacheHttpListenPort;
  [Description("The port on which this hosted cache server will listen for incoming offer messages on its HTTPS channel") : Amended ToSubclass] uint16 HostedCacheHttpsListenPort;
};

[Description("BranchCache task orchestrator") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheOrchestrator : CIM_ManagedElement
{
  [Description("Enables BranchCache and configures a machine to operate in distributed cache mode.") : Amended ToSubclass] uint32 Enable_BCDistributed([In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Configures BranchCache to operate in hosted cache client mode. ") : Amended ToSubclass] uint32 Enable_BCHostedClientByServerNames([In,Description("Names of the hosted cache servers to use.") : Amended ToSubclass] string ServerNames[],[In,Description("Version of the offer protocol to use when contacting this hosted cache server.") : Amended ToSubclass] uint32 UseVersion,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Configures BranchCache to operate in hosted cache client mode. ") : Amended ToSubclass] uint32 Enable_BCHostedClientByUseSCP([In,Description("Indicates the client should locate hosted cache servers using service connection points.") : Amended ToSubclass] boolean UseSCP,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Enables the BranchCache service in local caching mode.") : Amended ToSubclass] uint32 Enable_BCLocal([In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Disables the BranchCache service. ") : Amended ToSubclass] uint32 Disable_BC([In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Deletes a cache file.") : Amended ToSubclass] uint32 Remove_BCDataCacheExtensionByDataCacheExtension([In,Description("The cache extension which should be removed") : Amended ToSubclass] MSFT_NetBranchCacheDataCacheExtension DataCacheExtension[],[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Deletes a cache file.") : Amended ToSubclass] uint32 Remove_BCDataCacheExtensionByPath([In,Description("Specifies the cache file to operate on. ") : Amended ToSubclass] string Path,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Modifies the cache file configuration.") : Amended ToSubclass] uint32 Set_BCCacheByCache([In,Description("The cache which should be modified") : Amended ToSubclass] MSFT_NetBranchCacheCache Cache[],[In,Description("Specifies the new location on disk for this this cache file.") : Amended ToSubclass] string MoveTo,[In,Description("Specifies the new size (in terms of disk percentage) of this cache file.") : Amended ToSubclass] uint32 Percentage,[In,Description("Specifies the new size of this cache file.") : Amended ToSubclass] uint64 SizeBytes,[In,Description("Indicates the cache should be defragmented") : Amended ToSubclass] boolean Defragment,[In,Description("Indicates the modified cache should be output") : Amended ToSubclass] boolean PassThru,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force,[Out] MSFT_NetBranchCacheCache cmdletOutput[]);
  [Description("Modifies the cache file configuration.") : Amended ToSubclass] uint32 Set_BCCacheByPath([In,Description("Specifies the cache file to operate on.") : Amended ToSubclass] string Path,[In,Description("Specifies the new location on disk for this this cache file.") : Amended ToSubclass] string MoveTo,[In,Description("Specifies the new size (in terms of disk percentage) of this cache file.") : Amended ToSubclass] uint32 Percentage,[In,Description("Specifies the new size of this cache file.") : Amended ToSubclass] uint64 SizeBytes,[In,Description("Indicates the cache should be defragmented") : Amended ToSubclass] boolean Defragment,[In,Description("Indicates the modified cache should be output") : Amended ToSubclass] boolean PassThru,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force,[Out] MSFT_NetBranchCacheCache cmdletOutput);
  [Description("Deletes all data in all cache files.  ") : Amended ToSubclass] uint32 Clear_BCCache([In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Imports the cryptographic key used in the generation of segment secrets.") : Amended ToSubclass] uint32 Import_BCSecretKey([In,Description("Path of the file containing the key information to import.") : Amended ToSubclass] string Filename,[In,Description("Passphrase for the file containing the key information.") : Amended ToSubclass] string FilePassphrase,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Exports a secret key to a file.") : Amended ToSubclass] uint32 Export_BCSecretKey([In,Description("Path of the file that will contain the key information.") : Amended ToSubclass] string Filename,[In,Description("Passphrase used to encrypt the file containing the key information.") : Amended ToSubclass] string FilePassphrase,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Specifies the authentication scheme for clients.") : Amended ToSubclass] uint32 Set_BCAuthentication([In,Description("Specifies the authentication mode.  ") : Amended ToSubclass] uint32 Mode,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Client may be instructed to operate in a downgraded mode, in which it will issue specified version requests to content servers.") : Amended ToSubclass] uint32 Enable_BCDowngrading([In,Description("Specifies whether or not the client should operate in a downgraded mode and which version should be used.") : Amended ToSubclass] uint32 Version,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Configures a client to listen for content discovery requests in distributed cache mode when operating on battery.") : Amended ToSubclass] uint32 Enable_BCServeOnBattery([In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("A client may be configured to not listen for content discovery requests in distributed cache mode when operating on battery.") : Amended ToSubclass] uint32 Disable_BCServeOnBattery([In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Sets the minimum latency that must exist between client and server before transparent caching functions are utilized.") : Amended ToSubclass] uint32 Set_BCMinSMBLatency([In,Description("Minimum latency that must exist between client and server before BranchCache should be used.") : Amended ToSubclass] uint32 LatencyMilliseconds,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Sets the cryptographic key used in the generation of segment secrets.") : Amended ToSubclass] uint32 Set_BCSecretKey([In,Description("Passphrase to use in the computation of the server secret key.") : Amended ToSubclass] string Passphrase,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Adds a new republication cache file to increase the amount of storage available on a hosted cache server.") : Amended ToSubclass] uint32 Add_BCDataCacheExtensionByPercentage([In,Description("Specifies the new size (in terms of disk percentage) of this cache file.") : Amended ToSubclass] uint32 Percentage,[In,Description("Specifies the cache file to operate on.") : Amended ToSubclass] string Path,[In,Description("Indicates the newly created cache extension should be output") : Amended ToSubclass] boolean PassThru,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force,[Out] MSFT_NetBranchCacheDataCacheExtension cmdletOutput);
  [Description("Adds a new republication cache file to increase the amount of storage available on a hosted cache server.") : Amended ToSubclass] uint32 Add_BCDataCacheExtensionBySizeBytes([In,Description("Specifies the new size of this cache file.") : Amended ToSubclass] uint64 SizeBytes,[In,Description("Specifies the cache file to operate on.") : Amended ToSubclass] string Path,[In,Description("Indicates the newly created cache extension should be output") : Amended ToSubclass] boolean PassThru,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force,[Out] MSFT_NetBranchCacheDataCacheExtension cmdletOutput);
  [Description("Disables downgrading, so that the client will no longer request the specified version of content information from servers.") : Amended ToSubclass] uint32 Disable_BCDowngrading([In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Configures BranchCache to operate in hosted cache server mode. ") : Amended ToSubclass] uint32 Enable_BCHostedServer([In,Description("Indicates the hosted cache server should register a service connection point") : Amended ToSubclass] boolean RegisterSCP,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Resets BranchCache to a default configuration.") : Amended ToSubclass] uint32 Reset_BC([In,Description("If True, resets only the Windows firewall rules.") : Amended ToSubclass] boolean ResetFWRulesOnly,[In,Description("If True, resets only the Performance Counters.") : Amended ToSubclass] boolean ResetPerfCountersOnly,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Creates hashes for web content") : Amended ToSubclass] uint32 Publish_BCWebHashes([In,Description("Specifies the file or folder to be hashed") : Amended ToSubclass] string Path[],[In,Description("Specifies the version of the BranchCache hashing scheme to use") : Amended ToSubclass] uint32 UseVersion,[In,Description("Indicates the hashes should be saved to a staging area for future export") : Amended ToSubclass] boolean StageData,[In,Description("Specifies a temporary folder to output staging data to") : Amended ToSubclass] string StagingPath,[In,Description("Specifies a reference file from a previous execution") : Amended ToSubclass] string ReferenceFile,[In,Description("Specifies the operation should be applied to subfolders") : Amended ToSubclass] boolean Recurse,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Creates hashes for file content") : Amended ToSubclass] uint32 Publish_BCFileHashes([In,Description("Specifies the file or folder to be hashed") : Amended ToSubclass] string Path[],[In,Description("Specifies the version of the BranchCache hashing scheme to use") : Amended ToSubclass] uint32 UseVersion,[In,Description("Indicates the hashes should be saved to a staging area for future export") : Amended ToSubclass] boolean StageData,[In,Description("Specifies a temporary folder to output staging data to") : Amended ToSubclass] string StagingPath,[In,Description("Specifies a reference file from a previous execution") : Amended ToSubclass] string ReferenceFile,[In,Description("Specifies the operation should be applied to subfolders") : Amended ToSubclass] boolean Recurse,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Exports a cache package") : Amended ToSubclass] uint32 Export_BCCachePackageByExportDataCache([In,Description("Indicates the contents of the local data cache will be included in the package") : Amended ToSubclass] boolean ExportDataCache,[In,Description("Specifies the path to the data package") : Amended ToSubclass] string Destination,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Exports a cache package") : Amended ToSubclass] uint32 Export_BCCachePackageByStagingPath([In,Description("Specifies the location of the cache files to be packaged") : Amended ToSubclass] string StagingPath,[In,Description("Specifies the path to the data package") : Amended ToSubclass] string Destination,[In,Description("Specifies the path where an output reference file should be generated") : Amended ToSubclass] string OutputReferenceFile,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Imports a cache package") : Amended ToSubclass] uint32 Import_BCCachePackage([In,Description("Specifies the cache package to import") : Amended ToSubclass] string Path,[In,Description("Indicates the operation should not prompt for confirmation") : Amended ToSubclass] boolean Force);
  [Description("Sets the maximum age of an entry in the data cache.") : Amended ToSubclass] uint32 Set_BCDataCacheEntryMaxAge([In,Description("The maximum number of days a cache entry is valid in the data cache.") : Amended ToSubclass] uint32 TimeDays,[In,Description("Indicates the operation should not prompt for confirmation.") : Amended ToSubclass] boolean Force);
};

[Description("Describes overall configuration and state for BranchCache") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_NetBranchCacheStatus : CIM_LogicalElement
{
  [Description("Identifies an instance of MSFT_BranchCache") : Amended ToSubclass,key] string InstanceID;
  [Description("Indicates if BranchCache is enabled") : Amended ToSubclass] boolean BranchCacheIsEnabled;
  [Description("The current status of the BranchCache service") : Amended ToSubclass,Values{"Running", "Stopped"} : Amended ToSubclass] uint32 BranchCacheServiceStatus;
  [Description("The start type of the BranchCache service") : Amended ToSubclass,Values{"Manual", "Automatic", "Disabled"} : Amended ToSubclass] uint32 BranchCacheServiceStartType;
  [Description("Configuration related to the BranchCache client role") : Amended ToSubclass] MSFT_NetBranchCacheClientSettingData ClientConfiguration;
  [Description("Configuration related to the BranchCache content server role") : Amended ToSubclass] MSFT_NetBranchCacheContentServerSettingData ContentServerConfiguration;
  [Description("Describes configuration related to the BranchCache hosted cache server role") : Amended ToSubclass] MSFT_NetBranchCacheHostedCacheServerSettingData HostedCacheServerConfiguration;
  [Description("BranchCache networking configuration") : Amended ToSubclass] MSFT_NetBranchCacheNetworkSettingData NetworkConfiguration;
  [Description("BranchCache hash cache") : Amended ToSubclass] MSFT_NetBranchCacheHashCache HashCache;
  [Description("BranchCache data cache") : Amended ToSubclass] MSFT_NetBranchCacheDataCache DataCache;
};
