Certificate/wireless plugins; major refactoring
Migrate much of BI to Services. Added Wireless Profile Provider plugin feature. Added Certificate Authority Provider plugin feature. Modified Certificate Provider plugin feature. Database migration v17, for Device Profiles. Enrolment Client Updated to support CA Certificates, Wireless Profiles and Hardware Info. New Client Enrolment Protocol to support new features. Plugin Manifest Generator added to main solution. Improved AD search performance.
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
using Disco.Models.ClientServices;
|
||||
using Disco.Models.Repository;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Disco.Services.Plugins.Features.WirelessProfileProvider
|
||||
{
|
||||
public class ProvisionWirelessProfilesResult
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="Device"/> associated with the provision result.
|
||||
/// </summary>
|
||||
public Device Device { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="Enrol"/> associated with the provision result.
|
||||
/// </summary>
|
||||
public Enrol Enrolment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A list of wireless profiles to add to the client device.
|
||||
/// If the wireless profile already exists it will be ignored.
|
||||
/// </summary>
|
||||
public List<WirelessProfile> Profiles { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A list of transformations to be applied to existing XML wireless profiles found on the client device.
|
||||
/// </summary>
|
||||
public List<WirelessProfileTransformation> Transformations { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A list of wireless profile names to be removed from the client device.
|
||||
/// </summary>
|
||||
public List<string> RemoveNames { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
|
||||
namespace Disco.Services.Plugins.Features.WirelessProfileProvider
|
||||
{
|
||||
public class WirelessProfile
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// The name of the wireless profile, typically the SSID
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The guid of the associated interface. Null to deploy to all supported interfaces.
|
||||
/// </summary>
|
||||
public Guid? InterfaceGuid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates the profile should be overwritten even if it already exists
|
||||
/// </summary>
|
||||
public bool ForceDeployment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The wireless profile XML definition
|
||||
/// </summary>
|
||||
public string ProfileXml { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
using Disco.Data.Repository;
|
||||
using Disco.Models.ClientServices;
|
||||
using Disco.Models.Repository;
|
||||
|
||||
namespace Disco.Services.Plugins.Features.WirelessProfileProvider
|
||||
{
|
||||
[PluginFeatureCategory(DisplayName = "Wireless Profile Providers")]
|
||||
public abstract class WirelessProfileProviderFeature : PluginFeature
|
||||
{
|
||||
|
||||
public abstract string WirelessProfileProviderId { get; }
|
||||
|
||||
public abstract ProvisionWirelessProfilesResult ProvisionWirelessProfiles(DiscoDataContext Database, Device Device, Enrol Enrolment);
|
||||
|
||||
}
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
namespace Disco.Services.Plugins.Features.WirelessProfileProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// A transform to be applied to the matching <see cref="Name"/>.
|
||||
/// </summary>
|
||||
public class WirelessProfileTransformation
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// The name of the wireless profile related to this transformation, typically the SSID
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The regular expression to evaluate against the wireless profile XML
|
||||
/// </summary>
|
||||
public string RegularExpression { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The replacement string used when evaluating the regular expression
|
||||
/// </summary>
|
||||
public string RegularExpressionReplacement { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user