in network/network.go [50:88]
func (info *NetworkInfo) GetHostComputeNetworkConfig() *hcn.HostComputeNetwork {
subnets := []hcn.Subnet{}
for _, subnet := range info.Subnets {
subnets = append(subnets, *subnet.GetHostComputeSubnetConfig())
}
hcnPolicies := GetHostComputeNetworkPolicies(info.Policies)
// Note: HostComputeNetwork has NetAdapterNameNetworkPolicySetting instead of a NetworkAdapterName/InterfaceName field.
if info.InterfaceName != "" {
hcnPolicies = append(hcnPolicies, CreateNetworkPolicySetting(info.InterfaceName))
}
ipams := []hcn.Ipam{}
if len(subnets) > 0 {
ipams = []hcn.Ipam{
{
Type: "Static",
Subnets: subnets,
},
}
}
return &hcn.HostComputeNetwork{
Name: info.Name,
Type: hcn.NetworkType(info.Type),
Ipams: ipams,
Dns: hcn.Dns{
Domain: info.DNS.Domain,
Search: info.DNS.Search,
ServerList: info.DNS.Nameservers,
Options: info.DNS.Options,
},
SchemaVersion: hcn.SchemaVersion{
Major: 2,
Minor: 0,
},
Policies: hcnPolicies,
}
}