<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE FL_Course SYSTEM "https://www.flane.de/dtd/fl_course095.dtd"><?xml-stylesheet type="text/xsl" href="https://portal.flane.ch/css/xml-course.xsl"?><course productid="37238" language="fr" source="https://portal.flane.ch/swisscom/fr/xml-course/arista-autofdn" lastchanged="2026-07-10T14:18:34+02:00" parent="https://portal.flane.ch/swisscom/fr/xml-courses"><title>Arista Networking - Automation Foundations</title><productcode>AUTOFDN</productcode><vendorcode>AR</vendorcode><vendorname>Arista</vendorname><fullproductcode>AR-AUTOFDN</fullproductcode><version>3.0</version><objective>&lt;p&gt;At the end of the course, you should be able to :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understand the basics of automation using CloudVision, Ansible and Python&lt;/li&gt;&lt;li&gt;Automate EOS and CloudVision with Ansible&lt;/li&gt;&lt;li&gt;Automate through various methods such as Python &amp;amp; EOS API&amp;rsquo;s, AVD with GitHub, and PyAVD (AVD with Python)&lt;/li&gt;&lt;li&gt;Integrate Arista&amp;#039;s CloudVision to automate and orchestrate network operations&lt;/li&gt;&lt;/ul&gt;</objective><essentials>&lt;ul&gt;
&lt;li&gt;Knowledge and/or experience with Ansible, Python and Jinja would be beneficial&lt;/li&gt;&lt;li&gt;Understanding of Arista Layer 2 and L3 network designs&lt;/li&gt;&lt;li&gt;Experience with Arista CloudVision is beneficial&lt;/li&gt;&lt;/ul&gt;</essentials><audience>&lt;p&gt;Individuals with mid-to-high level experience as network engineers with prior exposure to Python and Ansible Basics.&lt;/p&gt;</audience><contents>&lt;h5&gt;Automation &amp;amp; NetOps foundations&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;Network automation foundations&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to network automation&lt;/li&gt;&lt;li&gt;Approaches to network automation&lt;/li&gt;&lt;li&gt;History of network automation&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Core principles of network automation&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Software development and network automation&lt;/li&gt;&lt;li&gt;Network automation concepts and practices&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Automation tools&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;Automation tools overview&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automation tools and data formats&lt;/li&gt;&lt;li&gt;Programmability IDEs overview&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;VS Code development environment&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Visual Studio Code&lt;/li&gt;&lt;li&gt;VS Code themes, fonts and icons&lt;/li&gt;&lt;li&gt;Customizing VS Code layout&lt;/li&gt;&lt;li&gt;VS Code extensions&lt;/li&gt;&lt;li&gt;VS Code debugger&lt;/li&gt;&lt;li&gt;Reviewing VS Code&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Explore VS Code IDE&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Git version control&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understanding Git version control&lt;/li&gt;&lt;li&gt;Git demo&lt;/li&gt;&lt;li&gt;GitHub demo&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Working with Git&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Collaborate using GitHub&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Python fundamentals&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why Python matters for network automation&lt;/li&gt;&lt;li&gt;Understanding Python variables&lt;/li&gt;&lt;li&gt;Advanced Python concepts&lt;/li&gt;&lt;li&gt;Working with Python variables, lists and dictionaries&lt;/li&gt;&lt;li&gt;Introduction to Python and eAPI&lt;/li&gt;&lt;li&gt;Getting information from EOS devices&lt;/li&gt;&lt;li&gt;Parsing CLI output with Python&lt;/li&gt;&lt;li&gt;Parsing JSON with python&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Python fundamentals&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Understanding structured data&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Understanding APIs&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;Application programmatic interfaces - APIs&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;APIs in network automation&lt;/li&gt;&lt;li&gt;The history of HTTP and its role in networking&lt;/li&gt;&lt;li&gt;Understanding HTTP messages&lt;/li&gt;&lt;li&gt;HTTP authentication&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Securing APIs with PKI&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TLS and SSL overview&lt;/li&gt;&lt;li&gt;TLK certificates and trust chains&lt;/li&gt;&lt;li&gt;Why use certificates in network automation&lt;/li&gt;&lt;li&gt;Creating and installing TLS certificates&lt;/li&gt;&lt;li&gt;Client TLS certificates for API authentication&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Using REST API clients&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to EchoAPI&lt;/li&gt;&lt;li&gt;REST API client requests and responses&lt;/li&gt;&lt;li&gt;HTTP Auth with REST API client&lt;/li&gt;&lt;li&gt;Organizing requests in REST API clients&lt;/li&gt;&lt;li&gt;REST API client scripts&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Using REST API clients&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Ansible fundamentals&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;Getting started with Ansible&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Ansible&lt;/li&gt;&lt;li&gt;Ansible use cases&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Building automation with Ansible&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understanding Ansible files&lt;/li&gt;&lt;li&gt;Working with Ansible variables&lt;/li&gt;&lt;li&gt;Ansible variables demo&lt;/li&gt;&lt;li&gt;Using Ansible debug&lt;/li&gt;&lt;li&gt;Ansible debug demo&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Ansible fundamentals&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;CloudVision fundamentals&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;CloudVision overview&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to CloudVision&lt;/li&gt;&lt;li&gt;CloudVision deployment&lt;/li&gt;&lt;li&gt;CloudVision and device communication&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision high availability&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudVision cluster redundancy&lt;/li&gt;&lt;li&gt;CloudVision dual cluster deployment&lt;/li&gt;&lt;li&gt;CloudVision backups&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision portal setup and operations&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudVision multi-node OVA installation demo&lt;/li&gt;&lt;li&gt;Upgrading CloudVision demo&lt;/li&gt;&lt;li&gt;CloudVision backup and restore demo&lt;/li&gt;&lt;li&gt;Getting familiar with CloudVision interface demo&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Navigating CloudVision&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision network provisioning&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudVision device management overview&lt;/li&gt;&lt;li&gt;Legacy provisioning overview and demo&lt;/li&gt;&lt;li&gt;MLAG configuration demo&lt;/li&gt;&lt;li&gt;CloudVision snapshots&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Configlets&lt;/li&gt;&lt;li&gt;LAB - Snapshots&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Change control&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudVision change control overview&lt;/li&gt;&lt;li&gt;Change control demo&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Change control&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Automated device onboarding in CloudVision&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zero touch provisioning and replacement&lt;/li&gt;&lt;li&gt;ZTP demo &amp;ndash; deploying vEOS to CloudVision&lt;/li&gt;&lt;li&gt;ZTR demo &amp;ndash; replacing a device in CloudVision&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision Studios&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Configuration management with Studios&lt;/li&gt;&lt;li&gt;CloudVision tags&lt;/li&gt;&lt;li&gt;Inventory and topology Studio overview&lt;/li&gt;&lt;li&gt;Inventory and topology Studio demo&lt;/li&gt;&lt;li&gt;Interface configuration and Studio demo&lt;/li&gt;&lt;li&gt;Date and time Studio overview&lt;/li&gt;&lt;li&gt;Date and time Studio demo&lt;/li&gt;&lt;li&gt;Postcard telemetry Studio overview&lt;/li&gt;&lt;li&gt;Mirroring Studio overview&lt;/li&gt;&lt;li&gt;Authentication Studio overview&lt;/li&gt;&lt;li&gt;Authentication Studio demo&lt;/li&gt;&lt;li&gt;Management connectivity Studio demo&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Using Studios&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Clean up Studios&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Working with static config Studios&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Static configuration Studio overview&lt;/li&gt;&lt;li&gt;Adding devices to CloudVision Studios inventory&lt;/li&gt;&lt;li&gt;Using static configuration Studio&lt;/li&gt;&lt;li&gt;Migrating legacy configlets to Studios&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Static configuration Studio&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Software management with CloudVision&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Software management overview&lt;/li&gt;&lt;li&gt;Software image management demo&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision telemetry&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modern network telemetry with CloudVision&lt;/li&gt;&lt;li&gt;Telemetry use cases in CloudVision&lt;/li&gt;&lt;li&gt;Compliance overview&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision monitoring overview&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudVision dashboards&lt;/li&gt;&lt;li&gt;CloudVision events&lt;/li&gt;&lt;li&gt;CloudVision topology overview&lt;/li&gt;&lt;li&gt;Topology icons and settings&lt;/li&gt;&lt;li&gt;CloudVision topology tags&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;AQL and NetSQL&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Querying NetDB and NetSQL&lt;/li&gt;&lt;li&gt;Querying ARP entries using AQL notebook and dashboards&lt;/li&gt;&lt;li&gt;Querying BGP sessions using AQL notebook and dashboards&lt;/li&gt;&lt;li&gt;Querying device state and software versions using NetSQL&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Dashboards and events&lt;/li&gt;&lt;li&gt;LAB - Topology&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Using Ansible and Jinja&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;Network automation with Jinja&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Jinja&lt;/li&gt;&lt;li&gt;Jinja file layout&lt;/li&gt;&lt;li&gt;Jinja variable files&lt;/li&gt;&lt;li&gt;Building and organizing data models&lt;/li&gt;&lt;li&gt;Building and applying configurations with Ansible and CloudVision&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Building and deploying configurations with Jinja&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why Jinja &amp;ndash; manual configuration challenges&lt;/li&gt;&lt;li&gt;Setting up Jinja and building your first template in Ansible&lt;/li&gt;&lt;li&gt;Building the Jinja data model and generating underlay contigs&lt;/li&gt;&lt;li&gt;Upload and deploy Jinja configs through CloudVision&lt;/li&gt;&lt;li&gt;Deploying configs directly with eAPI and Jinja&lt;/li&gt;&lt;li&gt;Deploying Jinja templates via CloudVision configlets&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Automating configuration with Ansible and Jinja&lt;/li&gt;&lt;/ul&gt;</contents><outline>&lt;h5&gt;Automation &amp;amp; NetOps foundations&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;Network automation foundations&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to network automation&lt;/li&gt;&lt;li&gt;Approaches to network automation&lt;/li&gt;&lt;li&gt;History of network automation&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Core principles of network automation&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Software development and network automation&lt;/li&gt;&lt;li&gt;Network automation concepts and practices&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Automation tools&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;Automation tools overview&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automation tools and data formats&lt;/li&gt;&lt;li&gt;Programmability IDEs overview&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;VS Code development environment&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Visual Studio Code&lt;/li&gt;&lt;li&gt;VS Code themes, fonts and icons&lt;/li&gt;&lt;li&gt;Customizing VS Code layout&lt;/li&gt;&lt;li&gt;VS Code extensions&lt;/li&gt;&lt;li&gt;VS Code debugger&lt;/li&gt;&lt;li&gt;Reviewing VS Code&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Explore VS Code IDE&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Git version control&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understanding Git version control&lt;/li&gt;&lt;li&gt;Git demo&lt;/li&gt;&lt;li&gt;GitHub demo&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Working with Git&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Collaborate using GitHub&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Python fundamentals&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why Python matters for network automation&lt;/li&gt;&lt;li&gt;Understanding Python variables&lt;/li&gt;&lt;li&gt;Advanced Python concepts&lt;/li&gt;&lt;li&gt;Working with Python variables, lists and dictionaries&lt;/li&gt;&lt;li&gt;Introduction to Python and eAPI&lt;/li&gt;&lt;li&gt;Getting information from EOS devices&lt;/li&gt;&lt;li&gt;Parsing CLI output with Python&lt;/li&gt;&lt;li&gt;Parsing JSON with python&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Python fundamentals&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Understanding structured data&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Understanding APIs&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;Application programmatic interfaces - APIs&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;APIs in network automation&lt;/li&gt;&lt;li&gt;The history of HTTP and its role in networking&lt;/li&gt;&lt;li&gt;Understanding HTTP messages&lt;/li&gt;&lt;li&gt;HTTP authentication&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Securing APIs with PKI&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TLS and SSL overview&lt;/li&gt;&lt;li&gt;TLK certificates and trust chains&lt;/li&gt;&lt;li&gt;Why use certificates in network automation&lt;/li&gt;&lt;li&gt;Creating and installing TLS certificates&lt;/li&gt;&lt;li&gt;Client TLS certificates for API authentication&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Using REST API clients&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to EchoAPI&lt;/li&gt;&lt;li&gt;REST API client requests and responses&lt;/li&gt;&lt;li&gt;HTTP Auth with REST API client&lt;/li&gt;&lt;li&gt;Organizing requests in REST API clients&lt;/li&gt;&lt;li&gt;REST API client scripts&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Using REST API clients&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Ansible fundamentals&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;Getting started with Ansible&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Ansible&lt;/li&gt;&lt;li&gt;Ansible use cases&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Building automation with Ansible&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understanding Ansible files&lt;/li&gt;&lt;li&gt;Working with Ansible variables&lt;/li&gt;&lt;li&gt;Ansible variables demo&lt;/li&gt;&lt;li&gt;Using Ansible debug&lt;/li&gt;&lt;li&gt;Ansible debug demo&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Ansible fundamentals&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;CloudVision fundamentals&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;CloudVision overview&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to CloudVision&lt;/li&gt;&lt;li&gt;CloudVision deployment&lt;/li&gt;&lt;li&gt;CloudVision and device communication&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision high availability&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudVision cluster redundancy&lt;/li&gt;&lt;li&gt;CloudVision dual cluster deployment&lt;/li&gt;&lt;li&gt;CloudVision backups&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision portal setup and operations&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudVision multi-node OVA installation demo&lt;/li&gt;&lt;li&gt;Upgrading CloudVision demo&lt;/li&gt;&lt;li&gt;CloudVision backup and restore demo&lt;/li&gt;&lt;li&gt;Getting familiar with CloudVision interface demo&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Navigating CloudVision&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision network provisioning&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudVision device management overview&lt;/li&gt;&lt;li&gt;Legacy provisioning overview and demo&lt;/li&gt;&lt;li&gt;MLAG configuration demo&lt;/li&gt;&lt;li&gt;CloudVision snapshots&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Configlets&lt;/li&gt;&lt;li&gt;LAB - Snapshots&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Change control&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudVision change control overview&lt;/li&gt;&lt;li&gt;Change control demo&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Change control&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Automated device onboarding in CloudVision&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zero touch provisioning and replacement&lt;/li&gt;&lt;li&gt;ZTP demo &amp;ndash; deploying vEOS to CloudVision&lt;/li&gt;&lt;li&gt;ZTR demo &amp;ndash; replacing a device in CloudVision&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision Studios&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Configuration management with Studios&lt;/li&gt;&lt;li&gt;CloudVision tags&lt;/li&gt;&lt;li&gt;Inventory and topology Studio overview&lt;/li&gt;&lt;li&gt;Inventory and topology Studio demo&lt;/li&gt;&lt;li&gt;Interface configuration and Studio demo&lt;/li&gt;&lt;li&gt;Date and time Studio overview&lt;/li&gt;&lt;li&gt;Date and time Studio demo&lt;/li&gt;&lt;li&gt;Postcard telemetry Studio overview&lt;/li&gt;&lt;li&gt;Mirroring Studio overview&lt;/li&gt;&lt;li&gt;Authentication Studio overview&lt;/li&gt;&lt;li&gt;Authentication Studio demo&lt;/li&gt;&lt;li&gt;Management connectivity Studio demo&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Using Studios&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Clean up Studios&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Working with static config Studios&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Static configuration Studio overview&lt;/li&gt;&lt;li&gt;Adding devices to CloudVision Studios inventory&lt;/li&gt;&lt;li&gt;Using static configuration Studio&lt;/li&gt;&lt;li&gt;Migrating legacy configlets to Studios&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Static configuration Studio&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Software management with CloudVision&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Software management overview&lt;/li&gt;&lt;li&gt;Software image management demo&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision telemetry&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modern network telemetry with CloudVision&lt;/li&gt;&lt;li&gt;Telemetry use cases in CloudVision&lt;/li&gt;&lt;li&gt;Compliance overview&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;CloudVision monitoring overview&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudVision dashboards&lt;/li&gt;&lt;li&gt;CloudVision events&lt;/li&gt;&lt;li&gt;CloudVision topology overview&lt;/li&gt;&lt;li&gt;Topology icons and settings&lt;/li&gt;&lt;li&gt;CloudVision topology tags&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;AQL and NetSQL&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Querying NetDB and NetSQL&lt;/li&gt;&lt;li&gt;Querying ARP entries using AQL notebook and dashboards&lt;/li&gt;&lt;li&gt;Querying BGP sessions using AQL notebook and dashboards&lt;/li&gt;&lt;li&gt;Querying device state and software versions using NetSQL&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Dashboards and events&lt;/li&gt;&lt;li&gt;LAB - Topology&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Using Ansible and Jinja&lt;/h5&gt;&lt;p&gt;
&lt;strong&gt;Network automation with Jinja&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Jinja&lt;/li&gt;&lt;li&gt;Jinja file layout&lt;/li&gt;&lt;li&gt;Jinja variable files&lt;/li&gt;&lt;li&gt;Building and organizing data models&lt;/li&gt;&lt;li&gt;Building and applying configurations with Ansible and CloudVision&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Building and deploying configurations with Jinja&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why Jinja &amp;ndash; manual configuration challenges&lt;/li&gt;&lt;li&gt;Setting up Jinja and building your first template in Ansible&lt;/li&gt;&lt;li&gt;Building the Jinja data model and generating underlay contigs&lt;/li&gt;&lt;li&gt;Upload and deploy Jinja configs through CloudVision&lt;/li&gt;&lt;li&gt;Deploying configs directly with eAPI and Jinja&lt;/li&gt;&lt;li&gt;Deploying Jinja templates via CloudVision configlets&lt;/li&gt;&lt;li&gt;LAB &amp;ndash; Automating configuration with Ansible and Jinja&lt;/li&gt;&lt;/ul&gt;</outline><objective_plain>At the end of the course, you should be able to :



