A Python package to interact with the NetBox API.
Project description
Netbox Client
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
- Netbox Client
- Índice
- 📄Dependências
- 🔧Instalação
- ⚙️Uso
- 📦Desenvolvimento
- 📌Versão
- 👥Colaboradores
- ✒️Autores
- 📑Licença
📄 Dependências
Lista as dependencias
- requests
- python 3.11 ou superior
- netbox
🔧Instalação
📁 Acesso ao projeto
Apresentar formas de baixar seu projeto.
Baixar via terminal.
git clone https://github.com/Kaioguilherme1/Modelos_e_padroes.git
⚙️ Uso
O NetboxCli é uma ferramenta poderosa para interagir com o NetBox de maneira simples e eficiente. Ele oferece classes consistentes com métodos padronizados para lidar com diversas funcionalidades, incluindo IPAM e Virtualização. Você pode navegar entre as classes da mesma forma que nas abas do NetBox. Aqui estão os passos básicos para começar a usar o NetboxCli:
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)
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.
📦 Desenvolvimento
Nesta seção, você encontrará informações sobre o desenvolvimento contínuo do NetboxCli. Estamos trabalhando para expandir as funcionalidades e fornecer suporte abrangente para todas as abas disponíveis no NetBox 3.5 e versões posteriores. Atualizações e novas funcionalidades serão lançadas com o tempo, conforme o projeto evolui.
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.
- Overlay: 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.
- 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 0.2.0
Adições na Versão 0.2.0
- Virtualização: Gerencie máquinas virtuais de maneira eficaz, desde a criação até a exclusão.
- IPAM: Simplifique a gestão de blocos de endereços IP, facilitando a adição, recuperação e atualização.
✒️ Autores
Mencoes dadas a todos que participaram e ajudaram no projeto desde o início
- developer - Initial Work - Kaio Guilherme
📑 Licença
Esse projeto esta sob a licença(MIT) - veja o arquivo Licenca.md para mais detalhes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for netboxcli-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 140f3ef667bd92a3c014b63d07562aa0204cfb8f3cd51fa3ef3ab636cf8e9a99 |
|
MD5 | db8bf1172d7d7aa972acfd6811dbfced |
|
BLAKE2b-256 | 8b195c4505c4360070f34ae90bd588ec08c3e922f8cd8137cdb8647b53e43340 |