summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Plugins/InstallationPlugins/IISWeb/IISWebOptions.cs
blob: ce40eb2fb3ebd31379c4a5e6e2830b47f1eb79a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using PKISharp.WACS.Clients.IIS;
using PKISharp.WACS.Plugins.Base;
using PKISharp.WACS.Plugins.Base.Options;

namespace PKISharp.WACS.Plugins.InstallationPlugins
{
    [Plugin("ea6a5be3-f8de-4d27-a6bd-750b619b2ee2")]
    internal class IISWebOptions : InstallationPluginOptions<IISWeb>
    {
        public long? SiteId { get; set; }
        public string? NewBindingIp { get; set; }
        public int? NewBindingPort { get; set; }

        public override string Name => "IIS";
        public override string Description => "Create or update https bindings in IIS";

        public IISWebOptions() { }
        public IISWebOptions(IISWebArguments args)
        {
            var sslIp = args.SSLIPAddress;
            if (!string.IsNullOrEmpty(sslIp) && sslIp != IISClient.DefaultBindingIp)
            {
                NewBindingIp = sslIp;
            }
            var sslPort = args.SSLPort;
            if (sslPort != IISClient.DefaultBindingPort)
            {
                NewBindingPort = sslPort;
            }
        }
    }
}