diff --git a/plugins/modules/gcp_compute_forwarding_rule.py b/plugins/modules/gcp_compute_forwarding_rule.py index d18d954..e83bcc5 100644 --- a/plugins/modules/gcp_compute_forwarding_rule.py +++ b/plugins/modules/gcp_compute_forwarding_rule.py @@ -437,11 +437,10 @@ def main(): if fetch: if state == 'present': if is_different(module, fetch): - update(module, self_link(module), kind, fetch) - fetch = fetch_resource(module, self_link(module), kind) + fetch = update(module, self_link(module), kind, fetch) changed = True else: - delete(module, self_link(module), kind) + delete(module, self_link(module), kind, fetch) fetch = {} changed = True else: @@ -462,16 +461,6 @@ def create(module, link, kind): def update(module, link, kind, fetch): - update_fields(module, resource_to_request(module), response_to_hash(module, fetch)) - return fetch_resource(module, self_link(module), kind) - - -def update_fields(module, request, response): - if response.get('target') != request.get('target'): - target_update(module, request, response) - - -def target_update(module, request, response): auth = GcpSession(module, 'compute') auth.post( ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/forwardingRules/{name}/setTarget"]).format(**module.params), @@ -479,7 +468,7 @@ def target_update(module, request, response): ) -def delete(module, link, kind): +def delete(module, link, kind, fetch): auth = GcpSession(module, 'compute') return wait_for_operation(module, auth.delete(link))