- Understand the basics of automation using CloudVision, Ansible and Python
- Automate EOS and CloudVision with Ansible
- Automate through various methods such as Python &amp; EOS API’s, AVD with GitHub, and PyAVD (AVD with Python)
- Integrate Arista's CloudVision to automate and orchestrate network operations</objective_plain><essentials_plain>- Knowledge and/or experience with Ansible, Python and Jinja would be beneficial
- Understanding of Arista Layer 2 and L3 network designs
- Experience with Arista CloudVision is beneficial</essentials_plain><audience_plain>Individuals with mid-to-high level experience as network engineers with prior exposure to Python and Ansible Basics.</audience_plain><contents_plain>Automation &amp; NetOps foundations


Network automation foundations



- Introduction to network automation
- Approaches to network automation
- History of network automation

Core principles of network automation



- Software development and network automation
- Network automation concepts and practices
Automation tools


Automation tools overview



- Automation tools and data formats
- Programmability IDEs overview

VS Code development environment



- Introduction to Visual Studio Code
- VS Code themes, fonts and icons
- Customizing VS Code layout
- VS Code extensions
- VS Code debugger
- Reviewing VS Code
- LAB – Explore VS Code IDE

Git version control



- Understanding Git version control
- Git demo
- GitHub demo
- LAB – Working with Git
- LAB – Collaborate using GitHub

