diff --git a/scripts/data/init_data.json b/scripts/data/init_data.json index 541be5ca2616985234e9d63057ab11bdda593b5e..b898f3f43fe2ec4784e6fc3dc87d9b1bde372ded 100644 --- a/scripts/data/init_data.json +++ b/scripts/data/init_data.json @@ -113,28 +113,46 @@ "assigned_object": {"name":"vmware-auto","object_type":"clustertype"} }, { - "object_type": "group", - "name": "SuperAccess" + "object_type": "providercredentials", + "provider_username": "vmware_username", + "provider_password_vault_path": "/path/vault/vmware/auto", + "assigned_object": {"name":"http://vmware/provider/auto","object_type":"cluster"} }, { - "object_type": "group", - "name": "Administrator" + "object_type": "providercredentials", + "provider_username": "aws_username", + "provider_password_vault_path": "/path/vault/aws/auto", + "assigned_object": {"name":"http://aws/provider/auto","object_type":"cluster"} + }, + { + "object_type": "providertypeextraConfig", + "extra_config_name": "vmwareauto-extraconfig", + "extra_config_description":"Extra Config for auto vmware", + "extra_config_structure": {"vmware": [{"dpg": {"type": "String","required": "true"},"datastore": {"type": "String","required": "true"},"esxi_hostname": {"type": "String","required": "true"}}]}, + "assigned_object": {"name":"vmware-auto","object_type":"clustertype"} + }, + { + "object_type": "providertypeextraConfig", + "extra_config_name": "awsauto-extraconfig", + "extra_config_description":"Extra Config for auto aws", + "extra_config_structure": {"aws": [{"vpc_id": {"type": "String","required": "true"},"ssh_key": {"type": "String","required": "true"},"assign_public_ip": {"type": "boolean","required": "true"},"security_group_id": {"type": "String","required": "true"}}]}, + "assigned_object": {"name":"aws-auto","object_type":"clustertype"} }, { "object_type": "group", - "name": "Global Viewer" + "name": "SuperAccess" }, { "object_type": "group", - "name": "Overall Viewer" + "name": "Administrator" }, { "object_type": "group", - "name": "Euss" + "name": "Global Viewer" }, { "object_type": "group", - "name": "JRC" + "name": "Overall Viewer" }, { "object_type": "ObjectPermission", @@ -1179,12 +1197,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1204,9 +1216,6 @@ }, { "name": "Administrator" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1226,9 +1235,6 @@ }, { "name": "Administrator" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1248,9 +1254,6 @@ }, { "name": "Administrator" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1276,12 +1279,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1301,9 +1298,6 @@ }, { "name": "Administrator" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1323,9 +1317,6 @@ }, { "name": "Administrator" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1345,9 +1336,6 @@ }, { "name": "Administrator" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1373,12 +1361,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1398,9 +1380,6 @@ }, { "name": "Administrator" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1420,9 +1399,6 @@ }, { "name": "Administrator" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1442,9 +1418,6 @@ }, { "name": "Administrator" - }, - { - "name": "Euss" } ], "object_types": [ @@ -1798,12 +1771,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -2050,12 +2017,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -2138,12 +2099,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -2226,12 +2181,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -2396,12 +2345,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -2812,12 +2755,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -4130,12 +4067,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -4300,12 +4231,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -4388,12 +4313,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -4476,12 +4395,6 @@ }, { "name": "Overall Viewer" - }, - { - "name": "JRC" - }, - { - "name": "Euss" } ], "object_types": [ @@ -7833,9 +7746,6 @@ }, { "name": "Global Viewer" - }, - { - "name": "JRC" } ], "object_types": [ @@ -7915,9 +7825,6 @@ }, { "name": "Global Viewer" - }, - { - "name": "JRC" } ], "object_types": [ @@ -11342,9 +11249,6 @@ }, { "name": "Global Viewer" - }, - { - "name": "JRC" } ], "object_types": [ @@ -11364,9 +11268,6 @@ }, { "name": "Administrator" - }, - { - "name": "JRC" } ], "object_types": [ @@ -11386,9 +11287,6 @@ }, { "name": "Administrator" - }, - { - "name": "JRC" } ], "object_types": [ @@ -11408,9 +11306,6 @@ }, { "name": "Administrator" - }, - { - "name": "JRC" } ], "object_types": [ diff --git a/scripts/universal_init_data.py b/scripts/universal_init_data.py index 8ced858f179039d1f2a4f0af853127aee89b7b46..5cf349f0d63fb64899c18c5518f04616be3ff80a 100644 --- a/scripts/universal_init_data.py +++ b/scripts/universal_init_data.py @@ -44,7 +44,13 @@ class InitializeJsonDataScript(Script): return try: - content_type = ContentType.objects.filter(model=object_type.lower()).first() + + #Specific logic for tag due to duplicated content type name + if object_type.lower() == "tag": + content_type = ContentType.objects.filter(model=object_type.lower(), app_label="extras").first() + else: + content_type = ContentType.objects.filter(model=object_type.lower()).first() + if not content_type: self.log_failure(f"Error: ContentType '{object_type}' not found in NetBox.") return @@ -67,6 +73,7 @@ class InitializeJsonDataScript(Script): object_cts = [] for obj in value: m2m_data["model_name"] = obj["model"] + m2m_data["app_label"] = obj["app_label"] assigned_ct = ContentType.objects.filter( model=obj["model"], app_label=obj["app_label"] ).first() @@ -133,7 +140,8 @@ class InitializeJsonDataScript(Script): actions = [f"{permission_name}"] if "object_types" in m2m_data: model_name = m2m_data.pop("model_name") - permission_name = f"{permission_name.capitalize()} {model_name.capitalize()}" + app_name = m2m_data.pop("app_label") + permission_name = f"{permission_name.capitalize()} {model_name.capitalize()} ({app_name.capitalize()})" filtered_data["name"] = permission_name filtered_data["description"] = f"Automatically generated permission: {permission_name}" filtered_data["actions"] = actions