Methods
^^^^^^^
+Methods required for different features
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+:Always required: ``initialize``, ``lookup``
+:Master operation: ``list``, ``getUpdatedMasters``, ``setNotified``
+
``initialize``
~~~~~~~~~~~~~~
``createSlaveDomain``
~~~~~~~~~~~~~~~~~~~~~
-
Creates new domain. This method is called when NOTIFY is received and
you are superslaving.
-Mandatory: No Parameters: ip, domain Optional parameters: nameserver,
-account Reply: true for success, false for failure
+ - Mandatory: No
+ - Parameters: ip, domain
+ - Optional parameters: nameserver, account
+ - Reply: true for success, false for failure
Example JSON/RPC
''''''''''''''''
- Mandatory: no
- Parameters: none
-- Reply: array of DomainInfo
+- Reply: array of DomainInfo or at least the ``id``, ``zone``, ``serial`` and ``notified_serial`` fields
Example JSON/RPC
''''''''''''''''
}
}
+void RemoteBackend::alsoNotifies(const DNSName &domain, set<string> *ips)
+{
+ std::vector<std::string> meta;
+ getDomainMetadata(domain, "ALSO-NOTIFY", meta);
+ ips->insert(meta.begin(), meta.end());
+}
+
void RemoteBackend::getUpdatedMasters(vector<DomainInfo>* domains)
{
Json query = Json::object{
bool searchComments(const string &pattern, int maxResults, vector<Comment>& result) override;
void getAllDomains(vector<DomainInfo> *domains, bool include_disabled=false) override;
void getUpdatedMasters(vector<DomainInfo>* domains) override;
+ void alsoNotifies(const DNSName &domain, set<string> *ips) override;
static DNSBackend *maker();