The behaviour of the fact names is hard coded, it cannot change without breaking others who use 'fact_path' on Windows. If you desire a custom fact layout then you should create your own fact PowerShell module and run that.
On Friday, September 18, 2020 at 4:52:04 PM UTC+10 [email protected] wrote: > my output missed out the new variableoutput, this is it: > > "ansible_local": { > "AVAIL_ZONE": "eu-west-3a", > "Callout": "6-8", > * "Instance_type": "t2.micro", <-- variable output* > "REGION": "eu-west-3", > "Support_Team": "Win_Team", > "cloud": "AWS", > "environment": "DIT", > "my_custom_fact": "value" > }, > > > On Friday, 18 September 2020 at 07:30:47 UTC+1 [email protected] wrote: > >> Hi, yes this works: >> >> Thanks! this was just what I was looking for. >> >> I made some updates and added command output to a variable which was very >> helpful. I'll add the rest in later: >> >> *$InstanceType = $(Invoke-RestMethod -uri >> http://169.254.169.254/latest/meta-data/instance-type >> <http://169.254.169.254/latest/meta-data/instance-type>)* >> @{ >> cloud = 'AWS' >> *Instance_type = $InstanceType* >> AVAIL_ZONE = 'eu-west-3a' >> REGION = 'eu-west-3' >> environment = 'DIT' >> Support_Team = 'Win_Team' >> Callout = '6-8' >> my_custom_fact = 'value' >> } >> >> Which gave this output in setup: >> >> "ansible_local": { >> "AVAIL_ZONE": "eu-west-3a", >> "Callout": "6-8", >> "REGION": "eu-west-3", >> "Support_Team": "Win_Team", >> "cloud": "t2.micro", >> "environment": "DIT", >> "my_custom_fact": "value" >> }, >> >> One last question, is it possible to make it look like this like it does >> on Linux (adding the filename and the [title] block)?: >> >> "ansible_local": { >> * "local": {* >> * "local_facts": {* >> "ami_id": "ami-0701e7be9b2a77600", >> "avail_zone": "eu-west-1b", >> "region": "eu-west-1", >> "callout": "24-7", >> "environment": "Production", >> "instance_type": "t2.micro", >> "support_team": "Hadoopi_Team", >> "cloud": "AWS" >> * }* >> * }* >> }, >> >> I tried to add in additional lines but it didn't like it and I'm pretty >> sure it's a simple fix. >> >> Thanks again. >> >> On Thursday, 17 September 2020 at 21:23:15 UTC+1 [email protected] wrote: >> >>> A further FYI, do not include the | ConvertTo-Json part, just output the >>> hashtable or array directory, the issue has been updated with more >>> information as to why that is. >>> >>> On Thursday, September 17, 2020 at 9:01:23 PM UTC+10 [email protected] >>> wrote: >>> >>>> Just an FYI there may be a bug with fact_path that I've opened >>>> https://github.com/ansible-collections/ansible.windows/issues/106. I'm >>>> not sure if this bug can be easily fixed so stay tuned to that. Another >>>> option if you have custom facts is to create your own fact module. They >>>> are >>>> quite simple to do as well. >>>> On Thursday, September 17, 2020 at 8:50:48 PM UTC+10 [email protected] >>>> wrote: >>>> >>>>> Just try it out and see for yourself. I have placed the following >>>>> script at C:\Windows\TEMP\facts\my_facts.ps1 with the contents >>>>> >>>>> @{ >>>>> my_custom_fact = 'value' >>>>> my_complex_custom_fact = @{ >>>>> hello = 'world' >>>>> } >>>>> } | ConvertTo-Json -Compress >>>>> >>>>> This script converts a PowerShell hashtable (like a dictionary) to a >>>>> JSON and outputs it for the setup module to collect. >>>>> >>>>> Then run 'ansible windows -m setup -a fact_path=C:/Windows/TEMP/facts' >>>>> and look at the output. >>>>> >>>>> >>>>> >>>>> On Thursday, September 17, 2020 at 4:35:37 PM UTC+10 [email protected] >>>>> wrote: >>>>> >>>>>> Can anyone point me in the direction of how to setup custom/local >>>>>> facts on Windows please? not just use fact_path... >>>>>> >>>>>> Reading the docs I've found so far, it looks like you can't just have >>>>>> a file with key:value like Linux under the heading [local_facts] for >>>>>> example (unless you can? but setup doesn't pick up the values when i run >>>>>> ansible setup against the windows host). The docs/google suggest you >>>>>> need >>>>>> to add .ps1 scripts to a directory (fact_path DIR) and then get JSON >>>>>> output >>>>>> of the facts you want to know about. >>>>>> >>>>>> That sounds ok as it's similar to creating a dynamic inventory, but >>>>>> can anyone share what the output looks like? Better yet, if anyone knows >>>>>> where a document is that explains this process that would be great. >>>>>> >>>>>> Thanks for your help! >>>>>> >>>>> -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/879bfbf5-8b1e-4ba3-a550-c12e1dabfbbcn%40googlegroups.com.