Python fundamentals



- Why Python matters for network automation
- Understanding Python variables
- Advanced Python concepts
- Working with Python variables, lists and dictionaries
- Introduction to Python and eAPI
- Getting information from EOS devices
- Parsing CLI output with Python
- Parsing JSON with python
- LAB – Python fundamentals
- LAB – Understanding structured data
Understanding APIs


Application programmatic interfaces - APIs



- APIs in network automation
- The history of HTTP and its role in networking
- Understanding HTTP messages
- HTTP authentication

Securing APIs with PKI



- TLS and SSL overview
- TLK certificates and trust chains
- Why use certificates in network automation
- Creating and installing TLS certificates
- Client TLS certificates for API authentication

Using REST API clients



- Introduction to EchoAPI
- REST API client requests and responses
- HTTP Auth with REST API client
- Organizing requests in REST API clients
- REST API client scripts
- LAB – Using REST API clients
Ansible fundamentals


Getting started with Ansible



- Introduction to Ansible
- Ansible use cases

Building automation with Ansible



- Understanding Ansible files
- Working with Ansible variables
- Ansible variables demo
- Using Ansible debug
- Ansible debug demo
- LAB – Ansible fundamentals
CloudVision fundamentals


CloudVision overview



- Introduction to CloudVision
- CloudVision deployment
- CloudVision and device communication

