Coder Social home page Coder Social logo

kaioguilherme1 / netbox-client Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 237 KB

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.

Home Page: https://netboxcli.readthedocs.io/pt/latest/

License: MIT License

Python 100.00%
agent client hacktoberfest2024 lib netbox netbox-api python3

netbox-client's Introduction

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.

netbox-client's People

Contributors

kaioguilherme1 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.