public IIS( ILogService logService, IUserRoleService roleService, IISHelper helper, IISOptions options) { _log = logService; _options = options; _helper = helper; _userRoleService = roleService; }
public void ConvertTarget(LegacyScheduledRenewal legacy, Renewal ret) { if (legacy.Binding == null) { throw new Exception("Cannot convert renewal with empty binding"); } if (string.IsNullOrEmpty(legacy.Binding.TargetPluginName)) { legacy.Binding.TargetPluginName = legacy.Binding.PluginName switch { "IIS" => legacy.Binding.HostIsDns == false ? "IISSite" : "IISBinding", "IISSiteServer" => "IISSites", _ => "Manual", }; } switch (legacy.Binding.TargetPluginName.ToLower()) { case "iisbinding": var options = new target.IISOptions(); if (!string.IsNullOrEmpty(legacy.Binding.Host)) { options.IncludeHosts = new List <string>() { legacy.Binding.Host }; } var siteId = legacy.Binding.TargetSiteId ?? legacy.Binding.SiteId ?? 0; if (siteId > 0) { options.IncludeSiteIds = new List <long>() { siteId }; } ret.TargetPluginOptions = options; break; case "iissite": options = new target.IISOptions(); if (!string.IsNullOrEmpty(legacy.Binding.CommonName)) { options.CommonName = legacy.Binding.CommonName.ConvertPunycode(); } siteId = legacy.Binding.TargetSiteId ?? legacy.Binding.SiteId ?? 0; if (siteId > 0) { options.IncludeSiteIds = new List <long>() { siteId }; } options.ExcludeHosts = legacy.Binding.ExcludeBindings.ParseCsv(); ret.TargetPluginOptions = options; break; case "iissites": options = new target.IISOptions(); if (!string.IsNullOrEmpty(legacy.Binding.CommonName)) { options.CommonName = legacy.Binding.CommonName.ConvertPunycode(); } options.IncludeSiteIds = legacy.Binding.Host.ParseCsv().Select(x => long.Parse(x)).ToList(); options.ExcludeHosts = legacy.Binding.ExcludeBindings.ParseCsv(); ret.TargetPluginOptions = options; break; case "manual": ret.TargetPluginOptions = new target.ManualOptions() { CommonName = string.IsNullOrEmpty(legacy.Binding.CommonName) ? legacy.Binding.Host : legacy.Binding.CommonName.ConvertPunycode(), AlternativeNames = legacy.Binding.AlternativeNames.Select(x => x.ConvertPunycode()).ToList() }; break; } }