#line 1 "C:\\Windows\\system32\\wbem\\NetNat.mof"
#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root\\standardcimv2")

Instance of __Win32Provider as $prov
{
  Name = "netnat";
  ClsId = "{B68DE4BD-6824-42CD-9581-CD571249411D}";
  ImpersonationLevel = 1;
  HostingModel = "NetworkServiceHost";
  version = 1073741825;
};

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("netnat") : ToInstance] 
class MSFT_NetNat : MSFT_NetSettingData
{
  [read : ToSubclass] string Name;
  [ValueMap{"0", "1"} : ToSubclass,read : ToSubclass] uint32 Store;
  [read : ToSubclass,write : ToSubclass] string ExternalIPInterfaceAddressPrefix;
  [read : ToSubclass,write : ToSubclass] string InternalRoutingDomainId;
  [read : ToSubclass,write : ToSubclass] uint32 IcmpQueryTimeout;
  [read : ToSubclass,write : ToSubclass] uint32 TcpEstablishedConnectionTimeout;
  [read : ToSubclass,write : ToSubclass] uint32 TcpTransientConnectionTimeout;
  [ValueMap{"0", "1"} : ToSubclass,read : ToSubclass,write : ToSubclass] uint8 TcpFilteringBehavior;
  [ValueMap{"0", "1"} : ToSubclass,read : ToSubclass,write : ToSubclass] uint8 UdpFilteringBehavior;
  [read : ToSubclass,write : ToSubclass] uint32 UdpIdleSessionTimeout;
  [read : ToSubclass,write : ToSubclass] uint8 UdpInboundRefresh;
  [read : ToSubclass] uint8 Active;
  [read : ToSubclass,write : ToSubclass] string InternalIPInterfaceAddressPrefix;
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("netnat") : ToInstance] 
class MSFT_NetNatExternalAddress : MSFT_NetSettingData
{
  [read : ToSubclass] uint32 ExternalAddressID;
  [read : ToSubclass] string NatName;
  [read : ToSubclass,write : ToSubclass] string IPAddress;
  [read : ToSubclass,write : ToSubclass] uint16 PortStart;
  [read : ToSubclass,write : ToSubclass] uint16 PortEnd;
  [read : ToSubclass] uint8 Active;
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("netnat") : ToInstance] 
class MSFT_NetNatGlobal : MSFT_NetSettingData
{
  [ValueMap{"0", "1"} : ToSubclass,read : ToSubclass,write : ToSubclass] uint32 InterRoutingDomainHairpinningMode;
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("netnat") : ToInstance] 
class MSFT_NetNatSession : MSFT_NetSettingData
{
  [read : ToSubclass] string InternalSourceAddress;
  [read : ToSubclass] uint16 InternalSourcePort;
  [read : ToSubclass] string InternalDestinationAddress;
  [read : ToSubclass] uint16 InternalDestinationPort;
  [read : ToSubclass] string ExternalSourceAddress;
  [read : ToSubclass] uint16 ExternalSourcePort;
  [read : ToSubclass] string ExternalDestinationAddress;
  [read : ToSubclass] uint16 ExternalDestinationPort;
  [ValueMap{"6", "17"} : ToSubclass,read : ToSubclass] uint32 Protocol;
  [read : ToSubclass] string InternalRoutingDomainId;
  [read : ToSubclass] string NatName;
  [read : ToSubclass] datetime CreationTime;
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("netnat") : ToInstance] 
class MSFT_NetNatStaticMapping : MSFT_NetSettingData
{
  [read : ToSubclass] uint32 StaticMappingID;
  [read : ToSubclass] string NatName;
  [ValueMap{"6", "17"} : ToSubclass,read : ToSubclass] uint32 Protocol;
  [read : ToSubclass,write : ToSubclass] string RemoteExternalIPAddressPrefix;
  [read : ToSubclass,write : ToSubclass] string ExternalIPAddress;
  [read : ToSubclass,write : ToSubclass] uint16 ExternalPort;
  [read : ToSubclass,write : ToSubclass] string InternalIPAddress;
  [read : ToSubclass,write : ToSubclass] uint16 InternalPort;
  [read : ToSubclass,write : ToSubclass] string InternalRoutingDomainId;
  [read : ToSubclass] uint8 Active;
};