CloudVision high availability



- CloudVision cluster redundancy
- CloudVision dual cluster deployment
- CloudVision backups

CloudVision portal setup and operations



- CloudVision multi-node OVA installation demo
- Upgrading CloudVision demo
- CloudVision backup and restore demo
- Getting familiar with CloudVision interface demo
- LAB – Navigating CloudVision

CloudVision network provisioning



- CloudVision device management overview
- Legacy provisioning overview and demo
- MLAG configuration demo
- CloudVision snapshots
- LAB – Configlets
- LAB - Snapshots

Change control



- CloudVision change control overview
- Change control demo
- LAB – Change control

Automated device onboarding in CloudVision



- Zero touch provisioning and replacement
- ZTP demo – deploying vEOS to CloudVision
- ZTR demo – replacing a device in CloudVision

CloudVision Studios



- Configuration management with Studios
- CloudVision tags
- Inventory and topology Studio overview
- Inventory and topology Studio demo
- Interface configuration and Studio demo
- Date and time Studio overview
- Date and time Studio demo
- Postcard telemetry Studio overview
- Mirroring Studio overview
- Authentication Studio overview
- Authentication Studio demo
- Management connectivity Studio demo
- LAB – Using Studios
- LAB – Clean up Studios

Working with static config Studios



- Static configuration Studio overview
- Adding devices to CloudVision Studios inventory
- Using static configuration Studio
- Migrating legacy configlets to Studios
- LAB – Static configuration Studio

