Right, I don't think you can "import" a powershell script into a ruby script (at all, in any situation), but you can call the script directly from the ruby script with something like: $result = `powershell.exe ../../testfile.ps1`
Having the file in your environment is mostly useful for being able to load it through Puppetserver and being able to reference it by `module/name`, but when PE goes to run the task it will upload it to the remote machine to a temporary directory to execute it. By specifying the file in your task metadata, PE will *also* upload the required file alongside the task file so it's in a predictable location and can be used on the remote system. On Thu, Oct 22, 2020 at 9:19 AM Vinay Korrapati <[email protected]> wrote: > Hi Lucy, > > Thanks for your response. > > I already tried and faced the below issue while loading the file. > > `require_relative': cannot load such file -- > /opt/puppetlabs/pxp-agent/spool/98/temp_task_5881-56e6-b035-6d66/files/testfile.ps1 > > > Its pointing the different path than the expected one : > etc/puppetlabs/code/environment/<env name>/modules/<modulename>/files > > Thanks & Regards > Cordially, > > VINAYABABU KORRAPATI > +91-9703333781 > [email protected] > > > > On Thu, Oct 22, 2020 at 8:07 PM [email protected] <[email protected]> wrote: > >> Hi! >> >> You'll want to specify the .ps1 file as a 'file' in your task metadata, >> and then can refer to it relative to the task itself as ../../file.ps1 from >> your ruby task. This doc >> (https://puppet.com/docs/pe/2019.8/writing_tasks.html#sharing_task_code) >> <https://puppet.com/docs/pe/2019.8/writing_tasks.html#sharing_task_code> >> explains it a bit better. >> >> On Thursday, October 22, 2020 at 1:09:24 AM UTC-7 [email protected] >> wrote: >> >>> Hi Team, >>> >>> I have a ruby task which calls a .ps1 file on puppet master. As a part >>> of calling the puppet file i need to define the file path in ruby task. >>> >>> >>> file_path = "/etc/puppetlabs/code/environments/<env >>> name>/modules/<module name>/files/<file name>.ps1" >>> script_params = "<parameters>" >>> >>> # execution of the script >>> >>> cmd_output = `/opt/microsoft/powershell/7/pwsh -NonInteractive -File >>> #{file_path} #{script_params}` >>> >>> Can someone please suggest how to replace the file_path with relative >>> paths in ruby task? >>> >>> Regards >>> Vinay >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/puppet-users/d0a40520-bea2-4aa4-954e-132bbb73affcn%40googlegroups.com >> <https://groups.google.com/d/msgid/puppet-users/d0a40520-bea2-4aa4-954e-132bbb73affcn%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to a topic in the > Google Groups "Puppet Users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/puppet-users/Tiq9RKG0z1A/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/CAD5yi9o92qXitarAUNRpP%2BQfnC0SPZji0rKnt6p8SVhnCEw2cQ%40mail.gmail.com > <https://groups.google.com/d/msgid/puppet-users/CAD5yi9o92qXitarAUNRpP%2BQfnC0SPZji0rKnt6p8SVhnCEw2cQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAEoeGiJ5S8MzB_ekJcw6e3c8GciFWRtdj-a4%2BGyMyO8p48Mo3w%40mail.gmail.com.
