Como o código está estruturado?¶
Criei esta página na documentação, para tentar ajudar meu eu futuro a lembrar o que sua versão passado fez no meio do código. Já que minha memória me deixa na mão às vezes 😅. Neste processo, acredito que posso ajudar outras pessoas a entender melhor o que cada parte do código faz ou deveria fazer.
Abaixo será descrito o que cada módulo/classe contém e quais tarefas esta deve desempenhar.
class Base(**kwargs)¶
Responsável por realizar a conexão com o roteador e definir métodos básicos porém fundamentais para a interação com o dispositivo, métodos esses que serão usados por todo o Netmikro para realizar as mais variadas tarefas.
Aviso
Essa classe não deve ser usada diretamente por você, assim como os métodos presentes nela. Ela é usada internamente pelo Netmikro. O que você provavelmente vai querer fazer é criar uma instância da classe RouterOS, a qual abordamos mais abaixo nesse mesma página.
_get(command)¶
Executa um comando no terminal de seu roteador Mikrotik e, caso exista, retorna um str contendo o conteúdo devolvido pelo roteador após a execução do comando.
_get_number(command)¶
Este método é utilizado para executar um comando que retornar um valor numérico inteiro, com isso Netmikro te retornará o valor como um int.
_get_float(command)¶
Semelhante ao método anterior, porém é usado quando o comando deve retornar um valor numérico decimal, e o valor retornado será um float.
_get_bool(command)¶
Executa um comando no roteador Mikrotik que deve retornar um valor booleano. Valores booleanos nos dispositivos Mikrotik são retonados como strings 'true' ou 'false', sendo assim Netmikro lê esses valores e faz o casting para o devido tipo booleano em Python (True caso receba 'true', ou False caso receba qualquer outra coisa) e o retorna.
class RouterOS(host, username, password, ssh_port)¶
Responsável por criar uma instancia de um roteador Mikrotik, segue um exemplo:
from netmikro import RouterOS
router = RouterOS(
'192.168.3.3',
'user',
'password',
22,
)
router.cmd('/system identity print')
...
disconnect()¶
Encerra a conexão com o roteador.
cmd(command)¶
Executa demais comandos no roteador.
cmd_multiliine(commands)¶
Recebe uma lista contendo comandos a serem executados no roteador e os executa um a um.
class Ip()¶
Responsável por realizar as configurações relacionadas a endereços IPv4 no dispositivo.
service¶
Um dicionário contendo as configuracoes de portas de serviço atuais.
ip_port_set(service_name, port)¶
Configura um novo número de porta para um servço específico.
class System()¶
Realiza as configurações referentes ao sistema do roteador,
identity¶
Nome de identidade do roteador.
routerboard¶
Se e somente se o dispositivo for uma Routerboard isso será um dicionário contendo:
- model
- revision
- serial-number
- firmware-type
- factory-firmware
- current-firmware
- upgrade-firmware
license¶
Um dicionário contendo:
- software-id
- level
- features
note¶
Conteúdo presente nas notas do sistema.
resources¶
Um dicionário contendo:
- cpu
- cpu-frequency
- memory
- storage
- architecture
- board-name
- version
clock_time_get()¶
Obtém a hora atual do sistema.
clock_time_zone_get()¶
Obtém o timezone do roteador.
clock_gmt_offset()¶
Obtém o GMT Offset do dispositivo.
clock_dst_active_get()¶
Retorna um booleano informando se o DST está ativado ou não.
clock_timezone_autodetect_get()¶
Retorna um valor booleano informando se a deteção automática de timezone está ativado ou não.
health_voltage()¶
Retorna um float com a voltagem atual do dispositivo.
health_temperature()¶
Retorna um float com a temperatura do dispositivo.
history_system_get()¶
Imprime na tela um histórico de alterações no sistema.
identity_set(new_identity)¶
Configura uma nova identidade para o roteador.
note_set(note, show_at_login)¶
Configura uma nova nota para o dispositivo.
ntp_client_get()¶
Retorna um dicionário contendo informações sobre configurações de cliente NTP, chaves presentes no dicionário:
- enabled
- mode
- servers
- vrf
- freq-diff
- status
- synced-server
- synced-stratum
- system-offset
ntp_client_set(servers, enabled, mode, vrf)¶
Configura o client NTP do dispositivo.
ntp_server_get()¶
Retorna um dicionário com as configurações de servidor NTP do roteador. O dicionário contém as seguintes chaves:
- enabled
- broadcast
- multicast
- manycast
- broadcast-address
- vrf
is_routerboard()¶
Retorna True se o dispositivo for uma Routerboard Mikrotik.