diff --git a/changelogs/fragments/1684-Add_validation_for_marker_begin_end.yml b/changelogs/fragments/1684-Add_validation_for_marker_begin_end.yml new file mode 100644 index 000000000..067a17784 --- /dev/null +++ b/changelogs/fragments/1684-Add_validation_for_marker_begin_end.yml @@ -0,0 +1,4 @@ +bugfixes: + - zos_blockinfile - Previously module was not able to delete a block when 'marker_begin' and 'marker_end' + were set to the same value. Fix introduces a requirement for 'marker_begin' and 'marker_end' to have different values. + (https://github.com/ansible-collections/ibm_zos_core/pull/1684). \ No newline at end of file diff --git a/plugins/modules/zos_blockinfile.py b/plugins/modules/zos_blockinfile.py index ab6d2a0dd..2befe61ef 100644 --- a/plugins/modules/zos_blockinfile.py +++ b/plugins/modules/zos_blockinfile.py @@ -96,6 +96,7 @@ marker_begin: description: - This will be inserted at C({mark}) in the opening ansible block marker. + - Value needs to be different from marker_end. required: false type: str default: BEGIN @@ -103,6 +104,7 @@ required: false description: - This will be inserted at C({mark}) in the closing ansible block marker. + - Value must be different from marker_end. type: str default: END backup: @@ -759,7 +761,8 @@ def main(): marker_begin = 'BEGIN' if not marker_end: marker_end = 'END' - + if marker_begin == marker_end: + module.fail_json(msg='marker_begin and marker_end must be different.') marker = "{0}\\n{1}\\n{2}".format(marker_begin, marker_end, marker) block = transformBlock(block, ' ', indentation) # analysis the file type