#pragma autorecover
#pragma classflags ("safeupdate")
#pragma namespace("\\\\.\\root\\StandardCimV2")

Instance of __Win32Provider as $prov
{
  Name = "NetPeerDist";
  ClsId = "{3292A418-BAC2-4BBF-BB07-66A1CB3B8B7D}";
  ImpersonationLevel = 1;
  HostingModel = "NetworkServiceHost";
  version = 1073741825;
};

Instance of __MethodProviderRegistration
{
  Provider = $prov;
};

Instance of __InstanceProviderRegistration
{
  Provider = $prov;
  supportsGet = TRUE;
  supportsPut = TRUE;
  supportsDelete = TRUE;
  supportsEnumeration = TRUE;
  QuerySupportLevels;
};

[Abstract,UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,locale(1033)] 
class CIM_ManagedElement
{
  string InstanceID;
  [MaxLen(64) : ToSubclass] string Caption;
  string Description;
  string ElementName;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,Abstract,locale(1033)] 
class CIM_ManagedSystemElement : CIM_ManagedElement
{
  datetime InstallDate;
  [MaxLen(1024) : ToSubclass] string Name;
  [ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "..", "0x8000.."} : ToSubclass,ArrayType("Indexed") : ToSubclass DisableOverride,ModelCorrespondence{"CIM_ManagedSystemElement.StatusDescriptions"} : ToSubclass] uint16 OperationalStatus[];
  [ArrayType("Indexed") : ToSubclass DisableOverride,ModelCorrespondence{"CIM_ManagedSystemElement.OperationalStatus"} : ToSubclass] string StatusDescriptions[];
  [Deprecated{"CIM_ManagedSystemElement.OperationalStatus"},ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service", "Stressed", "NonRecover", "No Contact", "Lost Comm", "Stopped"} : ToSubclass,MaxLen(10) : ToSubclass] string Status;
  [ValueMap{"0", "5", "10", "15", "20", "25", "30", ".."} : ToSubclass] uint16 HealthState;
  [ValueMap{"0", "1", "2", "3", "4", "..", "0x8000.."} : ToSubclass] uint16 CommunicationStatus;
  [ValueMap{"0", "1", "2", "3", "4", "5", "..", "0x8000.."} : ToSubclass,ModelCorrespondence{"CIM_EnabledLogicalElement.PrimaryStatus", "CIM_ManagedSystemElement.HealthState"} : ToSubclass] uint16 DetailedStatus;
  [ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "..", "0x8000.."} : ToSubclass,ModelCorrespondence{"CIM_EnabledLogicalElement.EnabledState"} : ToSubclass] uint16 OperatingStatus;
  [ValueMap{"0", "1", "2", "3", "..", "0x8000.."} : ToSubclass,ModelCorrespondence{"CIM_ManagedSystemElement.DetailedStatus", "CIM_ManagedSystemElement.HealthState"} : ToSubclass] uint16 PrimaryStatus;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,Abstract,locale(1033)] 
class CIM_LogicalElement : CIM_ManagedSystemElement
{
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,Abstract,locale(1033)] 
class CIM_SettingData : CIM_ManagedElement
{
  [key,Override("InstanceID")] string InstanceID;
  [Required : ToSubclass DisableOverride,Override("ElementName")] string ElementName;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,Abstract,ClassVersion("1.0.0"),locale(1033)] 
