Fixes idempotency check for partial configurations (#41941)

- Previous PR would overwrite new and existing values improperly

(cherry picked from commit 7ab3f755ce)
This commit is contained in:
Kevin Breit 2018-06-26 05:14:01 -05:00 committed by Matt Clay
parent 4226fb6e1a
commit d2b447e8a1
2 changed files with 23 additions and 1 deletions

View file

@ -227,6 +227,16 @@ def main():
meraki.result['changed'] = True
else:
net = meraki.get_net(meraki.params['org_name'], meraki.params['net_name'], data=nets)
proposed = payload
if meraki.params['timezone']:
proposed['timeZone'] = meraki.params['timezone']
else:
proposed['timeZone'] = 'America/Los_Angeles'
if not meraki.params['tags']:
proposed['tags'] = None
if not proposed['type']:
proposed['type'] = net['type']
if meraki.is_update_required(net, payload):
path = meraki.construct_path('update',
net_id=meraki.get_net_id(net_name=meraki.params['net_name'], data=nets)

View file

@ -66,7 +66,18 @@
timezone: America/Chicago
delegate_to: localhost
register: create_net_wireless
- name: Create network with type wireless and check for idempotency
meraki_network:
auth_key: '{{ auth_key }}'
state: present
org_name: '{{test_org_name}}'
net_name: IntTestNetworkWireless
type: wireless
timezone: America/Chicago
delegate_to: localhost
register: create_net_wireless_idempotent
- name: Create network with type combined
meraki_network:
auth_key: '{{ auth_key }}'
@ -142,6 +153,7 @@
- '"IntTestNetworkSwitch" in create_net_switch.data.name'
- '"IntTestNetworkSwitchOrgID" in create_net_switch_org_id.data.name'
- '"IntTestNetworkWireless" in create_net_wireless.data.name'
- create_net_wireless_idempotent.changed == False
- '"first_tag" in create_net_tag.data.tags'
- '"second_tag" in create_net_tags.data.tags'
- '"third_tag" in create_net_modified.data.tags'