Hi Michael,

I had submitted a PR (https://github.com/ansible/ansible/pull/9602) -- I'll
see if I can get that merged soon.


On Mon, Jan 26, 2015 at 2:47 PM, Michael Perzel <[email protected]>
wrote:

> I ended up creating a new filter that could transform
>
>
> installArguments:
>
>       key: value
>
>       key2: value2
>
> and return “@{'key2'='value2';'key'='value';}” I can share if anyone is
> interested.
>
> I just upgraded to ansible 1.8 and made your fix to powershell.py and
> winrm.py manually again. Is there any target version to get this into the
> main branch? I poked around in github but couldn't find way to see if you
> had submitted a pull request for this.
>
>
> On Thursday, November 6, 2014 at 5:26:49 PM UTC-6, Chris Church wrote:
>>
>> Absolutely, just haven't had a chance to get back to Windows-related
>> things this week.
>>
>> On Thu, Nov 6, 2014 at 4:37 PM, Michael Perzel <[email protected]>
>> wrote:
>>
>>> Are you going to submit a pull request for this into devel? It
>>> definitely solved my issue.
>>>
>>> On Saturday, October 25, 2014 2:23:55 PM UTC-5, Chris Church wrote:
>>>>
>>>> Could you create a gist (https://gist.github.com/) with the relevant
>>>> lines from your inventory variables, playbook and script (removing any
>>>> sensitive information)?  I'm not quite able to piece together a full
>>>> example of what you're running from the email thread.
>>>>
>>>> My branch is based on devel; I just created another branch based on
>>>> 1.7.2 with the splatting changes applied: https://github.com/cc
>>>> hurch/ansible/tree/powershell_splatting_v172
>>>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fcchurch%2Fansible%2Ftree%2Fpowershell_splatting_v172&sa=D&sntz=1&usg=AFQjCNELYa0RJWKIxEmXb2bqZVp5y1NogA>
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Oct 24, 2014 at 6:12 PM, Michael Perzel <[email protected]>
>>>> wrote:
>>>>
>>>>> I tried taking your changes but it failed with:
>>>>> <Objs Version="1.1.0.1" xmlns="http://schemas.microsof
>>>>> t.com/powershell/2004/04"><S S="Error">C:\Users\ansible\App
>>>>> Data\Local\Temp\ansible-tmp-1414187414.25-97343749557638\de_x000D__x000A_</S><S
>>>>> S="Error">ployLauncher.ps1 : A positional parameter cannot be found that
>>>>> accepts _x000D__x000A_</S><S S="Error">argument
>>>>> 'False'._x000D__x000A_</S><S S="Error">At line:1 
>>>>> char:1_x000D__x000A_</S><S
>>>>> S="Error">+ &amp; _x000D__x000A_</S><S S="Error">C:\Users\ansible\App
>>>>> Data\Local\Temp\ansible-tmp-1414187414.25-97343749557638\\
>>>>> _x000D__x000A_</S><S S="Error">..._x000D__x000A_</S><S S="Error">+
>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>> ~~~~~~~~~~~~~~~~~_x000D__x000A_</S><S S="Error">~~~_x000D__x000A_</S><S
>>>>> S="Error"> + CategoryInfo : InvalidArgument: (:) [deployLauncher.ps1],
>>>>> Param _x000D__x000A_</S><S S="Error"> 
>>>>> eterBindingException_x000D__x000A_</S><S
>>>>> S="Error"> + FullyQualifiedErrorId : PositionalParameterNotFound,de
>>>>> ployLauncher.ps1_x000D__x000A_</S><S S="Error">
>>>>> _x000D__x000A_</S></Objs>
>>>>>
>>>>> Looking at the diff between your code and mine there's a few other
>>>>> differences. I'm running 1.7.2,  I assume your branched off something
>>>>> newer.I'll see if I can sort through the issue.
>>>>>
>>>>> Thanks
>>>>>
>>>>> On Friday, October 24, 2014 3:52:39 PM UTC-5, Michael Perzel wrote:
>>>>>>
>>>>>> Your idea with jinja filter is what I originally tried to get
>>>>>> working. I never managed it but I think its the ideal solution 
>>>>>> (converting
>>>>>> yaml hash to a powershell one).
>>>>>>
>>>>>> If I follow your patch you added a parameter that controls whether or
>>>>>> not arguments get quoted (and set it to false for powershell scripts)? 
>>>>>> I'm
>>>>>> not particularly worried about nefarious activity within our system so 
>>>>>> this
>>>>>> could work for us.
>>>>>>
>>>>>> On Friday, October 24, 2014 12:52:52 AM UTC-5, Chris Church wrote:
>>>>>>>
>>>>>>> That method of passing arguments is apparently called "splatting" (
>>>>>>> http://technet.microsoft.com/en-us/magazine/gg675931.aspx).
>>>>>>>
>>>>>>> I have a branch where I've been able to get it working:
>>>>>>>
>>>>>>> https://github.com/cchurch/ansible/tree/powershell_splatting
>>>>>>>
>>>>>>>
>>>>>>> I've also added integration tests to show examples of it in use:
>>>>>>>
>>>>>>> https://github.com/cchurch/ansible/blob/powershell_splatting
>>>>>>> /test/integration/roles/test_win_script/tasks/main.yml#L50
>>>>>>>
>>>>>>>
>>>>>>> I also considered the idea of a Jinja2 filter to convert a YAML/JSON
>>>>>>> data structure to this format to allow for defining your arguments as 
>>>>>>> you
>>>>>>> would any other variables:
>>>>>>>
>>>>>>> build_args:
>>>>>>>
>>>>>>>   key1: value1
>>>>>>>
>>>>>>>   key2: value2
>>>>>>>
>>>>>>>
>>>>>>> You could then run your task as:
>>>>>>>
>>>>>>> script: dostuff.ps1 {{ build_args|splattify }}
>>>>>>>
>>>>>>>
>>>>>>> Would you (or any other Windows users) be interested in this
>>>>>>> approach?
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Oct 22, 2014 at 10:28 AM, Michael Perzel <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> I'll look into this. My work around thus far is using a template
>>>>>>>> for my deploy script. Instead of passing the deploy script arguments, I
>>>>>>>> just assign them at the top:
>>>>>>>>
>>>>>>>> $build = {{ build }}
>>>>>>>> $pass = {{ password }}
>>>>>>>> $arguments = @{ {{ arguments }} }
>>>>>>>>
>>>>>>>> This then becomes:
>>>>>>>>
>>>>>>>> $build = 42
>>>>>>>> $pass = password
>>>>>>>> $arguments = @{ key1=value1; key2= value2 }
>>>>>>>>
>>>>>>>> Using the template has given me complete control over the syntax.
>>>>>>>> In our paradigm we have an entirely generic "deploy" powershell script 
>>>>>>>> that
>>>>>>>> stages files, unzips them and similar things. It then calls an 
>>>>>>>> "install"
>>>>>>>> script that handles all the app specific items. The install scripts are
>>>>>>>> bundled with the specific app.
>>>>>>>>
>>>>>>>> On Wednesday, October 22, 2014 8:38:11 AM UTC-5, J Hawkesworth
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> I don't have a direct answer for this - rightly or wrongly the ps1
>>>>>>>>>> scripts I have so far don't take any arguments - I consider them to 
>>>>>>>>>> be
>>>>>>>>>> specific to my roles and at the moment they embed some details that 
>>>>>>>>>> it
>>>>>>>>>> would probably be best to have as parameters.  However, it looks to 
>>>>>>>>>> me like
>>>>>>>>>> your deployLauncher.ps1 really wants to be a very general purpose
>>>>>>>>>> deployment tool and maybe it would be better off as an ansible 
>>>>>>>>>> module.
>>>>>>>>>> That way you could perhaps take advantage of ansible's existing 
>>>>>>>>>> syntax for
>>>>>>>>>> specifying module arguments.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> As an aside I believe @Trond Hindenes has a win_package module in
>>>>>>>>> the works which might do some of what you want.
>>>>>>>>>
>>>>>>>>  --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Ansible Project" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to [email protected].
>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/d/msgid/ansible-project/388179f6-4
>>>>>>>> 48e-44e7-967f-94e400dc4514%40googlegroups.com
>>>>>>>> <https://groups.google.com/d/msgid/ansible-project/388179f6-448e-44e7-967f-94e400dc4514%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Ansible Project" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>>> msgid/ansible-project/ba6b122a-1fa5-48c6-9b1d-a8a2f67083ef%
>>>>> 40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/ansible-project/ba6b122a-1fa5-48c6-9b1d-a8a2f67083ef%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Ansible Project" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> To view this discussion on the web visit https://groups.google.com/d/
>>> msgid/ansible-project/118759f9-df6f-4805-886d-
>>> 00a250457019%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ansible-project/118759f9-df6f-4805-886d-00a250457019%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/35495c72-0da0-42f9-b854-4ab8f049ccdd%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/35495c72-0da0-42f9-b854-4ab8f049ccdd%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAH%2BKTJ59PV-a2n4RuQA-Gp0PZ%3D01bmpSX5d%3DW0GahmMkM5F4Fw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to