Documentation ¶
Index ¶
- Constants
- Variables
- func AddDnsNATPolicyV1() (json.RawMessage, error)
- func AddDnsNATPolicyV2() (hcn.EndpointPolicy, error)
- func GetHcnEndpointPolicies(policyType CNIPolicyType, policies []Policy, epInfoData map[string]interface{}, ...) ([]hcn.EndpointPolicy, error)
- func GetHcnNetAdapterPolicy(networkAdapterName string) (hcn.NetworkPolicy, error)
- func GetHcnOutBoundNATPolicy(policy Policy, epInfoData map[string]interface{}) (hcn.EndpointPolicy, error)
- func GetHcnPortMappingPolicy(policy Policy) (hcn.EndpointPolicy, error)
- func GetHcnRoutePolicy(policy Policy) (hcn.EndpointPolicy, error)
- func GetOutBoundNatExceptionList(policy Policy) ([]string, error)
- func IsPolicyTypeOutBoundNAT(policy Policy) bool
- func SerializeHcnSubnetVlanPolicy(vlanID uint32) ([]byte, error)
- func SerializeOutBoundNATPolicy(policy Policy, epInfoData map[string]interface{}) (json.RawMessage, error)
- func SerializePolicies(policyType CNIPolicyType, policies []Policy, epInfoData map[string]interface{}, ...) []json.RawMessage
- type CNIPolicyType
- type KVPairOutBoundNAT
- type KVPairPortMapping
- type KVPairRoute
- type KVPairRoutePolicy
- type Policy
Constants ¶
const (
// CnetAddressSpace indicates constant for the key string
CnetAddressSpace = "cnetAddressSpace"
)
Variables ¶
var ValidWinVerForDnsNat bool
Functions ¶
func AddDnsNATPolicyV1 ¶
func AddDnsNATPolicyV1() (json.RawMessage, error)
AddDnsNATPolicyV1 returns serialized DNS NAT policy (json) for HNSv1
func AddDnsNATPolicyV2 ¶ added in v1.0.29
func AddDnsNATPolicyV2() (hcn.EndpointPolicy, error)
AddDnsNATPolicyV2 returns DNS NAT endpoint policy for HNSv2
func GetHcnEndpointPolicies ¶
func GetHcnEndpointPolicies(policyType CNIPolicyType, policies []Policy, epInfoData map[string]interface{}, enableSnatForDns, enableMultiTenancy bool) ([]hcn.EndpointPolicy, error)
GetHcnEndpointPolicies returns array of all endpoint policies.
func GetHcnNetAdapterPolicy ¶
func GetHcnNetAdapterPolicy(networkAdapterName string) (hcn.NetworkPolicy, error)
GetHcnNetAdapterPolicy returns network adapter name policy.
func GetHcnOutBoundNATPolicy ¶
func GetHcnOutBoundNATPolicy(policy Policy, epInfoData map[string]interface{}) (hcn.EndpointPolicy, error)
GetHcnOutBoundNATPolicy returns outBoundNAT policy.
func GetHcnPortMappingPolicy ¶
func GetHcnPortMappingPolicy(policy Policy) (hcn.EndpointPolicy, error)
GetHcnPortMappingPolicy returns port mapping policy.
func GetHcnRoutePolicy ¶
func GetHcnRoutePolicy(policy Policy) (hcn.EndpointPolicy, error)
GetHcnRoutePolicy returns Route policy.
func GetOutBoundNatExceptionList ¶
GetOutBoundNatExceptionList returns exception list for outbound nat policy
func IsPolicyTypeOutBoundNAT ¶ added in v1.0.14
IsPolicyTypeOutBoundNAT return true if the policy type is OutBoundNAT
func SerializeHcnSubnetVlanPolicy ¶
SerializeHcnSubnetVlanPolicy serializes subnet policy for VLAN to json.
func SerializeOutBoundNATPolicy ¶
func SerializeOutBoundNATPolicy(policy Policy, epInfoData map[string]interface{}) (json.RawMessage, error)
SerializeOutBoundNATPolicy formulates OutBoundNAT policy and returns serialized json
func SerializePolicies ¶
func SerializePolicies(policyType CNIPolicyType, policies []Policy, epInfoData map[string]interface{}, enableSnatForDns, enableMultiTenancy bool) []json.RawMessage
SerializePolicies serializes policies to json.
Types ¶
type CNIPolicyType ¶
type CNIPolicyType string
const ( NetworkPolicy CNIPolicyType = "NetworkPolicy" EndpointPolicy CNIPolicyType = "EndpointPolicy" OutBoundNatPolicy CNIPolicyType = "OutBoundNAT" RoutePolicy CNIPolicyType = "ROUTE" PortMappingPolicy CNIPolicyType = "NAT" )
func GetPolicyType ¶
func GetPolicyType(policy Policy) CNIPolicyType
GetPolicyType parses the policy and returns the policy type
type KVPairOutBoundNAT ¶
type KVPairOutBoundNAT struct { Type CNIPolicyType `json:"Type"` ExceptionList json.RawMessage `json:"ExceptionList"` }
type KVPairPortMapping ¶ added in v1.0.29
type KVPairPortMapping struct { Type CNIPolicyType `json:"Type"` ExternalPort uint16 `json:"ExternalPort"` InternalPort uint16 `json:"InternalPort"` Protocol string `json:"Protocol"` }
type KVPairRoute ¶
type KVPairRoute struct { Type CNIPolicyType `json:"Type"` DestinationPrefix string `json:"DestinationPrefix"` NeedEncap bool `json:"NeedEncap"` }
type KVPairRoutePolicy ¶
type KVPairRoutePolicy struct { Type CNIPolicyType `json:"Type"` DestinationPrefix json.RawMessage `json:"DestinationPrefix"` NeedEncap json.RawMessage `json:"NeedEncap"` }
type Policy ¶
type Policy struct { Type CNIPolicyType Data json.RawMessage }