Guys,

    I work at Globo, largest media company in Latin America, and we started
using Cloudstack to manage our cloud infrastructure. In order to do that,
we need to implement some plugins and one of these plugins is a plugin to
talk with our DNS API, which is basically a Rails Application with Http Api
that translates calls to our Bind Server.

    Reading some talks and documents I understood that the call to an
external API needs to be placed in my own ServerResource
implementation (DNSApiServerResource class). So, when implementing my DNS
Provider, I'm using as model the example
"cloud-plugin-example-dns-notifier" and created a DNSApiServerResource to
make calls to DNSAPI.

    The configuration and server for DNSAPI is the same for all zones,
so the problem is that by using this model I need to create one host entry
(related to my DNSAIServerResource) for each DNSAPI Provider enabled in
each zone, all of them with exactly the same configuration.

     An alternative is to call the API directly from the DNSAPIElement, but
I'm worried if it is a bad Cloudstack pattern to make calls to external
APIs without a ServerResource. We would like to share this implementation
with the community later on.

     If it's incorrect, which type of host would my DNSAPI be? The only
options are: Storage, Routing, SecondaryStorage,
SecondaryStorageCmdExecutor, ConsoleProxy, ExternalFirewall,
ExternalLoadBalancer, ExternalVirtualSwitchSupervisor, PxeServer,
BaremetalPxe, BaremetalDhcp, TrafficMonitor, ExternalDhcp,
SecondaryStorageVM, LocalSecondaryStorage, L2Networking.

Thank you in advance,

Silvano Buback

Reply via email to