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

Instance of __Win32Provider as $prov
{
  Name = "NetDaCim";
  ClsId = "{E5B5B938-52A0-4B37-8659-24EB5165B9A0}";
  ImpersonationLevel = 1;
  HostingModel = "NetworkServiceHost";
  version = 1073741825;
};

Instance of __MethodProviderRegistration
{
  Provider = $prov;
};

Instance of __EventProviderRegistration
{
  Provider = $prov;
  eventQueryList = {"select * from MSFT_DASettingsIndication"};
};

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::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::Settings") : ToSubclass,locale(1033)] 
class MSFT_NetSettingData : CIM_SettingData
{
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetDaCim") : ToInstance] 
class MSFT_DAClientExperienceConfiguration : MSFT_NetSettingData
{
  string CorporateResources[];
  string IPsecTunnelEndpoints[];
  boolean PreferLocalNamesAllowed;
  boolean UserInterface;
  string SupportEmail;
  string FriendlyName;
  boolean PassiveMode;
  string CustomCommands[];
  boolean ManualEntryPointSelectionAllowed;
  string GslbFqdn;
  [ValueMap{"0", "2", "3"} : ToSubclass] uint32 ForceTunneling;
  [read : ToSubclass] string PolicyStore;
  [implemented] uint32 Reset([In] boolean CorporateResources,[In] boolean IPsecTunnelEndpoints,[In] boolean PreferLocalNamesAllowed,[In] boolean UserInterface,[In] boolean SupportEmail,[In] boolean FriendlyName,[In] boolean PassiveMode,[In] boolean CustomCommands,[In] boolean ManualEntryPointSelectionAllowed,[In] boolean GslbFqdn,[In] boolean ForceTunneling,[In] boolean PassThru,[Out,EmbeddedInstance("MSFT_DAClientExperienceConfiguration") : ToSubclass] MSFT_DAClientExperienceConfiguration OutputObject);
};

[ClassVersion("1.0.0"),Indication,locale(1033),dynamic : ToInstance,provider("NetDaCim") : ToInstance] 
class MSFT_DASettingsIndication
{
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("NetDaCim") : ToInstance] 
class MSFT_DASiteTableEntry : MSFT_NetSettingData
{
  [read : ToSubclass] string PolicyStore;
  [read : ToSubclass] string EntryPointName;
  [ValueMap{"0", "1", "2"} : ToSubclass] uint32 State;
  string ADSite;
  string EntryPointRange[];
  string TeredoServerIP;
  string EntryPointIPAddress;
  string IPHttpsProfile;
  string GslbIP;
  [implemented,static : ToSubclass DisableOverride] uint32 Enable([In] string EntryPointName);
  [implemented,static : ToSubclass DisableOverride] uint32 Disable();
  [implemented] uint32 Rename([In] string NewName,[In] boolean PassThru,[Out,EmbeddedInstance("MSFT_DASiteTableEntry") : ToSubclass] MSFT_DASiteTableEntry OutputObject);
  [implemented] uint32 Reset([In] boolean TeredoServerIP,[In] boolean IPHttpsProfile,[In] boolean GslbIP,[In] boolean PassThru,[Out,EmbeddedInstance("MSFT_DASiteTableEntry") : ToSubclass] MSFT_DASiteTableEntry OutputObject);
};
