public HasReadDataSource.Result <DscResDataSource> Read(
            HasReadDataSource.Input <DscResDataSource> input)
        {
            var result = new HasReadDataSource.Result <DscResDataSource>();

            result.State = (DscResDataSource)DscResReadConfig(result, input.Config);

            return(result);
        }
        public HasReadDataSource.Result <GetDataSource> Read(
            HasReadDataSource.Input <GetDataSource> input)
        {
            var result = new HasReadDataSource.Result <GetDataSource>();

            LogInput(input);

            // Copy over all the input values
            result.State = input.Config;

            // Computed for now...
            result.State.Value = $"[{input.Config.Name.ToUpper()}] ({System.IO.Directory.GetCurrentDirectory()})";

            LogResult(result);

            return(result);
        }
Exemple #3
0
        public HasReadDataSource.Result <ScriptDataSource> Read(HasReadDataSource.Input <ScriptDataSource> input)
        {
            var result = new HasReadDataSource.Result <ScriptDataSource>();

            LogInput(input);

            // using (var ps = _ps.CreateNestedPowerShell())
            using (var ps = PowerShell.Create())
            {
                var ctx = new ScriptContext(input.Config.Inputs);
                ps.Runspace.SessionStateProxy.SetVariable("context", ctx);

                var values = ps.AddScript(input.Config.Script).Invoke();
                result.State         = input.Config;
                result.State.Outputs = ctx.Outputs;
            }

            LogResult(result);

            return(result);
        }