From 89fddbe0abc7281452908468f7f6fea151cb0e15 Mon Sep 17 00:00:00 2001 From: Aleksandar Radunovic Date: Mon, 15 Oct 2018 15:14:42 +0200 Subject: [PATCH] Add rack role seeds --- initializers/rack_roles.yml | 12 ++++++++++++ startup_scripts/44_rack_roles.py | 20 ++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 initializers/rack_roles.yml create mode 100644 startup_scripts/44_rack_roles.py diff --git a/initializers/rack_roles.yml b/initializers/rack_roles.yml new file mode 100644 index 0000000..e8d1e3e --- /dev/null +++ b/initializers/rack_roles.yml @@ -0,0 +1,12 @@ +# - name: Role 1 +# slug: role-1 +# color: Pink +# - name: Role 2 +# slug: role-2 +# color: Cyan +# - name: Role 3 +# slug: role-3 +# color: Grey +# - name: Role 4 +# slug: role-4 +# color: Teal diff --git a/startup_scripts/44_rack_roles.py b/startup_scripts/44_rack_roles.py new file mode 100644 index 0000000..71b7309 --- /dev/null +++ b/startup_scripts/44_rack_roles.py @@ -0,0 +1,20 @@ +from dcim.models import RackRole +from ruamel.yaml import YAML +from utilities.forms import COLOR_CHOICES + +with open('/opt/netbox/initializers/rack_roles.yml', 'r') as stream: + yaml=YAML(typ='safe') + rack_roles = yaml.load(stream) + + if rack_roles is not None: + for rack_role_params in rack_roles: + color = rack_role_params.pop('color', None) + + for color_tpl in COLOR_CHOICES: + if color in color_tpl: + rack_role_params['color'] = color_tpl[0] + + rack_role, created = RackRole.objects.get_or_create(**rack_role_params) + + if created: + print("Created rack role", rack_role.name)