win_environment: Added explicit check for null, empty string with state=present (#40468)
* win_environment: Added explicit check for null, empty string with state=present * Added changelog fragment
This commit is contained in:
parent
5634dae290
commit
db195831fd
4 changed files with 22 additions and 0 deletions
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- win_environment - Fix for issue where the environment value was deleted when a null value or empty string was set - https://github.com/ansible/ansible/issues/40450
|
|
@ -28,6 +28,8 @@ $result = @{
|
|||
if ($state -eq "absent" -and $value) {
|
||||
Add-Warning -obj $result -message "When removing environment variable '$name' it should not have a value '$value' set"
|
||||
$value = $null
|
||||
} elseif ($state -eq "present" -and (-not $value)) {
|
||||
Fail-Json -obj $result -message "When state=present, value must be defined and not an empty string, if you wish to remove the envvar, set state=absent"
|
||||
}
|
||||
|
||||
if ($state -eq "present" -and $before_value -ne $value) {
|
||||
|
|
|
@ -30,6 +30,7 @@ options:
|
|||
value:
|
||||
description:
|
||||
- The value to store in the environment variable.
|
||||
- Must be set when C(state=present) and cannot be an empty string.
|
||||
- Can be omitted for C(state=absent).
|
||||
level:
|
||||
description:
|
||||
|
|
|
@ -9,6 +9,23 @@
|
|||
- process
|
||||
- user
|
||||
|
||||
- name: fail to create environment value with null value
|
||||
win_environment:
|
||||
name: "{{test_environment_name}}"
|
||||
state: present
|
||||
level: machine
|
||||
register: create_fail_null
|
||||
failed_when: create_fail_null.msg != "When state=present, value must be defined and not an empty string, if you wish to remove the envvar, set state=absent"
|
||||
|
||||
- name: fail to create environment value with empty value
|
||||
win_environment:
|
||||
name: "{{test_environment_name}}"
|
||||
value: ''
|
||||
state: present
|
||||
level: machine
|
||||
register: create_fail_empty_string
|
||||
failed_when: create_fail_null.msg != "When state=present, value must be defined and not an empty string, if you wish to remove the envvar, set state=absent"
|
||||
|
||||
- name: create test environment value for machine check
|
||||
win_environment:
|
||||
name: "{{test_environment_name}}"
|
||||
|
|
Loading…
Reference in a new issue