title: Programmatically adding/removing backends to/from Varnish-cache 4.x
body: <p>I have a simple program for adding and removing backends for varnish 3.x. 
  It's done in a simple way: there is a python program that accepts HTTP requests for adding and removing backends for named services. It adds and removes backends for specific directors using VCL configuration and then reloads config for varnish.</p>
  
  <p>Now I wonder how to implement such a scheme for new (4.x) Varnish-cache. I see from documentation <a href="https://www.varnish-cache.org/docs/trunk/whats-new/upgrading.html#directors-have-been-moved-to-the-vmod-directors" rel="nofollow">directors have moved from VCL</a> modules to VMOD loadables. As I see it, now it's impossible to add new backend or director on-fly without restarting the whole varnish. Or am I wrong?</p>
  
  <p>So the questions are:</p>
  
  <ol>
  <li>Does Varnish-cache 4.x have any external [to varnish itself] API for managing configurations and directors in particular?</li>
  <li>What's the best way to manage directors in Varnish 4.x in automatic way without varnish restart?</li>
  </ol>