public async override Task <DscConfiguration> CollectConfigAsync(IOperationCollectionContext context) { var job = new CollectDscModulesJob { DebugLogging = true }; job.MessageLogged += (s, e) => this.Log(e.Level, e.Message); var jobExecuter = await context.Agent.GetServiceAsync <IRemoteJobExecuter>(); var result = (CollectDscModulesJob.Result) await jobExecuter.ExecuteJobAsync(job, context.CancellationToken); using (var serverContext = context.GetServerCollectionContext()) { await serverContext.ClearAllPackagesAsync("DSC Module"); foreach (var module in result.Modules) { await serverContext.CreateOrUpdatePackageAsync( packageType : "DSC Module", packageName : module.Name, packageVersion : module.Version, packageUrl : null ); } return(null); } }
protected override async Task <IEnumerable <PackageConfiguration> > CollectPackagesAsync(IOperationCollectionContext context) { using var job = new CollectDscModulesJob { DebugLogging = true }; job.MessageLogged += (s, e) => this.Log(e.Level, e.Message); var jobExecuter = await context.Agent.GetServiceAsync <IRemoteJobExecuter>(); var result = (CollectDscModulesJob.Result) await jobExecuter.ExecuteJobAsync(job, context.CancellationToken); return(result.Modules.Select(i => new DscModuleConfiguration { PackageName = i.Name, PackageVersion = i.Version })); }