private CommandResponse AfterMove(Service service) { if (_configuration.AfterServiceMoveAction == AfterServiceAction.DoNothing) { return(new CommandResponse(Globals.ModuleId, "Doing nothing.", ReturnStatus.SafeError)); } var domainName = Globals.DomainParser.Get(service.Variables["SD-FullSubDomain"].ToString()); var dnsProvider = new DnsProviderType(int.Parse(service.Variables["SD-DnsProvider"].ToString())) .DnsProvider; var zoneExists = dnsProvider.ZoneExists(domainName.RegistrableDomain, ZoneSearchType.Name); if (!zoneExists) { return(new CommandResponse(Globals.ModuleId, "Zone does not exist", ReturnStatus.SafeError)); } var dnsZone = dnsProvider.GetZone(domainName.RegistrableDomain, ZoneSearchType.Name); switch (_configuration.AfterServiceMoveAction) { case AfterServiceAction.DeleteSubDomain: SubdomainHelper.DeleteSubdomainForService(dnsProvider, service); break; case AfterServiceAction.SetSubDomainToNewIpAddress: SubdomainHelper.DeleteSubdomainForService(dnsProvider, service); SubdomainHelper.CreateSubdomainForService(dnsProvider, service, domainName.SubDomain, dnsZone.Id); break; } return(new CommandResponse(Globals.ModuleId, "Successfully reset subdomain", ReturnStatus.Ok)); }
public static List <DropDownListItem> GetBaseDomains() { return((from dnsProvider in DnsProviderType.GetDnsProviders() let config = dnsProvider.DnsProviderType.DnsProviderConfiguration where config.Enabled from selectListItem in dnsProvider.GetAllowedZones() select new DropDownListItem { Selected = false, Text = selectListItem.Text, Value = selectListItem.Value }).ToList()); }
public ActionResult Delete(int id) { var service = new Service(id); try { if (!service.Variables.HasValueAndSet("SD-FullSubDomain") || !service.Variables.HasValueAndSet("SD-DnsProvider")) { return(this.SendError($"{service.GameShortNameAndConnectionInfo} does not have a subdomain set.")); } var domain = Globals.DomainParser.Get(service.Variables["SD-FullSubDomain"].ToString()); var dnsProvider = new DnsProviderType(int.Parse(service.Variables["SD-DnsProvider"].ToString())).DnsProvider; SubdomainHelper.DeleteSubdomainForService(dnsProvider, service); return(this.SendSuccess($"Successfully deleted <strong>{domain.Hostname}</strong> subdomain.")); } catch (SubdomainException subdomainException) { return(this.SendException(subdomainException)); } catch (Exception exception) { return(this.SendException(exception)); } }
public CloudFlareProvider() { var config = new DnsProviderType(1).Configuration.Parse <CloudFlareConfiguration>(); _cloudFlareContext = Cloudflare.WithToken(config.Token); }