netbox-docker/startup_scripts/010_groups.py

24 lines
641 B
Python
Raw Normal View History

import sys
2021-04-20 16:47:49 -05:00
from startup_script_utils import load_yaml
from users.models import AdminGroup, AdminUser
groups = load_yaml("/opt/netbox/initializers/groups.yml")
if groups is None:
sys.exit()
for groupname, group_details in groups.items():
2021-04-20 17:05:47 -05:00
group, created = AdminGroup.objects.get_or_create(name=groupname)
if created:
print("👥 Created group", groupname)
for username in group_details.get("users", []):
2021-04-20 16:47:49 -05:00
user = AdminUser.objects.get(username=username)
if user:
2021-04-20 16:47:49 -05:00
group.user_set.add(user)
print(" 👤 Assigned user %s to group %s" % (username, group.name))
2021-04-20 16:47:49 -05:00
group.save()