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