#pragma autorecover
#pragma namespace("\\\\.\\root\\Microsoft\\Windows\\RemoteAccess\\Client")
#pragma classflags("forceupdate")

Instance of __Win32Provider as $prov
{
  Name = "VpnClientPSProvider";
  ClsId = "{0B4CD745-723E-4D23-B898-47BECD7F0DEF}";
  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::Network::Routes") : ToSubclass,locale(1033)] 
class CIM_NextHopRoute : CIM_ManagedElement
{
  [key,Override("InstanceID")] string InstanceID;
  string DestinationAddress;
  uint16 AdminDistance;
  uint16 RouteMetric;
  boolean IsStatic;
  [ValueMap{"2", "3", "4"} : ToSubclass] uint16 TypeOfRoute = 3;
};

[ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class EapConfiguration
{
  [read : ToSubclass] string EapConfigXmlStream;
};

[UMLPackagePath("CIM::Network::Routes") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class MSFT_NetRoute : CIM_NextHopRoute
{
  [read : ToSubclass] string DestinationPrefix;
  [read : ToSubclass] uint32 InterfaceIndex;
  [read : ToSubclass] string InterfaceAlias;
  [read : ToSubclass] string NextHop;
  [read : ToSubclass,write : ToSubclass,ValueMap{"0", "1", "2"} : ToSubclass] uint8 Publish;
  [read : ToSubclass,write : ToSubclass] datetime ValidLifetime;
  [read : ToSubclass,write : ToSubclass] datetime PreferredLifetime;
  [ValueMap{"0", "1"} : ToSubclass,read : ToSubclass] uint8 Store;
  [read : ToSubclass,ValueMap{"2", "23"} : ToSubclass] uint16 AddressFamily;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19"} : ToSubclass] uint16 Protocol;
  [implemented,static : ToSubclass DisableOverride] uint32 Create([In] uint32 InterfaceIndex,[In] string InterfaceAlias,[In] string DestinationPrefix,[In] string NextHop,[In] uint8 Publish,[In] uint16 RouteMetric,[In] uint16 Protocol,[In] datetime ValidLifetime,[In] datetime PreferredLifetime,[In] string PolicyStore,[In] uint16 AddressFamily,[In] boolean PassThru,[Out,EmbeddedInstance("MSFT_NetRoute") : ToSubclass] MSFT_NetRoute CmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 Select([In] uint32 InterfaceIndex,[In] string LocalIPAddress,[In] string RemoteIPAddress,[Out,EmbeddedInstance("CIM_ManagedElement") : ToSubclass] CIM_ManagedElement CmdletOutput[]);
};

[ClassVersion("1.0.0"),InPartition{"local-system", "local-user"} : ToSubclass,locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class MSFT_VpnConnection
{
  [key,read : ToSubclass] string Name;
  [key,read : ToSubclass] boolean AllUserConnection;
  [read : ToSubclass,write : ToSubclass] string Profile;
  [implemented,static : ToSubclass DisableOverride] uint32 Set([In] string Profile);
};

[ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class PS_EapConfiguration
{
  [implemented,static : ToSubclass DisableOverride] uint32 NewByEapMsChapv2Auth([In] boolean UseWinlogonCredential,[Out,EmbeddedInstance("EapConfiguration") : ToSubclass] EapConfiguration cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 NewByEapTlsAuth([In] boolean Tls,[In] boolean UserCertificate,[In] boolean VerifyServerIdentity,[Out,EmbeddedInstance("EapConfiguration") : ToSubclass] EapConfiguration cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 NewByEapTtlsAuth([In] boolean Ttls,[In] boolean UseWinlogonCredential,[In,ValueMap{"Pap", "Chap", "MsChap", "MsChapv2"} : ToSubclass] string TunnledNonEapAuthMethod,[In] string TunnledEapAuthMethod,[Out,EmbeddedInstance("EapConfiguration") : ToSubclass] EapConfiguration cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 NewByPeapAuth([In] boolean Peap,[In] boolean VerifyServerIdentity,[In] boolean EnableNap,[In] boolean FastReconnect,[In] string TunnledEapAuthMethod,[Out,EmbeddedInstance("EapConfiguration") : ToSubclass] EapConfiguration cmdletOutput);
};

[ClassVersion("1.0.0"),InPartition{"local-system", "local-user"} : ToSubclass,locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class PS_VpnConnection
{
  [key,read : ToSubclass,write : ToSubclass] string Name;
  [key,read : ToSubclass,write : ToSubclass] boolean AllUserConnection;
  [read : ToSubclass,write : ToSubclass] string ServerAddress;
  [read : ToSubclass,write : ToSubclass,ValueMap{"Inbox", "ThirdParty"} : ToSubclass] string ProfileType;
  [read : ToSubclass,write : ToSubclass] string ProvisioningAuthority;
  [read : ToSubclass,write : ToSubclass] boolean RememberCredential;
  [read : ToSubclass,write : ToSubclass] boolean SplitTunneling;
  [read : ToSubclass] string Guid;
  [read : ToSubclass,ValueMap{"Connected", "NotConnected", "Connecting", "Limited", "Dormant"} : ToSubclass] string ConnectionStatus;
  [read : ToSubclass,write : ToSubclass] uint32 IdleDisconnectSeconds;
  [read : ToSubclass,write : ToSubclass] string DnsSuffix;
  [read : ToSubclass,write : ToSubclass,ValueMap{"Pptp", "L2tp", "Sstp", "Ikev2", "Automatic"} : ToSubclass] string TunnelType;
  [read : ToSubclass,write : ToSubclass] boolean UseWinlogonCredential;
  [read : ToSubclass,write : ToSubclass,ValueMap{"Pap", "Chap", "MsChapv2", "Eap", "MachineCertificate"} : ToSubclass] string AuthenticationMethod[];
  [read : ToSubclass,write : ToSubclass,ValueMap{"NoEncryption", "Optional", "Required", "Maximum", "Custom"} : ToSubclass] string EncryptionLevel;
  [read : ToSubclass,write : ToSubclass] string L2tpPsk;
  [read : ToSubclass,ValueMap{"Certificate", "Psk"} : ToSubclass] string L2tpIPsecAuth;
  [read : ToSubclass,write : ToSubclass] string EapConfigXmlStream;
  [read : ToSubclass,ValueMap{"Success", "NotNapCapable", "NoConnection", "Error"} : ToSubclass] string NapState;
  [read : ToSubclass] string VpnConfigurationXml;
  [read : ToSubclass,write : ToSubclass] string MachineCertificateEKUFilter[];
  [read : ToSubclass,write : ToSubclass] string MachineCertificateIssuerFilter;
  [read : ToSubclass,write : ToSubclass] string ApplicationID[];
  [read : ToSubclass,write : ToSubclass,EmbeddedInstance("PS_VpnServerAddress") : ToSubclass] PS_VpnServerAddress ServerList[];
  [read : ToSubclass,write : ToSubclass,EmbeddedInstance("PS_VpnConnectionRoute") : ToSubclass] PS_VpnConnectionRoute Routes[];
  [read : ToSubclass,write : ToSubclass,EmbeddedInstance("PS_VpnConnectionTriggerDnsConfiguration") : ToSubclass] PS_VpnConnectionTriggerDnsConfiguration DnsConfig[];
  [read : ToSubclass,write : ToSubclass] string DnsSuffixSearchList[];
  [read : ToSubclass,write : ToSubclass] string TrustedNetwork[];
  [read : ToSubclass,write : ToSubclass,EmbeddedInstance("PS_VpnConnectionProxy") : ToSubclass] PS_VpnConnectionProxy Proxy;
  [read : ToSubclass,write : ToSubclass] string PlugInApplicationID;
  [read : ToSubclass,write : ToSubclass] string CustomConfiguration;
  [read : ToSubclass] boolean IsAutoTriggerEnabled;
  [implemented,static : ToSubclass DisableOverride] uint32 Remove([In] string Name[],[In] boolean Force,[In] boolean PassThru,[In] boolean AllUserConnection,[Out,EmbeddedInstance("VpnCommonConfig") : ToSubclass] VpnCommonConfig cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 Get([In] string Name[],[In] boolean AllUserConnection,[Out,EmbeddedInstance("VpnCommonConfig") : ToSubclass] VpnCommonConfig cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 Set([In] string ServerAddress,[In] boolean AllUserConnection,[In] boolean SplitTunneling,[In] boolean RememberCredential,[In,ValueMap{"Pptp", "L2tp", "Sstp", "Ikev2", "Automatic"} : ToSubclass] string TunnelType,[In] boolean PassThru,[In] boolean Force,[In] string L2tpPsk,[In,ValueMap{"Pap", "Chap", "MsChapv2", "Eap", "MachineCertificate"} : ToSubclass] string AuthenticationMethod[],[In] string EapConfigXmlStream,[In] string Name,[In] boolean UseWinlogonCredential,[In,ValueMap{"NoEncryption", "Optional", "Required", "Maximum", "Custom"} : ToSubclass] string EncryptionLevel,[In] string MachineCertificateEKUFilter[],[In] uint8 MachineCertificateIssuerFilter[],[In,EmbeddedInstance("VpnServerAddress") : ToSubclass] VpnServerAddress ServerList[],[In] uint32 IdleDisconnectSeconds,[In] string DnsSuffix,[Out,EmbeddedInstance("VpnConnection") : ToSubclass] VpnConnection cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 SetByThirdParty([In] string Name,[In] string ServerAddress,[In] boolean RememberCredential,[In] boolean SplitTunneling,[In] boolean PassThru,[In] boolean Force,[In,EmbeddedInstance("VpnServerAddress") : ToSubclass] VpnServerAddress ServerList[],[In] string DnsSuffix,[In] uint32 IdleDisconnectSeconds,[In] string PlugInApplicationID,[In] string CustomConfiguration,[In] boolean ThirdPartyVpn,[Out,EmbeddedInstance("ThirdPartyVpnConnection") : ToSubclass] ThirdPartyVpnConnection cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 Add([In] string Name,[In] string ServerAddress,[In,ValueMap{"Pptp", "L2tp", "Ikev2", "Sstp"} : ToSubclass] string TunnelType,[In] boolean AllUserConnection,[In] boolean RememberCredential,[In] uint32 IdleDisconnectSeconds,[In] string DnsSuffix,[In] boolean SplitTunneling,[In] boolean Force,[In] boolean PassThru,[In] string L2tpPsk,[In] boolean UseWinlogonCredential,[In] string EapConfigXmlStream,[In,ValueMap{"Pap", "Chap", "MsChapv2", "Eap"} : ToSubclass] string AuthenticationMethod[],[In,ValueMap{"NoEncryption", "Optional", "Required", "Maximum"} : ToSubclass] string EncryptionLevel,[In] uint8 MachineCertificateIssuerFilter[],[In] string MachineCertificateEKUFilter[],[In,EmbeddedInstance("VpnServerAddress") : ToSubclass] VpnServerAddress ServerList[],[Out,EmbeddedInstance("VpnConnection") : ToSubclass] VpnConnection cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 NewByThirdParty([In] string Name,[In] string ServerAddress,[In] boolean RememberCredential,[In] boolean SplitTunneling,[In] boolean PassThru,[In] boolean Force,[In,EmbeddedInstance("VpnServerAddress") : ToSubclass] VpnServerAddress ServerList[],[In] string DnsSuffix,[In] uint32 IdleDisconnectSeconds,[In] string PlugInApplicationID,[In] string CustomConfiguration,[Out,EmbeddedInstance("ThirdPartyVpnConnection") : ToSubclass] ThirdPartyVpnConnection cmdletOutput);
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class PS_VpnConnectionIPsecConfiguration
{
  [implemented,static : ToSubclass DisableOverride] uint32 SetByCustomPolicy([In] string ConnectionName,[In] uint32 AuthenticationTransformConstants,[In] uint32 CipherTransformConstants,[In] uint32 EncryptionMethod,[In] uint32 IntegrityCheckMethod,[In] uint32 PfsGroup,[In] uint32 DHGroup,[In] boolean PassThru,[In] boolean Force,[In] boolean AllUserConnection,[Out,EmbeddedInstance("VpnConnectionIPsecConfiguration") : ToSubclass] VpnConnectionIPsecConfiguration cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 SetIpSecByDefault([In] string ConnectionName,[In] boolean RevertToDefault,[In] boolean PassThru,[In] boolean Force,[In] boolean AllUserConnection,[Out,EmbeddedInstance("VpnConnectionIPsecConfiguration") : ToSubclass] VpnConnectionIPsecConfiguration cmdletOutput);
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class PS_VpnConnectionProxy
{
  [key,read : ToSubclass,write : ToSubclass] boolean AutoDetect;
  [key,read : ToSubclass,write : ToSubclass] string AutoConfigurationScript;
  [key,read : ToSubclass,write : ToSubclass] string ProxyServer;
  [read : ToSubclass,write : ToSubclass] boolean BypassProxyForLocal;
  [read : ToSubclass,write : ToSubclass] string ExceptionPrefix[];
  [implemented,static : ToSubclass DisableOverride] uint32 Set([In] boolean AutoDetect,[In] string AutoConfigurationScript,[In] string ProxyServer,[In] boolean BypassProxyForLocal,[In] string ExceptionPrefix[],[In] string ConnectionName,[In] boolean PassThru,[Out,EmbeddedInstance("VpnConnectionProxy") : ToSubclass] VpnConnectionProxy cmdletOutput);
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class PS_VpnConnectionRoute
{
  [key,read : ToSubclass,write : ToSubclass] string DestinationPrefix;
  [read : ToSubclass,write : ToSubclass] uint32 RouteMetric;
  [read : ToSubclass,ValueMap{"2", "23"} : ToSubclass] uint16 AddressFamily;
  [implemented,static : ToSubclass DisableOverride] uint32 Add([In] string ConnectionName,[In] string DestinationPrefix,[In] uint32 RouteMetric,[In] boolean PassThru,[In] boolean AllUserConnection,[Out,EmbeddedInstance("MSFT_NetRoute") : ToSubclass] MSFT_NetRoute cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 Remove([In] string ConnectionName,[In] string DestinationPrefix,[In] boolean AllUserConnection,[In] boolean PassThru,[Out,EmbeddedInstance("MSFT_NetRoute") : ToSubclass] MSFT_NetRoute cmdletOutput);
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class PS_VpnConnectionTrigger
{
  [implemented,static : ToSubclass DisableOverride] uint32 Get([In] string ConnectionName,[Out,EmbeddedInstance("VpnConnectionTrigger") : ToSubclass] VpnConnectionTrigger cmdletOutput);
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class PS_VpnConnectionTriggerApplication
{
  [implemented,static : ToSubclass DisableOverride] uint32 Add([In] string ConnectionName,[In] string ApplicationID[],[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("VpnConnectionTriggerApplication") : ToSubclass] VpnConnectionTriggerApplication cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 Remove([In] string ConnectionName,[In] string ApplicationID[],[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("VpnConnectionTriggerApplication") : ToSubclass] VpnConnectionTriggerApplication cmdletOutput);
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class PS_VpnConnectionTriggerDnsConfiguration
{
  [key,read : ToSubclass,write : ToSubclass] string DnsSuffix;
  [read : ToSubclass,write : ToSubclass] string DnsIPAddress[];
  [implemented,static : ToSubclass DisableOverride] uint32 Add([In] string ConnectionName,[In] string DnsSuffix,[In] string DnsIPAddress[],[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("VpnConnectionTriggerDnsConfiguration") : ToSubclass] VpnConnectionTriggerDnsConfiguration cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 Set([In] string ConnectionName,[In] string DnsSuffix,[In] string DnsIPAddress[],[In] string DnsSuffixSearchList[],[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("VpnConnectionTriggerDnsConfiguration") : ToSubclass] VpnConnectionTriggerDnsConfiguration cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 Remove([In] string ConnectionName,[In] string DnsSuffix[],[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("VpnConnectionTriggerDnsConfiguration") : ToSubclass] VpnConnectionTriggerDnsConfiguration cmdletOutput[]);
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class PS_VpnConnectionTriggerTrustedNetwork
{
  [implemented,static : ToSubclass DisableOverride] uint32 Add([In] string ConnectionName,[In] string DnsSuffix[],[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("VpnConnectionTriggerTrustedNetwork") : ToSubclass] VpnConnectionTriggerTrustedNetwork cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 Remove([In] string ConnectionName,[In] string DnsSuffix[],[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("VpnConnectionTriggerTrustedNetwork") : ToSubclass] VpnConnectionTriggerTrustedNetwork cmdletOutput);
  [implemented,static : ToSubclass DisableOverride] uint32 Set([In] string ConnectionName,[In] boolean DefaultDnsSuffixes,[In] boolean PassThru,[In] boolean Force,[Out,EmbeddedInstance("VpnConnectionTriggerTrustedNetwork") : ToSubclass] VpnConnectionTriggerTrustedNetwork cmdletOutput);
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class PS_VpnServerAddress
{
  [key,read : ToSubclass,write : ToSubclass] string FriendlyName;
  [read : ToSubclass,write : ToSubclass] string ServerAddress;
  [implemented,static : ToSubclass DisableOverride] uint32 New([In] string ServerAddress,[In] string FriendlyName,[In] boolean PassThru,[Out,EmbeddedInstance("VpnServerAddress") : ToSubclass] VpnServerAddress cmdletOutput);
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class VpnCommonConfig
{
  [read : ToSubclass,write : ToSubclass] string Name;
  [read : ToSubclass,write : ToSubclass,ValueMap{"Inbox", "ThirdParty"} : ToSubclass] string ProfileType;
  [read : ToSubclass,write : ToSubclass] string ServerAddress;
  [read : ToSubclass,write : ToSubclass] string ProvisioningAuthority;
  [read : ToSubclass,write : ToSubclass] boolean RememberCredential;
  [read : ToSubclass,write : ToSubclass] boolean SplitTunneling;
  [read : ToSubclass] string Guid;
  [read : ToSubclass,ValueMap{"Connected", "NotConnected", "Connecting", "Limited", "Dormant"} : ToSubclass] string ConnectionStatus;
  [read : ToSubclass,write : ToSubclass] uint32 IdleDisconnectSeconds;
  [read : ToSubclass,write : ToSubclass,EmbeddedInstance("VpnServerAddress") : ToSubclass] VpnServerAddress ServerList[];
  [read : ToSubclass,write : ToSubclass,EmbeddedInstance("MSFT_NetRoute") : ToSubclass] MSFT_NetRoute Routes[];
  [read : ToSubclass,write : ToSubclass,EmbeddedInstance("VpnConnectionTrigger") : ToSubclass] VpnConnectionTrigger VpnTrigger;
  [read : ToSubclass,write : ToSubclass] string DnsSuffix;
  [read : ToSubclass,write : ToSubclass,EmbeddedInstance("VpnConnectionProxy") : ToSubclass] VpnConnectionProxy Proxy;
  [read : ToSubclass] boolean IsAutoTriggerEnabled;
};

[ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class ThirdPartyVpnConnection : VpnCommonConfig
{
  [read : ToSubclass] string VpnConfigurationXml;
  [read : ToSubclass,write : ToSubclass] string PlugInApplicationID;
  [read : ToSubclass,write : ToSubclass] string CustomConfiguration;
};

[ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class VpnConnection : VpnCommonConfig
{
  [read : ToSubclass,write : ToSubclass] boolean AllUserConnection;
  [read : ToSubclass,write : ToSubclass,ValueMap{"Automatic", "Pptp", "L2tp", "Sstp", "Ikev2"} : ToSubclass] string TunnelType;
  [read : ToSubclass,write : ToSubclass] boolean UseWinlogonCredential;
  [read : ToSubclass,write : ToSubclass,ValueMap{"Pap", "Chap", "MsChapv2", "Eap", "MachineCertificate"} : ToSubclass] string AuthenticationMethod[];
  [read : ToSubclass,write : ToSubclass,ValueMap{"NoEncryption", "Optional", "Required", "Maximum"} : ToSubclass] string EncryptionLevel;
  [read : ToSubclass,ValueMap{"Certificate", "Psk"} : ToSubclass] string L2tpIPsecAuth;
  [read : ToSubclass,write : ToSubclass] string EapConfigXmlStream;
  [read : ToSubclass,ValueMap{"Success", "NotNapCapable", "NoConnection", "Error"} : ToSubclass] string NapState;
  [read : ToSubclass] string VpnConfigurationXml;
  [read : ToSubclass,write : ToSubclass,EmbeddedInstance("VpnConnectionIPsecConfiguration") : ToSubclass] VpnConnectionIPsecConfiguration IPSecCustomPolicy[];
  [read : ToSubclass,write : ToSubclass] string MachineCertificateEKUFilter[];
  [read : ToSubclass,write : ToSubclass] uint8 MachineCertificateIssuerFilter[];
};

[locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class VpnConnectionIPsecConfiguration
{
  [read : ToSubclass,write : ToSubclass] uint32 EncryptionMethod;
  [read : ToSubclass,write : ToSubclass] uint32 IntegrityCheckMethod;
  [read : ToSubclass,write : ToSubclass] uint32 CipherTransformConstants;
  [read : ToSubclass,write : ToSubclass] uint32 DHGroup;
  [read : ToSubclass,write : ToSubclass] uint32 AuthenticationTransformConstants;
  [read : ToSubclass,write : ToSubclass] uint32 PfsGroup;
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class VpnConnectionProxy
{
  [read : ToSubclass,write : ToSubclass] string ConnectionName;
  [read : ToSubclass,write : ToSubclass] boolean AutoDetect;
  [read : ToSubclass,write : ToSubclass] string AutoConfigurationScript;
  [read : ToSubclass,write : ToSubclass] boolean BypassProxyForLocal;
  [read : ToSubclass,write : ToSubclass] string ProxyServer;
  [read : ToSubclass,write : ToSubclass] string ExceptionPrefix[];
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class VpnConnectionTrigger
{
  [read : ToSubclass,write : ToSubclass] string ConnectionName;
  [read : ToSubclass,write : ToSubclass] string ApplicationID[];
  [read : ToSubclass,write : ToSubclass,EmbeddedInstance("VpnConnectionTriggerDnsConfiguration") : ToSubclass] VpnConnectionTriggerDnsConfiguration dnsConfig[];
  [read : ToSubclass,write : ToSubclass] string DnsSuffixSearchList[];
  [read : ToSubclass,write : ToSubclass] string TrustedNetwork[];
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class VpnConnectionTriggerApplication
{
  [read : ToSubclass,write : ToSubclass] string ConnectionName;
  [read : ToSubclass,write : ToSubclass] string ApplicationID[];
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class VpnConnectionTriggerDnsConfiguration
{
  [read : ToSubclass,write : ToSubclass] string ConnectionName;
  [read : ToSubclass,write : ToSubclass] string DnsSuffix;
  [read : ToSubclass,write : ToSubclass] string DnsIPAddress[];
  [read : ToSubclass,write : ToSubclass] string DnsSuffixSearchList[];
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class VpnConnectionTriggerTrustedNetwork
{
  [read : ToSubclass,write : ToSubclass] string ConnectionName;
  [read : ToSubclass,write : ToSubclass] string DnsSuffix[];
};

[locale(1033),dynamic : ToInstance,provider("VpnClientPSProvider") : ToInstance] 
class VpnServerAddress
{
  [read : ToSubclass,write : ToSubclass] string ServerAddress;
  [read : ToSubclass,write : ToSubclass] string FriendlyName;
};
