package hcsshim

import (
	"github.com/Microsoft/hcsshim/internal/hns"
)

// Type of Request Support in ModifySystem
type PolicyType = hns.PolicyType

// RequestType const
const (
	Nat                  = hns.Nat
	ACL                  = hns.ACL
	PA                   = hns.PA
	VLAN                 = hns.VLAN
	VSID                 = hns.VSID
	VNet                 = hns.VNet
	L2Driver             = hns.L2Driver
	Isolation            = hns.Isolation
	QOS                  = hns.QOS
	OutboundNat          = hns.OutboundNat
	ExternalLoadBalancer = hns.ExternalLoadBalancer
	Route                = hns.Route
	Proxy                = hns.Proxy
)

type ProxyPolicy = hns.ProxyPolicy

type NatPolicy = hns.NatPolicy

type QosPolicy = hns.QosPolicy

type IsolationPolicy = hns.IsolationPolicy

type VlanPolicy = hns.VlanPolicy

type VsidPolicy = hns.VsidPolicy

type PaPolicy = hns.PaPolicy

type OutboundNatPolicy = hns.OutboundNatPolicy

type ActionType = hns.ActionType
type DirectionType = hns.DirectionType
type RuleType = hns.RuleType

const (
	Allow = hns.Allow
	Block = hns.Block

	In  = hns.In
	Out = hns.Out

	Host   = hns.Host
	Switch = hns.Switch
)

type ACLPolicy = hns.ACLPolicy

type Policy = hns.Policy