Skip to main content

Netbox Client

Documentation Status pipeline codecov PyPI version

O NetboxCli é um pacote Python projetado para simplificar e agilizar a interação com o NetBox, uma popular plataforma de gerenciamento de infraestrutura de rede de código aberto. Com este pacote, você pode facilmente interagir com as funcionalidades do NetBox, como gerenciamento de endereços IP (IPAM) e virtualização.

Índice

Documentação Disponível aqui

📄 Dependências

Lista as dependencias

🔧 Instalação

pip install netboxcli

⚙️ uso

Importando o Módulo e Preparando a Conexão

Antes de começar a interagir com o NetBox, você precisa importar o módulo netboxcli e criar um objeto NetBox para estabelecer a conexão com o servidor. Substitua 'sua_url_aqui' pelo endereço IP e porta do seu servidor NetBox e 'seu_token_aqui' pelo seu token de API.

import netboxcli as nb
import json

def printj(data):
    print(json.dumps(data, indent=4))

# Criar um objeto NetBox
nb_client = nb.Client('sua_url_aqui', 'seu_token_aqui')

Utilizando Classes Finais Padrão

Todas as classes finais no NetboxCli têm os mesmos nomes que as classes do NetBox por padrão. Isso facilita a navegação e a familiarização com a estrutura. Aqui estão alguns exemplos de como você pode usar essas classes e seus métodos padronizados:

Exemplo de IPAM: Criar um Novo Bloco de Endereços IP

# Exemplo de criação de um novo bloco de endereços IP
ip_block_data = {
    "prefix": "192.168.10.0/24",
    "description": "Bloco de IPs para Servidores",
    "vlan": 100
}

new_ip_block = nb_client.ipam.prefixes.create(ip_block_data)

Exemplo de Virtualização: Obter uma Máquina Virtual por ID

# Exemplo de obtenção de uma máquina virtual por ID
vm_by_id = nb_client.virtualization.virtual_machines.get(id=1)

Exemplo de IPAM: Atualizar um Bloco de Endereços IP

# Exemplo de atualização de um bloco de endereços IP
updated_ip_block_data = {
    "id": 1,
    "description": "Novo Descrição para o Bloco de IPs"
}

updated_ip_block = nb_client.ipam.prefixes.update(updated_ip_block_data)

Exemplo de Virtualização: Excluir uma Máquina Virtual

# Exemplo de exclusão de uma máquina virtual pelo ID
deleted_vm_id = nb_client.virtualization.virtual_machines.delete(id=1)

para mais exemplos de uso acesse a documentação

Personalizando e Extendendo

Além das operações básicas, você pode personalizar e estender as funcionalidades do NetboxCli de acordo com suas necessidades específicas. As classes finais oferecem uma base sólida para construir interações mais avançadas com a API do NetBox.

Lembre-se de substituir os exemplos de dados e IDs pelos valores reais correspondentes ao seu ambiente NetBox.

Objetivo

O objetivo do projeto NetboxCli é fornecer uma interface Python simples e eficiente para interagir com o NetBox. oferecendo uma alternativa conveniente para os administradores de rede que desejam automatizar tarefas e gerenciar recursos de infraestrutura de maneira mais fácil.

Checklist de Desenvolvimento

Aqui está um checklist do que está atualmente disponível no NetboxCli e do que será adicionado no futuro:

  • Organization: Gerencie informações sobre organizações e empresas associadas aos seus recursos de rede.
  • Devices: Acesse e gerencie dispositivos de rede, incluindo servidores, roteadores e switches.
  • Connections: Interaja com conexões físicas e lógicas entre dispositivos de rede.
  • Wireless: Gerencie redes sem fio, pontos de acesso e configurações de Wi-Fi.
  • IPAM: Simplifique a gestão de blocos de endereços IP, facilitando a adição, recuperação e atualização.
  • Vpn: Suporte para redes de sobreposição, como VPNs e túneis.
  • Virtualização: Gerencie máquinas virtuais de maneira eficaz, desde a criação até a exclusão.
  • Circuits: Gerencie circuitos de rede, como conexões de fibra óptica e links externos.
  • Power: Acesse informações relacionadas ao fornecimento de energia e energia de seus dispositivos.
  • Provisioning: Suporte para provisionamento de rede, incluindo configurações de DHCP e DNS.
  • Customization: Gerencie modelos e configurações personalizadas para seus dispositivos de rede.
  • Operations: Acesse e gerencie informações sobre operações de rede, como manutenção e atualizações.
  • Extras: Integração com plugins e extensões adicionais para funcionalidades personalizadas.

Este checklist será atualizado à medida que novas funcionalidades forem implementadas. Agradecemos por seu interesse e paciência enquanto trabalhamos para tornar o NetboxCli mais abrangente e útil para suas necessidades de automação e gerenciamento de rede.

📌 Versão 1.2.0

Adições na Versão 1.2.0

  • Criação de nova feature: Criação de nova funcionalidade no metodo get que permite passar querys ultilizadas na pagína de filtro

✒️ Autores

📑 Licença

Esse projeto esta sob a licença(MIT) - veja o arquivo Licenca.md para mais detalhes.

Metadata

Release files for netboxcli 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netboxcli 1.2.0
File Size Uploaded
netboxcli-1.2.0.tar.gz 27.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netboxcli 1.2.0
File Interpreter ABI Platform
netboxcli-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 147.8 kB

Release files / netboxcli-1.2.0.tar.gz

Download URL netboxcli-1.2.0.tar.gz
Size 27.7 kB
Tags Source
SHA-256 checksum
How to use checksums
55ad5e6ac431f299445a950d51f49a847805426b36bbb457dcf49f1eda952fdf
BLAKE2b-256 checksum
How to use checksums
063b84d0d90a55906b279b8464c6e29e4021d2ebe100cc58084ea28e6e1778d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.3 Darwin/23.5.0

Release files / netboxcli-1.2.0-py3-none-any.whl

Download URL netboxcli-1.2.0-py3-none-any.whl
Size 120.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
38cd119a2dd1631df9a77999c2b84ef7bf31f8a9d20757099c1302a9e98394ba
BLAKE2b-256 checksum
How to use checksums
e3f065fa75859418eec29329eda2c1a4d1b525b2b626e4993b4370f41efb1951
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.3 Darwin/23.5.0

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.0.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page