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

[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_804")] 
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_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_804")] 
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("Superclass SettingData for networking") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_NetSettingData : CIM_SettingData
{
};

[Description("DA client experience settings") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_DAClientExperienceConfiguration : MSFT_NetSettingData
{
  [Description("Specifies resources on the intranet that are normally accessible to DirectAccess clients.") : Amended ToSubclass] string CorporateResources[];
  [Description("Specifies the Ipv6 addresses of the endpoints of the IPsec tunnels that enable DirectAccess.") : Amended ToSubclass] string IPsecTunnelEndpoints[];
  [Description("Specifies whether the user  has UI control for the DirectAccess entry when the user clicks the Networking notification area icon.") : Amended ToSubclass] boolean PreferLocalNamesAllowed;
  [Description("Specifies whether an entry for DirectAccess connectivity appears when the user clicks the Networking notification area icon.") : Amended ToSubclass] boolean UserInterface;
  [Description("Specifies the email address to be used when sending the log files that are generated by NCA to the network administrator.") : Amended ToSubclass] string SupportEmail;
  [Description("Specifies the string that appears for DirectAccess connectivity when the user clicks the Networking notification area icon.") : Amended ToSubclass] string FriendlyName;
  [Description("Specifies whether NCA service operates in passive mode.") : Amended ToSubclass] boolean PassiveMode;
  [Description("Specifies administrator commands that will be included in logs by NCA service.") : Amended ToSubclass] string CustomCommands[];
  [Description("Specifies whether users are allowed to manually select a DA site.") : Amended ToSubclass] boolean ManualEntryPointSelectionAllowed;
  [Description("Specifies a FQDN used to automatically select the current DA site.") : Amended ToSubclass] string GslbFqdn;
  [Description("Specifies whether to force tunneling.") : Amended ToSubclass,Values{"Default", "Enabled", "Disabled"} : Amended ToSubclass] uint32 ForceTunneling;
  [Description("PolicyStore property defines the store to retrieve the NCA configuration policy.") : Amended ToSubclass] string PolicyStore;
  [Description("Reset the DAClientExperienceConfiguration configuration.") : Amended ToSubclass] 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] MSFT_DAClientExperienceConfiguration OutputObject);
};

[Description("DA Settings change notification") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_DASettingsIndication
{
};

[Description("DA Site table entry") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_DASiteTableEntry : MSFT_NetSettingData
{
  [Description("Policy store in which this configuration object is stored") : Amended ToSubclass] string PolicyStore;
  [Description("Friendly name of the site") : Amended ToSubclass] string EntryPointName;
  [Description("Indicates the current activation state of the site") : Amended ToSubclass,Values{"NotSelected", "AutomaticallySelected", "ManuallySelected"} : Amended ToSubclass] uint32 State;
  [Description("Name of AD site used by the client") : Amended ToSubclass] string ADSite;
  [Description("IPv6 address ranges attributed to a DA site") : Amended ToSubclass] string EntryPointRange[];
  [Description("Teredo server used by the client") : Amended ToSubclass] string TeredoServerIP;
  [Description("DirectAccess Server address") : Amended ToSubclass] string EntryPointIPAddress;
  [Description("Name of IP-HTTPs profile to enable for this site") : Amended ToSubclass] string IPHttpsProfile;
  [Description("IP address used by the DA client to identify which site to use based on GSLB resolution") : Amended ToSubclass] string GslbIP;
  [Description("Enable DA manual site selection") : Amended ToSubclass] uint32 Enable([In] string EntryPointName);
  [Description("Disable DA manual site selection") : Amended ToSubclass] uint32 Disable();
  [Description("Rename DA site table entry") : Amended ToSubclass] uint32 Rename([In] string NewName,[In] boolean PassThru,[Out] MSFT_DASiteTableEntry OutputObject);
  [Description("Reset DA site table entry configuration") : Amended ToSubclass] uint32 Reset([In] boolean TeredoServerIP,[In] boolean IPHttpsProfile,[In] boolean GslbIP,[In] boolean PassThru,[Out] MSFT_DASiteTableEntry OutputObject);
};