Software management with CloudVision



- Software management overview
- Software image management demo

CloudVision telemetry



- Modern network telemetry with CloudVision
- Telemetry use cases in CloudVision
- Compliance overview

CloudVision monitoring overview



- CloudVision dashboards
- CloudVision events
- CloudVision topology overview
- Topology icons and settings
- CloudVision topology tags

AQL and NetSQL



- Querying NetDB and NetSQL
- Querying ARP entries using AQL notebook and dashboards
- Querying BGP sessions using AQL notebook and dashboards
- Querying device state and software versions using NetSQL
- LAB – Dashboards and events
- LAB - Topology
Using Ansible and Jinja


Network automation with Jinja



- Introduction to Jinja
- Jinja file layout
- Jinja variable files
- Building and organizing data models
- Building and applying configurations with Ansible and CloudVision

Building and deploying configurations with Jinja



- Why Jinja – manual configuration challenges
- Setting up Jinja and building your first template in Ansible
- Building the Jinja data model and generating underlay contigs
- Upload and deploy Jinja configs through CloudVision
- Deploying configs directly with eAPI and Jinja
- Deploying Jinja templates via CloudVision configlets
- LAB – Automating configuration with Ansible and Jinja</contents_plain><outline_plain>Automation &amp; NetOps foundations


