From 4e4496d392bc314892b381ff2c20aad9620a6697 Mon Sep 17 00:00:00 2001 From: David Date: Sat, 16 Dec 2023 20:52:23 +0100 Subject: [PATCH] New provider from DNSControl: Mythic Beasts --- providers/MythicBeastsAPI.png | Bin 0 -> 11113 bytes providers/mythicbeasts.go | 65 ++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 providers/MythicBeastsAPI.png create mode 100644 providers/mythicbeasts.go diff --git a/providers/MythicBeastsAPI.png b/providers/MythicBeastsAPI.png new file mode 100644 index 0000000000000000000000000000000000000000..a679ac805c670f49dcdea78242b1817171517292 GIT binary patch literal 11113 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 literal 0 HcmV?d00001 diff --git a/providers/mythicbeasts.go b/providers/mythicbeasts.go new file mode 100644 index 0000000..84c33d5 --- /dev/null +++ b/providers/mythicbeasts.go @@ -0,0 +1,65 @@ +// Copyright or © or Copr. happyDNS (2021) +// +// contact@happydomain.org +// +// This software is a computer program whose purpose is to provide a modern +// interface to interact with DNS systems. +// +// This software is governed by the CeCILL license under French law and abiding +// by the rules of distribution of free software. You can use, modify and/or +// redistribute the software under the terms of the CeCILL license as +// circulated by CEA, CNRS and INRIA at the following URL +// "http://www.cecill.info". +// +// As a counterpart to the access to the provider code and rights to copy, modify +// and redistribute granted by the license, users are provided only with a +// limited warranty and the software's author, the holder of the economic +// rights, and the successive licensors have only limited liability. +// +// In this respect, the user's attention is drawn to the risks associated with +// loading, using, modifying and/or developing or reproducing the software by +// the user in light of its specific status of free software, that may mean +// that it is complicated to manipulate, and that also therefore means that it +// is reserved for developers and experienced professionals having in-depth +// computer knowledge. Users are therefore encouraged to load and test the +// software's suitability as regards their requirements in conditions enabling +// the security of their systems and/or data to be ensured and, more generally, +// to use and operate it in the same conditions as regards security. +// +// The fact that you are presently reading this means that you have had +// knowledge of the CeCILL license and that you accept its terms. + +package providers // import "git.happydns.org/happyDomain/providers" + +import ( + "github.com/StackExchange/dnscontrol/v4/providers" + _ "github.com/StackExchange/dnscontrol/v4/providers/mythicbeasts" + + "git.happydns.org/happyDomain/model" +) + +type MythicBeastsAPI struct { + KeyID string `json:"keyID,omitempty" happydomain:"label=API key ID,placeholder=xxxxxxxx,required,description=Your API key ID."` + Secret string `json:"secret,omitempty" happydomain:"label=Secret,placeholder=xxxxxxxx,required,description=Your API secret."` +} + +func (s *MythicBeastsAPI) NewDNSServiceProvider() (providers.DNSServiceProvider, error) { + config := map[string]string{ + "keyID": s.KeyID, + "secret": s.Secret, + } + return providers.CreateDNSProvider(s.DNSControlName(), config, nil) +} + +func (s *MythicBeastsAPI) DNSControlName() string { + return "MYTHICBEASTS" +} + +func init() { + RegisterProvider(func() happydns.Provider { + return &MythicBeastsAPI{} + }, ProviderInfos{ + Name: "Mythic Beasts", + Description: "UK-based internet infrastructure company specializing in domain registration, web hosting, and virtual & dedicated servers.", + }) +}