Modul Network Automation Python
Modul Network Automation Python
• Open Source : Bahasa yang kuat dan gratis bagi semua orang untuk
menggunakan dan mengubah sesuai kebutuhan.
• Being Embeddable & Extensible: Python dapat memiliki cuplikan bahasa lain di
dalamnya untuk melakukan fungsi tertentu.
• interpreted : Kekhawatiran tugas memori besar dan tugas CPU berat lainnya
diatasi oleh Python sendiri membuat Anda hanya khawatir tentang pengkodean.
• Data Scientist
• Machine Learning
• Internet of Things
• Web Development
• Data Visualization
• Automation
Python Basic
Variable = 5 #Variabel dalam tempat penyimpanan sederhana untuk
menyimpan value data
variable = "John"
#Sebuah set atau beberapa data yang berada di dalam SQUENCE DATA
sebuah variabel
buah-buahan = “apel”, ”pisang”, ”anggur”
Element
cars = "Ford", "Volvo", "BMW" #Setiap elemen adalah urutan dari posisi atau indeks sequence data
cars[0] = "Toyota“
## RULE variabel Python:
variabel peka huruf besar-kecil (usia, Usia dan AGE adalah tiga
variabel berbeda)
Numeric Data
Ada tiga jenis numerik dalam Python:
•int
•float
•complex
#Int
x=1 # int, atau integer, adalah bilangan bulat, positif atau negatif, tanpa desimal, dengan panjang tak terbatas.
# float
y = 2.8 # Float, adalah angka, positif atau negatif, yang mengandung satu atau lebih desimal.
# Complex
z = 1j #Compleks, ditulis dengan "j" sebagai bagian imajiner
Type Conversion
kita dapat mengonversi dari satu jenis data ke jenis lainnya dengan int(), float(), and complex() methods:
x = 1 # int
y = 2.8 # float
z = 1j # complex
print("Hello")
print('Hello')
Dictionary
Dictionary merupakan salah satu type data pada python
yang berisi pasangan key dan value.
#Dictionary type
dict = {"name" : "John",
"age" :36
}
x = dict[“name”]
Set Data
set adalah koleksi yang tidak diurut dan tidak diindeks.
Dalam set, data ditulis dengan sebuah operasi set
a = {1,2,3,4,4,4} #Result
b = {3,4,5,6}
print(a,b)
{1,2,3,4} {3,4,5,6}
print(a & b)
{3,4}
print(a-b)
{1,2}
print(a^b)
{1,2,5,6}
Operations in Sets Data Types
Operators in python
Operator digunakan untuk melakukan operasi pada variabel
dan nilai.
•Comparison operators
•Logical operators
•Identity operators
•Membership operators
•Bitwise operators
Python Arithmetic Operators
Python Assignment Operators
Python Comparison Operators
Python Logical Operators
Jika parameter pada if bernilai salah dan elif bernilai benar, maka blok code dibawah elif akan dieksekusi.
Dan jika ternyata parameter pada if dan elif bernilai salah, maka blok code pada else akan dieksekusi
>>> x = 5
>>>
>>> if x < 10:
... print "x kurang dari 10"
... elif x == 10:
... print "x adalah 10"
... else:
... print "x lebih dari 10“
...
x kurang dari 10
Break & Continue
Jika suatu program mencapai break, maka program tersebut akan berhenti melakukan
perulangan.
Dan jika suatu program mencapai continue, maka program akan skip dan melakukan
perulangan pada nilai selanjutnya
•for loops
•while loops
i = 1
while i < 6:
print(i)
i += 1
Python Functions
Fungsi biasanya digunakan untuk menghemat suatu kode, daripada menulis kode yang sama beberapa kali,
kita bisa membuat sebuah fungsi, dimana fungsi itu akan kita panggil pada beberapa bagian di aplikasi yang
kita buat.
def my_function():
print("Hello from a function") #Untuk memanggil suatu fungsi, gunakan nama fungsi yang
diikuti oleh tanda kurung
my_function()
Contoh menyimpan mobil dalam variabel tunggal dapat terlihat seperti ini:
car1 = "Ford"
car2 = "Volvo"
car3 = "BMW“
Array dapat menyimpan banyak nilai dengan satu nama, dan Anda dapat mengakses nilai dengan merujuk ke
posisi atau nomor indeks.
Contoh
ip_address = '192.168.1.3'
username = 'cisco'
password = 'cisco'
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_key_host_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip_address,username=username,password=password)
conn.send("conf t\n")
conn.send("int lo0\n")
conn.send("ip add 10.1.1.1 255.255.255.255 \n)
time sleep(1)
output = conn.recv(65535)
print(output.decode())
ssh_client.cloce
SSH and Configuration script
Mikrotik
import paramiko
import time
ip_address = '192.168.1.2'
username = 'admin'
password = ''
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip_address,username=username,password=passwors)
ssh_client.close
SSH and Configuration script
Dual vendor
import paramiko
import time
device = [
{
'ip_address' = '192.168.1.3',
'vendor : cisco'
'username' = 'cisco',
'password' = 'cisco'
}
{
'ip_address' = '192.168.1.2',
'vendor : mikrotik'
'username' = 'admin',
'password' = ''
}
]
ssh_client = paramiko.SSHClient()
sh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy))
for device in devices:
ssh.client.connect(hostname=device['ip_address'],username=device['username'],password=device['passw
ord'])
if device['vendor'] == 'cisco':
conn = ssh_client.invoke.shell()
conn.send("conf t\n")
conn.send("int lo0\n")
conn.send("ip add 10.1.1.1.3 255.255.255.255\n")
(time.sleep1)
output = conn.recv(65535)
print(output.decode())
else:
ssh_client.exec_command('interface bridge add name=loopback0\n')
ssh_client.exec_command('ip address add address 10.2.2.1/32 interface=loopback0\n')
ssh_client.close