From 983593301a57021c597fd7346519e54e6810f6c9 Mon Sep 17 00:00:00 2001 From: Kevin Breit Date: Sun, 16 Jul 2023 15:27:14 +0000 Subject: [PATCH] meraki_device - Fix endpoint URLs (#461) --- changelogs/fragments/device-urls.yaml | 2 ++ plugins/modules/meraki_device.py | 13 +++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 changelogs/fragments/device-urls.yaml diff --git a/changelogs/fragments/device-urls.yaml b/changelogs/fragments/device-urls.yaml new file mode 100644 index 00000000..3bffc3b2 --- /dev/null +++ b/changelogs/fragments/device-urls.yaml @@ -0,0 +1,2 @@ +bugfixes: + - meraki_devices - Fix endpoints due to breaking change in Meraki API v1.33 diff --git a/plugins/modules/meraki_device.py b/plugins/modules/meraki_device.py index 2152e494..ff13ee3b 100644 --- a/plugins/modules/meraki_device.py +++ b/plugins/modules/meraki_device.py @@ -292,12 +292,12 @@ def main(): query_urls = {'device': '/networks/{net_id}/devices'} query_org_urls = {'device': '/organizations/{org_id}/devices'} - query_device_urls = {'device': '/networks/{net_id}/devices/{serial}'} + query_device_urls = {'device': '/devices/{serial}'} query_device_lldp_urls = {'device': '/devices/{serial}/lldpCdp'} claim_device_urls = {'device': '/networks/{net_id}/devices/claim'} bind_org_urls = {'device': '/organizations/{org_id}/claim'} - update_device_urls = {'device': '/networks/{net_id}/devices/'} - delete_device_urls = {'device': '/networks/{net_id}/devices/{serial}/remove'} + update_device_urls = {'device': '/devices/{serial}'} + delete_device_urls = {'device': '/networks/{net_id}/devices/remove'} meraki.url_catalog['get_all'].update(query_urls) meraki.url_catalog['get_all_org'] = query_org_urls @@ -395,7 +395,7 @@ def main(): device_data = meraki.request(query_path, method='GET') ignore_keys = ['lanIp', 'serial', 'mac', 'model', 'networkId', 'moveMapMarker', 'wan1Ip', 'wan2Ip'] if meraki.is_update_required(device_data, payload, optional_ignore=ignore_keys): - path = meraki.construct_path('update', net_id=net_id) + meraki.params['serial'] + path = meraki.construct_path('update', custom={'serial': meraki.params['serial']}) updated_device = [] updated_device.append(meraki.request(path, method='PUT', payload=json.dumps(payload))) meraki.result['data'] = updated_device @@ -418,8 +418,9 @@ def main(): query_path = meraki.construct_path('get_all', net_id=net_id) device_list = meraki.request(query_path, method='GET') if is_device_valid(meraki, meraki.params['serial'], device_list) is True: - path = meraki.construct_path('delete', net_id=net_id, custom={'serial': meraki.params['serial']}) - request = meraki.request(path, method='POST') + payload = {'serial': meraki.params['serial']} + path = meraki.construct_path('delete', net_id=net_id) + request = meraki.request(path, method='POST', payload=json.dumps(payload)) meraki.result['changed'] = True # in the event of a successful module execution, you will want to