public override IHandlerRuntime Initialize(string config)
 {
     //deserialize the Config from the Handler declaration
     this.config = DeserializeOrNew <ActiveDirectoryHandlerConfig>(config);
     if (handlerConfig == null)
     {
         this.handlerConfig = HandlerConfig.DeserializeOrNew();
         this.roleManager   = AssemblyLoader.Load <IRoleManager>(handlerConfig.RoleManager.Name, @"Synapse.ActiveDirectory.Core:DefaultRoleManager");
         this.roleManager.Initialize(handlerConfig?.RoleManager?.Config);
     }
     return(this);
 }
    public override object GetConfigInstance()
    {
        ActiveDirectoryHandlerConfig config = new ActiveDirectoryHandlerConfig();

        config.Action                 = ActionType.Get;
        config.RunSequential          = false;
        config.ReturnGroupMembership  = true;
        config.ReturnAccessRules      = true;
        config.ReturnObjectProperties = true;
        config.ReturnObjects          = true;
        config.SuppressOutput         = false;
        config.UseUpsert              = true;
        config.OutputType             = SerializationFormat.Yaml;
        config.PrettyPrint            = true;

        return(config);
    }