From 791027f77b0565724a2f83ef596ba35f85bc8c4e Mon Sep 17 00:00:00 2001 From: Aleksandar Radunovic Date: Mon, 15 Oct 2018 15:13:51 +0200 Subject: [PATCH] Add site seeds --- initializers/sites.yml | 24 ++++++++++++++++++++++++ startup_scripts/41_sites.py | 20 ++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 initializers/sites.yml create mode 100644 startup_scripts/41_sites.py diff --git a/initializers/sites.yml b/initializers/sites.yml new file mode 100644 index 0000000..2d48feb --- /dev/null +++ b/initializers/sites.yml @@ -0,0 +1,24 @@ +# - name: AMS 1 +# slug: ams1 +# region: Downtown +# status: 1 +# facility: Amsterdam 1 +# asn: 12345 +# - name: AMS 2 +# slug: ams2 +# region: Downtown +# status: 1 +# facility: Amsterdam 2 +# asn: 54321 +# - name: AMS 3 +# slug: ams3 +# region: Suburbs +# status: 1 +# facility: Amsterdam 3 +# asn: 67890 +# - name: SING 1 +# slug: sing1 +# region: Singapore +# status: 1 +# facility: Singapore 1 +# asn: 09876 diff --git a/startup_scripts/41_sites.py b/startup_scripts/41_sites.py new file mode 100644 index 0000000..7240689 --- /dev/null +++ b/startup_scripts/41_sites.py @@ -0,0 +1,20 @@ +from dcim.models import Site +from dcim.models import Region +from ruamel.yaml import YAML + +with open('/opt/netbox/initializers/sites.yml', 'r') as stream: + yaml = YAML(typ='safe') + sites = yaml.load(stream) + + if sites is not None: + for site_params in sites: + if "region" in site_params: + region = Region.objects.get(name=site_params.pop('region', None)) + site_params['region'] = region + + + site, created = Site.objects.get_or_create(**site_params) + + if created: + print("Created site", site.name) +