<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Using Ansible for Meraki in Network Platform API</title>
    <link>https://community.cisco.com/t5/network-platform-api/using-ansible-for-meraki/m-p/5437855#M5993</link>
    <description>&lt;P&gt;Hello Meraki community &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;This year, I wrote an article about Ansible and Meraki on Cisco Blog, to illustrate how a concrete usecase could be addressed with Ansible,&lt;/P&gt;&lt;P&gt;&lt;A href="https://gblogs.cisco.com/fr/reseaux/jai-teste-ansible-pour-meraki/," target="_blank" rel="nofollow noopener noreferrer"&gt;https://gblogs.cisco.com/fr/reseaux/jai-teste-ansible-pour-meraki/,&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Here is the translation in English for those who are interested :&lt;/P&gt;&lt;H1&gt;I tested... Ansible for Meraki!&lt;/H1&gt;&lt;P&gt;Meraki, Cisco's cloud-native solution, has its own &lt;A href="http://collection%20Ansible" target="_self" rel="nofollow noopener noreferrer"&gt;Ansible collection&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;For a solution that can be managed in GUI mode via the Meraki Dashboard ("at scale"), you might well wonder what the point of this collection is.&lt;/P&gt;&lt;H2&gt;Let's take a concrete example!&lt;/H2&gt;&lt;P&gt;Let's take the example of a network administrator who needs to update the trunk ports of his network, to add freshly created VLANs:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="task-1-1536x400.jpg" style="width: 523px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263909i7B24BAA42093604C/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;"Easy! "With Meraki's &lt;A href="https://documentation.meraki.com/MS/Stacking/Switch_Stacks#Understanding_Virtual_Stacking" target="_self" rel="nofollow noopener noreferrer"&gt;Virtual Stacking&lt;/A&gt; (not to be confused with StackWise Virtual under IOS-XE), all we have to do is select all the ports we want to update, edit them, and add the new VLANs to the list of authorized VLANs:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="meraki_updatetrunk-4-2048x684.jpg" style="width: 652px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263908iF5275816212C5112/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;It's as simple as that, if the whole LAN is in Meraki:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="env_simple-3-2048x714.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263907iCBC38F54162609A0/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;But even if our network administrator has chosen Meraki as the standard (convinced of the solution's simplicity and scalability), making his network homogeneous is not always easy (recovery of existing hardware, company takeovers, decentralized technological decisions, etc.).&lt;/P&gt;&lt;P&gt;His environment will look more like this:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="env_complexe-2-2048x710.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263910i819D7E8D645F3AAC/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Same task, but a much more complex deployment...&lt;/P&gt;&lt;P&gt;It's out of the question for our network administrator to go round each vendor's management console, or worse still, to update the configuration of each piece of equipment one by one, using CLI/GUI. The operation would be too laborious, risky and costly. This is where the Ansible collection comes into its own.&lt;/P&gt;&lt;H2&gt;Let's install Ansible for Meraki&lt;/H2&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ansiblemerakicatalyst-1-2048x556.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263911i31A405D14CF186FD/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;We need to install Ansible, but not only that. In a network context, Ansible often uses SSH to interact with devices (as is the case in &lt;A href="https://gblogs.cisco.com/fr/reseaux/manager-vos-equipements-cisco-avec-ansible/" target="_self" rel="nofollow noopener noreferrer"&gt;this article&lt;/A&gt;). However, Ansible can also use other means of transport, such as REST APIs. This is how Ansible will drive the Meraki dashboard.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="installation-2-768x478.jpg" style="width: 319px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263912i554C85EB817D4AA4/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;So let's install the elements needed to use Meraki's REST APIs via Ansible:&lt;/P&gt;&lt;PRE class="lia-code-sample language-c"&gt;&lt;CODE&gt;# Installing Ansible
xvalette@lab cisco-meraki-ansible % python3 -m pip install --user ansible
# Install Meraki SDK
xvalette@lab cisco-meraki-ansible % python3 -m pip install --user meraki
# Command for Mac OS users
xvalette@lab cisco-meraki-ansible % export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES&lt;/CODE&gt;&lt;/PRE&gt;&lt;H2&gt;Let's create a playbook&lt;/H2&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="hierarchy-768x304.jpg" style="width: 389px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263913iF13B7611ABE56E65/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;We want to update the VLANs allowed on the trunk ports,&lt;/P&gt;&lt;P&gt;Inspecting the collection documentation, we find the &lt;A href="https://docs.ansible.com/ansible/devel/collections/cisco/meraki/devices_switch_ports_module.html" target="_self" rel="nofollow noopener noreferrer"&gt;devices_switch_ports&lt;/A&gt; module to meet our needs,&lt;/P&gt;&lt;P&gt;From the &lt;A href="https://docs.ansible.com/ansible/devel/collections/cisco/meraki/devices_switch_ports_module.html" target="_self" rel="nofollow noopener noreferrer"&gt;documentation&lt;/A&gt; and &lt;A href="https://github.com/meraki/dashboard-api-ansible/tree/main/playbooks" target="_self" rel="nofollow noopener noreferrer"&gt;examples&lt;/A&gt;, we arrive at the following playbook:&lt;/P&gt;&lt;PRE class="lia-code-sample language-javascript"&gt;&lt;CODE&gt;- hosts: localhost
   vars:
      network_id: L_00000000000000 | to be replaced
      serial_number: XXXX-XXXX-XXXX | to be replaced
      meraki_api_key: clé API | to be replaced
   gather_facts: false
   tasks:
   - name: Update Allowed VLANs on trunk ports
      cisco.meraki.devices_switch_ports:
         meraki_api_key: "{{meraki_api_key}}"
         state: present
         serial: "{{serial_number}}"
         portId: 4
         allowedVlans: 42-44,100-200&lt;/CODE&gt;&lt;/PRE&gt;&lt;H2&gt;All set!&lt;/H2&gt;&lt;P&gt;&lt;BR /&gt;We can launch our playbook. No need for inventory, since Ansible will drive the Meraki dashboard, not the equipment.&lt;/P&gt;&lt;PRE class="lia-code-sample language-c"&gt;&lt;CODE&gt;xvalette@lab cisco-meraki-ansible % ansible-playbook playbooks/updateAllowedVlanTrunk.yml&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="oldvsnew-1536x847.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263914i745742C075B4B63D/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;In conclusion&lt;/H2&gt;&lt;P&gt;&lt;BR /&gt;In previous articles, we have used :&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;A href="https://gblogs.cisco.com/fr/reseaux/accelerer-vos-operations-avec-ansible-et-cisco-dna-center/" target="_self" rel="nofollow noopener noreferrer"&gt;Ansible with Catalyst Center&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://gblogs.cisco.com/fr/reseaux/manager-vos-equipements-cisco-avec-ansible/" target="_self" rel="nofollow noopener noreferrer"&gt;Ansible with IOS-XE devices&lt;/A&gt; (or third-party via the respective collections)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Today we've just seen how to use Ansible with Meraki,&lt;/P&gt;&lt;P&gt;In this way, managing a heterogeneous network becomes less laborious, less risky and less costly for our network administrator:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="env_solved-2048x981.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263915i72889FFC9B4796BB/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;References&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;Ansible for Meraki collection: &lt;A href="https://docs.ansible.com/ansible/latest/collections/cisco/meraki/index.html" target="_blank" rel="nofollow noopener noreferrer"&gt;https://docs.ansible.com/ansible/latest/collections/cisco/meraki/index.html&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Playbook examples from the Ansible collection: &lt;A href="https://github.com/meraki/dashboard-api-ansible/tree/main/playbooks" target="_blank" rel="nofollow noopener noreferrer"&gt;https://github.com/meraki/dashboard-api-ansible/tree/main/playbooks&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Florian GIRARD's article on Ansible for Catalyst Center: &lt;A href="https://gblogs.cisco.com/fr/reseaux/accelerer-vos-operations-avec-ansible-et-cisco-dna-center/" target="_blank" rel="nofollow noopener noreferrer"&gt;https://gblogs.cisco.com/fr/reseaux/accelerer-vos-operations-avec-ansible-et-cisco-dna-center/&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Article on Ansible for IOS-XE: &lt;A href="https://gblogs.cisco.com/fr/reseaux/manager-vos-equipements-cisco-avec-ansible/" target="_blank" rel="nofollow noopener noreferrer"&gt;https://gblogs.cisco.com/fr/reseaux/manager-vos-equipements-cisco-avec-ansible/&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;</description>
    <pubDate>Mon, 15 Jul 2024 16:14:26 GMT</pubDate>
    <dc:creator>xvalette</dc:creator>
    <dc:date>2024-07-15T16:14:26Z</dc:date>
    <item>
      <title>Using Ansible for Meraki</title>
      <link>https://community.cisco.com/t5/network-platform-api/using-ansible-for-meraki/m-p/5437855#M5993</link>
      <description>&lt;P&gt;Hello Meraki community &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;This year, I wrote an article about Ansible and Meraki on Cisco Blog, to illustrate how a concrete usecase could be addressed with Ansible,&lt;/P&gt;&lt;P&gt;&lt;A href="https://gblogs.cisco.com/fr/reseaux/jai-teste-ansible-pour-meraki/," target="_blank" rel="nofollow noopener noreferrer"&gt;https://gblogs.cisco.com/fr/reseaux/jai-teste-ansible-pour-meraki/,&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Here is the translation in English for those who are interested :&lt;/P&gt;&lt;H1&gt;I tested... Ansible for Meraki!&lt;/H1&gt;&lt;P&gt;Meraki, Cisco's cloud-native solution, has its own &lt;A href="http://collection%20Ansible" target="_self" rel="nofollow noopener noreferrer"&gt;Ansible collection&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;For a solution that can be managed in GUI mode via the Meraki Dashboard ("at scale"), you might well wonder what the point of this collection is.&lt;/P&gt;&lt;H2&gt;Let's take a concrete example!&lt;/H2&gt;&lt;P&gt;Let's take the example of a network administrator who needs to update the trunk ports of his network, to add freshly created VLANs:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="task-1-1536x400.jpg" style="width: 523px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263909i7B24BAA42093604C/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;"Easy! "With Meraki's &lt;A href="https://documentation.meraki.com/MS/Stacking/Switch_Stacks#Understanding_Virtual_Stacking" target="_self" rel="nofollow noopener noreferrer"&gt;Virtual Stacking&lt;/A&gt; (not to be confused with StackWise Virtual under IOS-XE), all we have to do is select all the ports we want to update, edit them, and add the new VLANs to the list of authorized VLANs:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="meraki_updatetrunk-4-2048x684.jpg" style="width: 652px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263908iF5275816212C5112/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;It's as simple as that, if the whole LAN is in Meraki:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="env_simple-3-2048x714.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263907iCBC38F54162609A0/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;But even if our network administrator has chosen Meraki as the standard (convinced of the solution's simplicity and scalability), making his network homogeneous is not always easy (recovery of existing hardware, company takeovers, decentralized technological decisions, etc.).&lt;/P&gt;&lt;P&gt;His environment will look more like this:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="env_complexe-2-2048x710.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263910i819D7E8D645F3AAC/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Same task, but a much more complex deployment...&lt;/P&gt;&lt;P&gt;It's out of the question for our network administrator to go round each vendor's management console, or worse still, to update the configuration of each piece of equipment one by one, using CLI/GUI. The operation would be too laborious, risky and costly. This is where the Ansible collection comes into its own.&lt;/P&gt;&lt;H2&gt;Let's install Ansible for Meraki&lt;/H2&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ansiblemerakicatalyst-1-2048x556.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263911i31A405D14CF186FD/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;We need to install Ansible, but not only that. In a network context, Ansible often uses SSH to interact with devices (as is the case in &lt;A href="https://gblogs.cisco.com/fr/reseaux/manager-vos-equipements-cisco-avec-ansible/" target="_self" rel="nofollow noopener noreferrer"&gt;this article&lt;/A&gt;). However, Ansible can also use other means of transport, such as REST APIs. This is how Ansible will drive the Meraki dashboard.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="installation-2-768x478.jpg" style="width: 319px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263912i554C85EB817D4AA4/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;So let's install the elements needed to use Meraki's REST APIs via Ansible:&lt;/P&gt;&lt;PRE class="lia-code-sample language-c"&gt;&lt;CODE&gt;# Installing Ansible
xvalette@lab cisco-meraki-ansible % python3 -m pip install --user ansible
# Install Meraki SDK
xvalette@lab cisco-meraki-ansible % python3 -m pip install --user meraki
# Command for Mac OS users
xvalette@lab cisco-meraki-ansible % export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES&lt;/CODE&gt;&lt;/PRE&gt;&lt;H2&gt;Let's create a playbook&lt;/H2&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="hierarchy-768x304.jpg" style="width: 389px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263913iF13B7611ABE56E65/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;We want to update the VLANs allowed on the trunk ports,&lt;/P&gt;&lt;P&gt;Inspecting the collection documentation, we find the &lt;A href="https://docs.ansible.com/ansible/devel/collections/cisco/meraki/devices_switch_ports_module.html" target="_self" rel="nofollow noopener noreferrer"&gt;devices_switch_ports&lt;/A&gt; module to meet our needs,&lt;/P&gt;&lt;P&gt;From the &lt;A href="https://docs.ansible.com/ansible/devel/collections/cisco/meraki/devices_switch_ports_module.html" target="_self" rel="nofollow noopener noreferrer"&gt;documentation&lt;/A&gt; and &lt;A href="https://github.com/meraki/dashboard-api-ansible/tree/main/playbooks" target="_self" rel="nofollow noopener noreferrer"&gt;examples&lt;/A&gt;, we arrive at the following playbook:&lt;/P&gt;&lt;PRE class="lia-code-sample language-javascript"&gt;&lt;CODE&gt;- hosts: localhost
   vars:
      network_id: L_00000000000000 | to be replaced
      serial_number: XXXX-XXXX-XXXX | to be replaced
      meraki_api_key: clé API | to be replaced
   gather_facts: false
   tasks:
   - name: Update Allowed VLANs on trunk ports
      cisco.meraki.devices_switch_ports:
         meraki_api_key: "{{meraki_api_key}}"
         state: present
         serial: "{{serial_number}}"
         portId: 4
         allowedVlans: 42-44,100-200&lt;/CODE&gt;&lt;/PRE&gt;&lt;H2&gt;All set!&lt;/H2&gt;&lt;P&gt;&lt;BR /&gt;We can launch our playbook. No need for inventory, since Ansible will drive the Meraki dashboard, not the equipment.&lt;/P&gt;&lt;PRE class="lia-code-sample language-c"&gt;&lt;CODE&gt;xvalette@lab cisco-meraki-ansible % ansible-playbook playbooks/updateAllowedVlanTrunk.yml&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="oldvsnew-1536x847.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263914i745742C075B4B63D/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;In conclusion&lt;/H2&gt;&lt;P&gt;&lt;BR /&gt;In previous articles, we have used :&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;A href="https://gblogs.cisco.com/fr/reseaux/accelerer-vos-operations-avec-ansible-et-cisco-dna-center/" target="_self" rel="nofollow noopener noreferrer"&gt;Ansible with Catalyst Center&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://gblogs.cisco.com/fr/reseaux/manager-vos-equipements-cisco-avec-ansible/" target="_self" rel="nofollow noopener noreferrer"&gt;Ansible with IOS-XE devices&lt;/A&gt; (or third-party via the respective collections)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Today we've just seen how to use Ansible with Meraki,&lt;/P&gt;&lt;P&gt;In this way, managing a heterogeneous network becomes less laborious, less risky and less costly for our network administrator:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="env_solved-2048x981.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/263915i72889FFC9B4796BB/image-size/large?v=v2&amp;amp;px=999" title="image.jpeg" alt="image.jpeg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;References&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;Ansible for Meraki collection: &lt;A href="https://docs.ansible.com/ansible/latest/collections/cisco/meraki/index.html" target="_blank" rel="nofollow noopener noreferrer"&gt;https://docs.ansible.com/ansible/latest/collections/cisco/meraki/index.html&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Playbook examples from the Ansible collection: &lt;A href="https://github.com/meraki/dashboard-api-ansible/tree/main/playbooks" target="_blank" rel="nofollow noopener noreferrer"&gt;https://github.com/meraki/dashboard-api-ansible/tree/main/playbooks&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Florian GIRARD's article on Ansible for Catalyst Center: &lt;A href="https://gblogs.cisco.com/fr/reseaux/accelerer-vos-operations-avec-ansible-et-cisco-dna-center/" target="_blank" rel="nofollow noopener noreferrer"&gt;https://gblogs.cisco.com/fr/reseaux/accelerer-vos-operations-avec-ansible-et-cisco-dna-center/&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Article on Ansible for IOS-XE: &lt;A href="https://gblogs.cisco.com/fr/reseaux/manager-vos-equipements-cisco-avec-ansible/" target="_blank" rel="nofollow noopener noreferrer"&gt;https://gblogs.cisco.com/fr/reseaux/manager-vos-equipements-cisco-avec-ansible/&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;</description>
      <pubDate>Mon, 15 Jul 2024 16:14:26 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-platform-api/using-ansible-for-meraki/m-p/5437855#M5993</guid>
      <dc:creator>xvalette</dc:creator>
      <dc:date>2024-07-15T16:14:26Z</dc:date>
    </item>
    <item>
      <title>Re: Using Ansible for Meraki</title>
      <link>https://community.cisco.com/t5/network-platform-api/using-ansible-for-meraki/m-p/5437856#M5994</link>
      <description>&lt;P&gt;Great article ! &lt;/P&gt;&lt;P&gt;Bon travail Xavier !&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jul 2024 17:30:16 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-platform-api/using-ansible-for-meraki/m-p/5437856#M5994</guid>
      <dc:creator>Raphael_L</dc:creator>
      <dc:date>2024-07-15T17:30:16Z</dc:date>
    </item>
  </channel>
</rss>

