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);
            }
        }
Example #2
0
        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
            }));
        }