Add documentation to setup.py and remove use of $params.fact_path in setup.ps1
This commit is contained in:
parent
132b8e8f51
commit
e4c2cb96ea
2 changed files with 37 additions and 5 deletions
|
@ -54,12 +54,14 @@ notes:
|
|||
install I(facter) and I(ohai) means you can avoid Ruby-dependencies on your
|
||||
remote systems. (See also M(facter) and M(ohai).)
|
||||
- The filter option filters only the first level subkey below ansible_facts.
|
||||
- If the target host is Windows, you will not currently have the ability to use
|
||||
C(fact_path) or C(filter) as this is provided by a simpler implementation of the module.
|
||||
Different facts are returned for Windows hosts.
|
||||
- If the target host is Windows you can now use C(fact_path). Make sure that this path
|
||||
exists on the target host. Files in this path MUST be PowerShell scripts (*.ps1) and
|
||||
their output must be formattable in JSON (Ansible will take care of this). Test the
|
||||
output of your scripts.
|
||||
author:
|
||||
- "Ansible Core Team"
|
||||
- "Michael DeHaan"
|
||||
- "David O'Brien @david_obrien davidobrien1985"
|
||||
'''
|
||||
|
||||
EXAMPLES = """
|
||||
|
@ -74,6 +76,9 @@ ansible all -m setup -a 'filter=facter_*'
|
|||
|
||||
# Display only facts about certain interfaces.
|
||||
ansible all -m setup -a 'filter=ansible_eth[0-2]'
|
||||
|
||||
# Display facts from Windows hosts with custom facts stored in C(C:\\custom_facts).
|
||||
ansible windows -m setup -a "fact_path='c:\\custom_facts'"
|
||||
"""
|
||||
|
||||
|
||||
|
|
|
@ -17,14 +17,41 @@
|
|||
# WANT_JSON
|
||||
# POWERSHELL_COMMON
|
||||
|
||||
# $params is not currently used in this module
|
||||
# $params = Parse-Args $args;
|
||||
# enabled $params (David O'Brien, 06/08/2015)
|
||||
$params = Parse-Args $args;
|
||||
|
||||
|
||||
Function Get-CustomFacts {
|
||||
[cmdletBinding()]
|
||||
param (
|
||||
[Parameter(mandatory=$false)]
|
||||
$factpath = $null
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path $factpath)) {
|
||||
Fail-Json $result "The path $factpath does not exist. Typo?"
|
||||
}
|
||||
|
||||
$FactsFiles = Get-ChildItem -Path $factpath | Where-Object -FilterScript {($PSItem.PSIsContainer -eq $false) -and ($PSItem.Extension -eq '.ps1')}
|
||||
|
||||
foreach ($FactsFile in $FactsFiles) {
|
||||
$out = . $($FactsFile.FullName)
|
||||
Set-Attr $result.ansible_facts "ansible_$(($FactsFile.Name).Split('.')[0])" $out
|
||||
}
|
||||
}
|
||||
|
||||
$result = New-Object psobject @{
|
||||
ansible_facts = New-Object psobject
|
||||
changed = $false
|
||||
};
|
||||
|
||||
# failifempty = $false is default and thus implied
|
||||
$factpath = Get-AnsibleParam -obj $params -name fact_path
|
||||
if ($factpath -ne $null) {
|
||||
# Get any custom facts
|
||||
Get-CustomFacts -factpath $factpath
|
||||
}
|
||||
|
||||
$win32_os = Get-CimInstance Win32_OperatingSystem
|
||||
$win32_cs = Get-CimInstance Win32_ComputerSystem
|
||||
$osversion = [Environment]::OSVersion
|
||||
|
|
Loading…
Reference in a new issue