From d4956300686fd967bb7d881e74c5ead4de1a20fb Mon Sep 17 00:00:00 2001 From: Cyril Jouve Date: Fri, 19 Sep 2025 12:13:54 +0200 Subject: [PATCH] rest resources without revision field --- plugins/modules/nsxt_rest.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/modules/nsxt_rest.py b/plugins/modules/nsxt_rest.py index c0e64788..6378f561 100644 --- a/plugins/modules/nsxt_rest.py +++ b/plugins/modules/nsxt_rest.py @@ -219,19 +219,23 @@ def execute(self): if self.method == "post" or self.method == "put" or self.method == "patch": before_resp = self.operate_nsxt(method="get", ignore_errors=True) if before_resp: - before_revision = before_resp["_revision"] + before_revision = before_resp.get("_revision") else: before_revision = "" _ = self.operate_nsxt(method=self.method) + changed = True after_resp = self.operate_nsxt(method="get") - after_revision = after_resp["_revision"] + if after_resp: + try: + changed = before_revision != after_resp["_revision"] + except KeyError: + self.module.warn( + "Defaulting to changed=True because resource %s does not have _revision attribute" % self.path + ) - if before_revision == after_revision: - self.module.exit_json(changed=False, body=after_resp) - else: - self.module.exit_json(changed=True, body=after_resp) + self.module.exit_json(changed=changed, body=after_resp) if self.method == "delete": resp = self.operate_nsxt(method="get", ignore_errors=True)