Network automation foundations



- Introduction to network automation
- Approaches to network automation
- History of network automation

Core principles of network automation



- Software development and network automation
- Network automation concepts and practices
Automation tools


Automation tools overview



- Automation tools and data formats
- Programmability IDEs overview

VS Code development environment



- Introduction to Visual Studio Code
- VS Code themes, fonts and icons
- Customizing VS Code layout
- VS Code extensions
- VS Code debugger
- Reviewing VS Code
- LAB – Explore VS Code IDE

Git version control



- Understanding Git version control
- Git demo
- GitHub demo
- LAB – Working with Git
- LAB – Collaborate using GitHub

Python fundamentals



- Why Python matters for network automation
- Understanding Python variables
- Advanced Python concepts
- Working with Python variables, lists and dictionaries
- Introduction to Python and eAPI
- Getting information from EOS devices
- Parsing CLI output with Python
- Parsing JSON with python
- LAB – Python fundamentals
- LAB – Understanding structured data
Understanding APIs


Application programmatic interfaces - APIs



- APIs in network automation
- The history of HTTP and its role in networking
- Understanding HTTP messages
- HTTP authentication

Securing APIs with PKI



- TLS and SSL overview
- TLK certificates and trust chains
- Why use certificates in network automation
- Creating and installing TLS certificates
- Client TLS certificates for API authentication

