summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Plugins/Interfaces/IValidationPluginOptionsFactory.cs
blob: f156632ea84f450d4906c987cfceffd7d4dd013b (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
33
34
35
using PKISharp.WACS.DomainObjects;
using PKISharp.WACS.Plugins.Base.Options;
using PKISharp.WACS.Services;
using System.Threading.Tasks;

namespace PKISharp.WACS.Plugins.Interfaces
{
    public interface IValidationPluginOptionsFactory : IPluginOptionsFactory
    {
        /// <summary>
        /// Type of challenge
        /// </summary>
        string ChallengeType { get; }

        /// <summary>
        /// Check or get information needed for store (interactive)
        /// </summary>
        /// <param name="target"></param>
        Task<ValidationPluginOptions> Aquire(Target target, IInputService inputService, RunLevel runLevel);

        /// <summary>
        /// Check information needed for store (unattended)
        /// </summary>
        /// <param name="target"></param>
        Task<ValidationPluginOptions> Default(Target target);

        /// <summary>
        /// Is the validation option available for a specific target?
        /// Used to rule out HTTP validation for wildcard certificates
        /// </summary>
        /// <param name="target"></param>
        /// <returns></returns>
        bool CanValidate(Target target);
    }
}