class MSFT_NetBranchCacheCache : CIM_LogicalElement
{
  [key,Override("InstanceID"),read : ToSubclass] string InstanceID;
  [read : ToSubclass] uint32 MaxCacheSizeAsPercentageOfDiskVolume;
  [read : ToSubclass,PUnit("byte") : ToSubclass] uint64 MaxCacheSizeAsNumberOfBytes;
  [read : ToSubclass] uint64 CurrentSizeOnDiskAsNumberOfBytes;
  [read : ToSubclass] string CacheFileDirectoryPath;
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,locale(1033)] 
class MSFT_NetSettingData : CIM_SettingData
{
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033)] 
class MSFT_NetBranchCacheSettingData : MSFT_NetSettingData
{
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetPeerDist") : ToInstance] 
class MSFT_NetBranchCacheClientSettingData : MSFT_NetBranchCacheSettingData
{
  [read : ToSubclass,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint32 CurrentClientMode;
  [ValueMap{"1", "2"} : ToSubclass,read : ToSubclass] uint32 PreferredContentInformationVersion;
  [read : ToSubclass] boolean DistributedCachingIsEnabled;
  [read : ToSubclass] boolean ServeDistributedCachingPeersOnBatteryPower;
  [read : ToSubclass] string HostedCacheServerList[];
  [read : ToSubclass] boolean HostedCacheDiscoveryEnabled;
  [read : ToSubclass] uint32 HostedCacheVersion;
  [read : ToSubclass,PUnit("second * 10^-3") : ToSubclass] uint32 MinimumSmbLatencyInMilliseconds;
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetPeerDist") : ToInstance] 
class MSFT_NetBranchCacheContentServerSettingData : MSFT_NetBranchCacheSettingData
{
  [read : ToSubclass] boolean ContentServerIsEnabled;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,Abstract,ClassVersion("1.0.0"),locale(1033)] 
class MSFT_NetBranchCachePrimaryCache : MSFT_NetBranchCacheCache
{
  [read : ToSubclass] uint64 CurrentActiveCacheSize;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetPeerDist") : ToInstance] 
class MSFT_NetBranchCacheDataCache : MSFT_NetBranchCachePrimaryCache
{
  [EmbeddedInstance("MSFT_NetBranchCacheDataCacheExtension") : ToSubclass,read : ToSubclass] MSFT_NetBranchCacheDataCacheExtension DataCacheExtensions[];
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,Abstract,ClassVersion("1.0.0"),locale(1033)] 
class MSFT_NetBranchCacheSecondaryCache : MSFT_NetBranchCacheCache
{
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetPeerDist") : ToInstance] 
class MSFT_NetBranchCacheDataCacheExtension : MSFT_NetBranchCacheSecondaryCache
{
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetPeerDist") : ToInstance] 
class MSFT_NetBranchCacheHashCache : MSFT_NetBranchCachePrimaryCache
{
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetPeerDist") : ToInstance] 
class MSFT_NetBranchCacheHostedCacheServerSettingData : MSFT_NetBranchCacheSettingData
{
  [read : ToSubclass] boolean HostedCacheServerIsEnabled;
  [read : ToSubclass,ValueMap{"0", "1"} : ToSubclass] uint32 ClientAuthenticationMode;
  [read : ToSubclass] boolean HostedCacheScpRegistrationEnabled;
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetPeerDist") : ToInstance] 
class MSFT_NetBranchCacheNetworkSettingData : MSFT_NetBranchCacheSettingData
{
  [read : ToSubclass] boolean ContentRetrievalUrlReservationEnabled;
  [read : ToSubclass] boolean HostedCacheHttpUrlReservationEnabled;
  [read : ToSubclass] boolean HostedCacheHttpsUrlReservationEnabled;
  [read : ToSubclass] boolean ContentRetrievalFirewallRulesEnabled;
  [read : ToSubclass] boolean PeerDiscoveryFirewallRulesEnabled;
  [read : ToSubclass] boolean HostedCacheServerFirewallRulesEnabled;
  [read : ToSubclass] boolean HostedCacheClientFirewallRulesEnabled;
  [read : ToSubclass] uint16 ContentDownloadListenPort;
  [read : ToSubclass] uint16 ContentDownloadConnectPort;
  [read : ToSubclass] uint16 HostedCacheHttpConnectPort;
  [read : ToSubclass] uint16 HostedCacheHttpsConnectPort;
  [read : ToSubclass] uint16 HostedCacheHttpListenPort;
  [read : ToSubclass] uint16 HostedCacheHttpsListenPort;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetPeerDist") : ToInstance] 
class MSFT_NetBranchCacheOrchestrator : CIM_ManagedElement
{
  [implemented,static : ToSubclass DisableOverride] uint32 Enable_BCDistributed([In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Enable_BCHostedClientByServerNames([In] string ServerNames[],[In] uint32 UseVersion,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Enable_BCHostedClientByUseSCP([In] boolean UseSCP,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Enable_BCLocal([In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Disable_BC([In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Remove_BCDataCacheExtensionByDataCacheExtension([In,EmbeddedInstance("MSFT_NetBranchCacheDataCacheExtension") : ToSubclass] MSFT_NetBranchCacheDataCacheExtension DataCacheExtension[],[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Remove_BCDataCacheExtensionByPath([In] string Path,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Set_BCCacheByCache([In,EmbeddedInstance("MSFT_NetBranchCacheCache") : ToSubclass] MSFT_NetBranchCacheCache Cache[],[In] string MoveTo,[In] uint32 Percentage,[In] uint64 SizeBytes,[In] boolean Defragment,[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("MSFT_NetBranchCacheCache") : ToSubclass] MSFT_NetBranchCacheCache cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 Set_BCCacheByPath([In] string Path,[In] string MoveTo,[In] uint32 Percentage,[In] uint64 SizeBytes,[In] boolean Defragment,[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("MSFT_NetBranchCacheCache") : ToSubclass] MSFT_NetBranchCacheCache cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 Clear_BCCache([In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Import_BCSecretKey([In] string Filename,[In] string FilePassphrase,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Export_BCSecretKey([In] string Filename,[In] string FilePassphrase,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Set_BCAuthentication([In] uint32 Mode,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Enable_BCDowngrading([In] uint32 Version,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Enable_BCServeOnBattery([In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Disable_BCServeOnBattery([In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Set_BCMinSMBLatency([In] uint32 LatencyMilliseconds,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Set_BCSecretKey([In] string Passphrase,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Add_BCDataCacheExtensionByPercentage([In] uint32 Percentage,[In] string Path,[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("MSFT_NetBranchCacheDataCacheExtension") : ToSubclass] MSFT_NetBranchCacheDataCacheExtension cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 Add_BCDataCacheExtensionBySizeBytes([In] uint64 SizeBytes,[In] string Path,[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("MSFT_NetBranchCacheDataCacheExtension") : ToSubclass] MSFT_NetBranchCacheDataCacheExtension cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 Disable_BCDowngrading([In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Enable_BCHostedServer([In] boolean RegisterSCP,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Reset_BC([In] boolean ResetFWRulesOnly,[In] boolean ResetPerfCountersOnly,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Publish_BCWebHashes([In] string Path[],[In] uint32 UseVersion,[In] boolean StageData,[In] string StagingPath,[In] string ReferenceFile,[In] boolean Recurse,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Publish_BCFileHashes([In] string Path[],[In] uint32 UseVersion,[In] boolean StageData,[In] string StagingPath,[In] string ReferenceFile,[In] boolean Recurse,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Export_BCCachePackageByExportDataCache([In] boolean ExportDataCache,[In] string Destination,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Export_BCCachePackageByStagingPath([In] string StagingPath,[In] string Destination,[In] string OutputReferenceFile,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Import_BCCachePackage([In] string Path,[In] boolean Force);
  [implemented,static : ToSubclass DisableOverride] uint32 Set_BCDataCacheEntryMaxAge([In] uint32 TimeDays,[In] boolean Force);
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetPeerDist") : ToInstance] 
class MSFT_NetBranchCacheStatus : CIM_LogicalElement
{
  [key,Override("InstanceID"),read : ToSubclass] string InstanceID;
  [read : ToSubclass] boolean BranchCacheIsEnabled;
  [read : ToSubclass,ValueMap{"4", "1"} : ToSubclass] uint32 BranchCacheServiceStatus;
  [read : ToSubclass,ValueMap{"0", "1", "2"} : ToSubclass] uint32 BranchCacheServiceStartType;
  [EmbeddedInstance("MSFT_NetBranchCacheClientSettingData") : ToSubclass,read : ToSubclass] MSFT_NetBranchCacheClientSettingData ClientConfiguration;
  [EmbeddedInstance("MSFT_NetBranchCacheContentServerSettingData") : ToSubclass,read : ToSubclass] MSFT_NetBranchCacheContentServerSettingData ContentServerConfiguration;
  [EmbeddedInstance("MSFT_NetBranchCacheHostedCacheServerSettingData") : ToSubclass,read : ToSubclass] MSFT_NetBranchCacheHostedCacheServerSettingData HostedCacheServerConfiguration;
  [EmbeddedInstance("MSFT_NetBranchCacheNetworkSettingData") : ToSubclass,read : ToSubclass] MSFT_NetBranchCacheNetworkSettingData NetworkConfiguration;
  [EmbeddedInstance("MSFT_NetBranchCacheHashCache") : ToSubclass,read : ToSubclass] MSFT_NetBranchCacheHashCache HashCache;
  [EmbeddedInstance("MSFT_NetBranchCacheDataCache") : ToSubclass,read : ToSubclass] MSFT_NetBranchCacheDataCache DataCache;
};