Using REST API clients



- Introduction to EchoAPI
- REST API client requests and responses
- HTTP Auth with REST API client
- Organizing requests in REST API clients
- REST API client scripts
- LAB – Using REST API clients
Ansible fundamentals


Getting started with Ansible



- Introduction to Ansible
- Ansible use cases

Building automation with Ansible



- Understanding Ansible files
- Working with Ansible variables
- Ansible variables demo
- Using Ansible debug
- Ansible debug demo
- LAB – Ansible fundamentals
CloudVision fundamentals


CloudVision overview



- Introduction to CloudVision
- CloudVision deployment
- CloudVision and device communication

CloudVision high availability



- CloudVision cluster redundancy
- CloudVision dual cluster deployment
- CloudVision backups

CloudVision portal setup and operations



- CloudVision multi-node OVA installation demo
- Upgrading CloudVision demo
- CloudVision backup and restore demo
- Getting familiar with CloudVision interface demo
- LAB – Navigating CloudVision

CloudVision network provisioning



- CloudVision device management overview
- Legacy provisioning overview and demo
- MLAG configuration demo
- CloudVision snapshots
- LAB – Configlets
- LAB - Snapshots

Change control



- CloudVision change control overview
- Change control demo
- LAB – Change control

Automated device onboarding in CloudVision



- Zero touch provisioning and replacement
- ZTP demo – deploying vEOS to CloudVision
- ZTR demo – replacing a device in CloudVision

CloudVision Studios



- Configuration management with Studios
- CloudVision tags
- Inventory and topology Studio overview
- Inventory and topology Studio demo
- Interface configuration and Studio demo
- Date and time Studio overview
- Date and time Studio demo
- Postcard telemetry Studio overview
- Mirroring Studio overview
- Authentication Studio overview
- Authentication Studio demo
- Management connectivity Studio demo
- LAB – Using Studios
- LAB – Clean up Studios

Working with static config Studios



- Static configuration Studio overview
- Adding devices to CloudVision Studios inventory
- Using static configuration Studio
- Migrating legacy configlets to Studios
- LAB – Static configuration Studio

Software management with CloudVision



- Software management overview
- Software image management demo

CloudVision telemetry



- Modern network telemetry with CloudVision
- Telemetry use cases in CloudVision
- Compliance overview

CloudVision monitoring overview



- CloudVision dashboards
- CloudVision events
- CloudVision topology overview
- Topology icons and settings
- CloudVision topology tags

AQL and NetSQL



- Querying NetDB and NetSQL
- Querying ARP entries using AQL notebook and dashboards
- Querying BGP sessions using AQL notebook and dashboards
- Querying device state and software versions using NetSQL
- LAB – Dashboards and events
- LAB - Topology
Using Ansible and Jinja


Network automation with Jinja



- Introduction to Jinja
- Jinja file layout
- Jinja variable files
- Building and organizing data models
- Building and applying configurations with Ansible and CloudVision

Building and deploying configurations with Jinja



- Why Jinja – manual configuration challenges
- Setting up Jinja and building your first template in Ansible
- Building the Jinja data model and generating underlay contigs
- Upload and deploy Jinja configs through CloudVision
- Deploying configs directly with eAPI and Jinja
- Deploying Jinja templates via CloudVision configlets
- LAB – Automating configuration with Ansible and Jinja</outline_plain><duration unit="d" days="5">5 jours</duration><pricelist><price country="FR" currency="EUR">3995.00</price><price country="GB" currency="GBP">4350.00</price><price country="DE" currency="EUR">3995.00</price><price country="AT" currency="EUR">3995.00</price><price country="CH" currency="CHF">3995.00</price><price country="SE" currency="EUR">3995.00</price></pricelist><miles/></course>