Newer
Older
netbox-docker / startup_scripts / 300_cluster_groups.py
@kr3ator kr3ator on 8 Apr 2022 518 bytes feat: Make startup scripts idempotent
import sys

from startup_script_utils import load_yaml, split_params
from virtualization.models import ClusterGroup

cluster_groups = load_yaml("/opt/netbox/initializers/cluster_groups.yml")

if cluster_groups is None:
    sys.exit()

for params in cluster_groups:
    matching_params, defaults = split_params(params)
    cluster_group, created = ClusterGroup.objects.get_or_create(
        **matching_params, defaults=defaults
    )

    if created:
        print("🗄️ Created Cluster Group", cluster_group.name)