Bug fixes for GCP modules (#57883)
This commit is contained in:
parent
5658b2ee3e
commit
7751e97e1e
1 changed files with 15 additions and 5 deletions
|
@ -117,7 +117,7 @@ def main():
|
|||
if fetch:
|
||||
if state == 'present':
|
||||
if is_different(module, fetch):
|
||||
update(module, self_link(module))
|
||||
update(module, self_link(module), fetch)
|
||||
fetch = fetch_resource(module, self_link(module))
|
||||
changed = True
|
||||
else:
|
||||
|
@ -141,9 +141,19 @@ def create(module, link):
|
|||
return return_if_object(module, auth.put(link, resource_to_request(module)))
|
||||
|
||||
|
||||
def update(module, link):
|
||||
delete(module, self_link(module))
|
||||
create(module, self_link(module))
|
||||
def update(module, link, fetch):
|
||||
auth = GcpSession(module, 'pubsub')
|
||||
params = {'updateMask': updateMask(resource_to_request(module), response_to_hash(module, fetch))}
|
||||
request = resource_to_request(module)
|
||||
del request['name']
|
||||
return return_if_object(module, auth.patch(link, request, params=params))
|
||||
|
||||
|
||||
def updateMask(request, response):
|
||||
update_mask = []
|
||||
if request.get('labels') != response.get('labels'):
|
||||
update_mask.append('labels')
|
||||
return ','.join(update_mask)
|
||||
|
||||
|
||||
def delete(module, link):
|
||||
|
@ -220,7 +230,7 @@ def is_different(module, response):
|
|||
# Remove unnecessary properties from the response.
|
||||
# This is for doing comparisons with Ansible's current parameters.
|
||||
def response_to_hash(module, response):
|
||||
return {u'name': response.get(u'name'), u'labels': response.get(u'labels')}
|
||||
return {u'name': module.params.get('name'), u'labels': response.get(u'labels')}
|
||||
|
||||
|
||||
def decode_request(response, module):
|
||||
|
|
Loading…
Add table
Reference in a new issue