Commit Graph

731 Commits (6380a6c1dffd7f82b94a3bfe301bbd7610bb0e24)

Author SHA1 Message Date
Daniel-Sanchez-Fabregas 570da1bae6 Support cross-domain on win_domain_computer module (#54774)
* Support cross-domain on win_domain_computer module

* Fix documentation false typo 'seealso'
2019-04-04 07:28:05 +10:00
Twenix83 2b423a3829 Corrected spelling mistake (#54775)
Corrected spelling mistake
2019-04-04 07:22:45 +10:00
Christian Alexander 688409128a docs(lineinfile): fix typo inserbefore -> insertbefore (#54788) 2019-04-03 12:21:34 -05:00
Jordan Borean c40f41d519
win_credential - fix encoding for text based secrets (#54695)
* win_credential - fix encoding for text based secrets

* Fix py2 encoding issues
2019-04-02 09:29:05 +10:00
Micah Hunsberger 26d9341891 Add new windows module: win_hosts (#46450)
* Add win_hosts module

added win_hosts module for easier manipulation of hosts entries in "%windir%\system32\drivers\etc\hosts" for windows systems

* Update win_hosts.py

* Add alias support to win_hosts module (#1)

* win_hosts supports aliases

added support for adding / removing aliases from a host entry, rather than adding a new entry

added ability for win_hosts to detect aliases:
`192.168.1.1 alias1 alias2 alias3`
```
win_hosts:
  host_name: alias2
  ip_address: 192.168.1.1
```
will result in `192.168.1.1 alias1 alias3`

also includes `replace` and `add` as options for `ip_action` (`replace` is default)

for example:
```
192.168.1.1 my_reused_alias
192.168.1.2 my_reused_alias
```
with
```
win_hosts:
  host_name: my_reused_alias
  ip_address: 192.168.1.3
  ip_action: add
```
the result will be
```
192.168.1.1 my_reused_alias
192.168.1.2 my_reused_alias
```
but with `ip_action=replace` the result would be
```
192.168.1.3 my_reused_alias
```

* fixed metadata version and version added

* fix line endings

* upload fixed line endings

try to upload the file with the fixed line endings

* aliases and canonical names are separate entities. added IPv4 and IPv6 validation

* only makes changes if "check_mode" is false

* improved behavior for duplicate aliases/entries.

* adding tests

* missing aliases file

* fix trailing whitespace and uses explicit paths

* Tweak tests to copy and restore original hosts file
2019-04-01 06:54:05 +10:00
Kevin Subileau 09979e899f win_nssm: refactor to fix issues, support check mode and add more features (#45693)
* win_nssm: rename cmdlets to use approved verbs, rename service name parameters

* win_nssm: improve code style and cmdlets ordering

* win_nssm: always escape all command line parameters with Argv-ToString

fix error when the service name contains quotes

* win_nssm: use Fail-Json instead of exceptions and remove global try/catch

* win_nssm: small refactoring, inline some functions

* win_nssm: refactoring - add a generic cmdlet to idempotently set any nssm service parameter

* win_nssm: refactoring - inline some functions

To make the code more malleable for future changes

* win_nssm: change application, stdout_file and stderr_file options type to path

* win_nssm: deprecates app_parameters, rename app_parameters_free_form to arguments, and add support for list of parameters

* win_nssm: add support of check mode

* win_nssm: add working_directory option

* win_nssm: add display_name and description options

* win_nssm: minor changes

* win_nssm: remove some sanity exclusions

* win_nssm: avoid using aliases and minor style fixes

* win_nssm: doc and ui improvements

* win_nssm: remove sanity exclusions

* win_nssm: minor revision

* win_nssm: deprecates dependencies, start_mode, user and password parameters and some choices of state in favor of win_service

* win_nssm: fix style

* win_nssm: add executable option to specify the location of the NSSM utility

* win_nssm: add missing parameter types

* win_nssm: add diff mode support

* win_nssm: avoid displaying depreciation warning if default value is assigned

* win_nssm: fix variable scope

* win_nssm: use the explicit -LiteralPath parameter name instead of -Path

* win_nssm: fix documentation

* win_nssm: add porting guide entries

* win_nssm: add changelog fragment
2019-04-01 05:56:48 +10:00
Slava Maslennikov 85d836171b Add a force_replace_host flag to win_domain_membership (#53542)
* Add a force_replace_host flag to win_domain_membership

Satisfies https://github.com/ansible/ansible/issues/53539

* Rework backticks

* Bump version_added

* Check for existence of current hostname as well; use LDAPFilter during search

* Rename $force_replace_host to $allow_existing_computer_account

* Added docs, porting guide and minor nit in code
2019-03-28 14:36:26 +10:00
Jordan Borean e2d2874d81
win_user_right - fix non json output issue (#54495) 2019-03-28 12:30:20 +10:00
Blue b62ab97685 win_shell: Implement option 'profile', allowing the user to control p… (#54299)
* win_shell: Implement option 'profile', allowing the user to control powershell profile sourcing before running a command

* Set version_added to 2.8

* Make sure profile directory exists before writing profile file

* Changes to make tests immutable and align with ps args
2019-03-28 11:28:28 +10:00
Jordan Borean 9e93a84429
win_optional_feature - support multiple feature in name (#54368) 2019-03-28 05:26:20 +10:00
Jordan Borean 1034b892df
win_acl - remove test return values 2019-03-27 10:01:31 +10:00
Jordan Borean 10f006036c
win_acl - fix support for registry paths (#54427) 2019-03-27 09:52:39 +10:00
Jordan Borean c8eeca7815
win_regedit - fix typo in HKU path selector 2019-03-27 06:30:05 +10:00
Jordan Borean c291d04bd5
win_environment: remove uneeded required_by entry in spec (#54369) 2019-03-26 09:52:03 +10:00
Carson Anderson 31ceba7fd8 Windows module: win_optional_feature for Windows workstations (#53709)
* initial commit

* fix execute and \r\n

* \r attempt 2

* updated with integration tests and using new csharp import

* Apply suggestions from code review

Co-Authored-By: rcanderson23 <rcanderson23@gmail.com>

* fixed small docuement inaccuracies wrt returns

* removal of state in feature result

* removal of rc

* small fixes suggested in code review

* fixed variable assigning to result

* addition of comments on conditionals for clarity on matching

* swap logic of check_mode

* set $reboot_required so it is always returned

* removal of extraneous return information

* addition of integration tests

* set installation of parent features to true

* remove 2008 from tests

* changed test for TelnetClient from NetFx3

* change of tabs to spaces

* Add test check for OS version
2019-03-20 12:13:06 +10:00
John Nelson 38346d0337 win_dns_record (#51925)
* win_dns: Initial work

* win_dns: initial commit

* Renaming win_dns -> win_dns_record

* win_dns_record: Fix record leakage in output

* win_dns_record: Fix erroneous minimums enforcement

It is apparently completely legitimate to specify a TTL that is below
minimum; it will just get ignored in favor of the server's minimum.

* win_dns_record: Fix new-host changes reported incorrectly

* win_dns_record: Fix TTL changes reported incorrectly

* win_dns_record: Fix existing records not recognized

* win_dns_record: Remove obsolete object

* Refactorize check mode

* Add computer_name parameter

* Refactorize diff and changed to read DNS end state

* Fix pslint tests PSUseDeclaredVarsMoreThanAssignments and PSAvoidUsingCmdletAliases

* Minor fix, misnamed variable.

* win_dns_record: Fix "changed" state in check mode

* win_dns_record: cleanups

* win_dns_record: fix TTL update not changed regression

* Add initial integration tests

* win_dns_record: integration tests

* win_dns_record: Reverted 9cf5f2d8e6507cf477ab9e7ca166b1857169d6b5

The approach from that commit breaks check mode.

* win_dns_record: de-scope some records

These are either esoteric (meaning limited realworld testing)
or require additional thought to do properly (eg MX, which
has its "priority" level).

* win_dns_records tests: Ensure DNS services are installed

* Update lib/ansible/modules/windows/win_dns_record.py

Co-Authored-By: johnboy2

* Update lib/ansible/modules/windows/win_dns_record.py

Co-Authored-By: johnboy2

* Aggregated suggestions from dagwieers

* Fix bad powershell test argument

* win_dns_record partially converted to new Powershell module interface

win_dns_record converted to new Powershell module interface, except diff 
and required_if

* win_dns_record: convert diff support

* win_dns_record: convert diff support to after-before style

* Don't test for Add-WindowsFeature

* win_dns_record: Fix diff

When check mode is used diff changes must be simulated.

* Style consistency/clean-ups

* Fix integration test typos

* Improve readability of diff output

The original intention of the diff output was to resemble zone file records
(except that the zone-name is added onto each record). In that light, the
missing *record class* information (always "IN" in our case) was an oversight.

This just makes the diff output more "instantly readable" for DNS gurus.

* win_dns_record: Add diff tests

* Fix ansible-test sanity check fails

* Apply suggestions from code review

Added suggestions from dagwieers

Co-Authored-By: johnboy2 <john@jnelson.ca>

* win_dns_record: Skip 2008 and friends

* Reword error messages so they start capitalized.

* Fix sanity error

* win_dns_record: Document ttl range

* win_dns_record: Additional supportability barriers in tests

* win_dns_record: Typo

* win_dns_record: Sanity fix

* win_dns_record: Use OS-test only for compat checking
2019-03-19 15:37:14 +10:00
Jordan Borean 7ab77f6c8a
win_psexec - support paths with a space (#54009) 2019-03-19 12:51:30 +10:00
Jordan Borean cf24542e9f
win_get_url - fix glob like paths (#54008) 2019-03-19 12:01:35 +10:00
Jordan Borean eb18df1a0f
win_certificate_store - fix glob like paths (#54007) 2019-03-19 11:49:25 +10:00
Jordan Borean 2f1bc34589
win_copy - fix glob like paths (#54006) 2019-03-19 11:22:17 +10:00
Jordan Borean 8a4079ddbf
win_find - fix glob like paths (#54005) 2019-03-19 10:30:11 +10:00
Jordan Borean c053bc1fc7
win_file - fix glob like paths (#54003) 2019-03-19 09:20:33 +10:00
Jordan Borean abbc42ea3b
win_chocolatey - remove stray comment 2019-03-15 16:53:02 +10:00
Jordan Borean cac3c6efcf
win_chocolatey - Fix incompatibilities with latest Chocolatey release (#53841) 2019-03-15 16:40:30 +10:00
Jordan Borean d00418c924
win_slurp - fix glob like paths (#53831) 2019-03-15 14:59:01 +10:00
Jordan Borean d063cefb64
win_owner - fix glob like paths (#53830)
* win_owner - fix glob like paths

* Fix issues on older PS versions
2019-03-15 14:58:15 +10:00
Jordan Borean 3cfa71bff0
win_acl_inheritance - fix glob like paths (#53829) 2019-03-15 14:57:59 +10:00
Jordan Borean aba6f5f50d
win_acl - fix glob file paths (#53828) 2019-03-15 14:57:41 +10:00
Jordan Borean 4f9de45785
win_tempfile - return absolute path on created temp file (#53827)
* win_tempfile - return absolute path on created temp file

* Fix tests for CI
2019-03-15 14:57:27 +10:00
Marius Rieder 22fb4c858a Win domain group membership module (#52556)
* Add new win_domain_group_membership module.

* Add support for diff mode.

* Do not assign variable which is never used.

* Add documentation for the `domain_*` options.

* Let ansible handle the exceptions.

The test if the group exists is useless as the first action on the 
groups fails with the same error message if it does not exist.

* Add comments why we need the try/catch

* Rework diff handling.

Just return before/after state and let ansible do the working out of the
diff.

* Minor cleanups according to PR

* Switch from Get-AdUser/Group to Get-AdObject

so we can add/remove service accounts, or computers too.

* Cleanup PowerShell code
2019-03-15 10:43:08 +10:00
Jordan Borean d3792145d5
win_get_url - refactor tests to use httptester (#53765)
* win_get_url - refactor tests to use httptester

* Use the file lookup instead of slurp
2019-03-14 08:04:49 +10:00
Jordan Borean 2ecde81dcb
win_reboot: fix stray entry in module docs 2019-03-13 10:47:17 +10:00
Jordan Borean 3d23e47c53
win_reboot - Fix rc validation when using psrp and add extra docs (#53711)
* win_reboot - Fix rc validation when using psrp and add extra docs

* Revert boot time command and fix docs
2019-03-13 10:43:02 +10:00
Jordan Borean 4f2d055e2c
win_psexec - deprecate the extra_opts module options (#53666) 2019-03-12 09:05:43 +10:00
Jordan Borean f297229b52
Add arg and doc validation for PowerShell modules (#53615)
* Add arg and doc validation for PowerShell modules

* Verify if pwsh exists before running it
2019-03-12 07:56:51 +10:00
Jordan Borean acf3e73250
win_chocolatey: Fix up validate_certs default value (#53614) 2019-03-11 11:32:31 +10:00
Jordan Borean 830a11dd38
test: optimize win_psmodule tests (#53431) 2019-03-11 05:43:21 +10:00
S 3bc474bf99 Fixed win_file crash with hidden files (#52584)
* Fixed crash with hidden files

added "-force" parameter on "Get-Item" cmdlet. this is needed to get file info if the file is "hidden" 
without this option modules like win_file, win_template, win_copy crashes on hidden files. this is because with "test-path" it sees that the file exists, but "get-item" can't get the file info. 
for more information on "-force option": https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-item

* Add changelog and integration tests

* fix tests for older Windows versions
2019-03-08 15:32:32 +10:00
Jordan Borean 008db85d44
win_domain: fix issue when running without credential delegation (#53480)
* win_domain: fix issue when running without credential delegation

* Add check for reboot is required to complete role e install

* Fix changelog sanity issue

* removed meta file accidentally committed
2019-03-08 08:44:12 +10:00
Jordan Borean 072fa54b50
win reg - Support special chars in path (#53305)
* win reg - Support special chars in path

* Added deprecation warning for path separators
2019-03-08 05:41:52 +10:00
Dag Wieers 6a845eca77 Windows: Improve the file-related seealso references (#53099) 2019-03-06 13:40:02 -06:00
Dag Wieers b011ec4638 Windows: Add parameter types (#53325)
This PR also includes:
-  Added missing seealso sections
2019-03-06 13:22:58 -06:00
Wojciech Sciesinski 8136e2e4fe Extend win_psmodule - the second attempt, the previous was #46516 (#50621)
* Extend win_psmodule - rebased at 2019-01-07

* Change a way how defined parameters are added to the list

* Correct registering a repository

* Change way how tests for the check_mode: true are run

* Post-review updates

* Post-review updates -2

* Post-review updates -3

* Switch to PowerShell loop

* Minor updates

* Remove variants of an exception handling

* Change error handling
2019-03-06 06:56:55 +10:00
Jordan Borean 6b294eab4d
win_dsc - Add argument validation and other fixes (#53093)
* win_dsc - Add argument validation and other fixes

* Fix doc issues
2019-03-06 06:49:37 +10:00
Viktor Utkin b2a7561a7f [win_get_url] feature: Add support `checksum` to module win_get_url (#51986)
* set valid_until equal to current time + spot_wait_timeout

* Add checksum check for downloaded file.

* refactoring

* fix typo

* add fixes

* mart try,catch handling

* revert lib/ansible/modules/cloud/amazon/ec2.py from upstream

* refactoring

* remove empty lines

* add checksum verification for existing file

* fix current file check

* refactoring destination file check

* add handling exceptions

* refactoring

* Added download file hash data from url

* fix string aligning

* fix bug with uri

* Added get hash from multy-string file

* Added URI support for checksum file location

* refactoing

* Remove any non-alphanumeric characters for hash from url

* fix discussions; add support for PS3

* refactoring

* add size return value

* checkout from upstream for lib/ansible/modules/cloud/amazon/ec2.py

* add Ansible.ModuleUtils.Legacy support; refactoring

* Copyright added

* Checking files size before and after downloading added.

* remove unused code

* Corrected regexp for dotted slashed file name prefix in hash-file

* hotfix typo error; add int tests

* remove legacy module support; split checksum to checksum, checksum_algorithm, checksum_url

* changed default hash algorithm

* Fixed case for ContentLength = -1

* Old comment removed

* fix typo

* Remove file size check before downloading

* add alias to ; fix tests

* adjust tests; fix lint warnings from PSScritpAnalyzer

* workaround for bug in win_chocolatey module on win2008

* remove win_get_url.ps1 from /test/sanity/pslint/ignore.txt

* add checksum_algorithm as retuen value

* first normalise before return Result

* resolve discussions

Signed-off-by: Viktor Utkin <viktor.utkin7@yandex.ru>

* fix discussions
fix http tests as discussed

* fix last discussions

* Reduce code duplication and add idempotency check

* fix sanity issue and remove testing code

* move back to using tmp file for checksum comparison
2019-03-05 20:37:00 +10:00
Jordan Borean b74295d25f
win_chocolatey - add ability to pin a package (#53157)
* win_chocolatey - add ability to pin a package

* fix typoe in changelog fragment
2019-03-05 14:18:42 +10:00
Jordan Borean be7768efc7
win_chocolatey_source - fix state=disabled with no source (#53097) 2019-03-05 14:18:00 +10:00
Bill Bagdon aa1ed59e1b Add documentation for win_copy as become user needing temp dir set (#53211) 2019-03-03 11:59:43 +00:00
Dag Wieers 4e6c113bf0 uri/win_uri: Make method a free text field (#49719)
* uri/win_uri: Make method a free text field

Since various interfaces introduce their own HTTP method (e.g. like
PROPFIND, LIST or TRACE) it's better to leave this up to the user.

* Fix HTTP method check in module_utils urls

* Add integration test for method UNKNOWN

* Clarify the change as requested during review
2019-02-28 15:55:18 -05:00
Jordan Borean 1126f76d4d
win_certificate_store - Fix exception handling typo (#52906) 2019-02-25 13:00:04 +10:00