Project cleanup (#6)
* add requirements.txt * Create LICENSE * add test directory * code cleanup * flake8 fixes and code cleanup * setup.py and tox.ini * more fixes
This commit is contained in:
parent
9673bb00b5
commit
396c4b5d10
13 changed files with 385 additions and 59 deletions
36
netbox_agent/cli.py
Normal file
36
netbox_agent/cli.py
Normal file
|
@ -0,0 +1,36 @@
|
|||
import argparse
|
||||
|
||||
from netbox_agent.dell.dell import DellHost
|
||||
import netbox_agent.dmidecode as dmidecode
|
||||
from netbox_agent.hp.hp import HPHost
|
||||
|
||||
MANUFACTURERS = {
|
||||
'Dell Inc.': DellHost,
|
||||
'HP': HPHost,
|
||||
'HPE': HPHost,
|
||||
}
|
||||
|
||||
|
||||
def run(args):
|
||||
manufacturer = dmidecode.get_by_type('Chassis')[0].get('Manufacturer')
|
||||
server = MANUFACTURERS[manufacturer](dmidecode)
|
||||
if args.debug:
|
||||
server.print_debug()
|
||||
if args.register:
|
||||
server.netbox_create()
|
||||
return True
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Netbox agent command line')
|
||||
parser.add_argument('--register', action='store_true',
|
||||
help='Register server in Netbox')
|
||||
parser.add_argument('--debug', action='store_true',
|
||||
help='Print debug informations')
|
||||
|
||||
args = parser.parse_args()
|
||||
return run(args)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue