func createNetworkInterface( suffix string, group resources.ResourceGroup, subnet network.Subnet, arm arm.Client) (networkInterface network.Interface, err error) { pipc := arm.PublicIPAddresses() nicc := arm.NetworkInterfaces() groupName := *group.Name ipName := "ip" + suffix nicName := "nic" + suffix pipResult, err := pipc.CreateOrUpdate( groupName, ipName, network.PublicIPAddress{ Location: group.Location, Properties: &network.PublicIPAddressPropertiesFormat{ PublicIPAllocationMethod: network.Dynamic, }, }) if err != nil { err = fmt.Errorf("Failed to create public ip address '%s' in location '%s': '%s'\n", ipName, *group.Location, err.Error()) return } nicProps := network.InterfaceIPConfigurationPropertiesFormat{ PublicIPAddress: &pipResult, Subnet: &subnet} ipConfigs := make([]network.InterfaceIPConfiguration, 1, 1) ipConfigs[0] = network.InterfaceIPConfiguration{ Name: to.StringPtr(nicName + "Config"), Properties: &nicProps, } props := network.InterfacePropertiesFormat{IPConfigurations: &ipConfigs} networkInterface, err = nicc.CreateOrUpdate( groupName, nicName, network.Interface{ Location: group.Location, Properties: &props, }) if err != nil { err = fmt.Errorf("Failed to create network interface '%s' in location '%s': '%s'\n", nicName, *group.Location, err.Error()) } return }