@@ -544,6 +544,8 @@ class RefInfo:
544
544
'ipam.service' : {
545
545
'device' : RefInfo (object_type = 'dcim.device' , field_name = 'device' ),
546
546
'ipaddresses' : RefInfo (object_type = 'ipam.ipaddress' , field_name = 'ipaddresses' , is_many = True ),
547
+ 'parent_object_device' : RefInfo (object_type = 'dcim.device' , field_name = 'parent_object' , is_generic = True ),
548
+ 'parent_object_virtual_machine' : RefInfo (object_type = 'virtualization.virtualmachine' , field_name = 'parent_object' , is_generic = True ),
547
549
'tags' : RefInfo (object_type = 'extras.tag' , field_name = 'tags' , is_many = True ),
548
550
'virtual_machine' : RefInfo (object_type = 'virtualization.virtualmachine' , field_name = 'virtual_machine' ),
549
551
},
@@ -576,6 +578,7 @@ class RefInfo:
576
578
},
577
579
'tenancy.contact' : {
578
580
'group' : RefInfo (object_type = 'tenancy.contactgroup' , field_name = 'group' ),
581
+ 'groups' : RefInfo (object_type = 'tenancy.contactgroup' , field_name = 'groups' , is_many = True ),
579
582
'tags' : RefInfo (object_type = 'extras.tag' , field_name = 'tags' , is_many = True ),
580
583
},
581
584
'tenancy.contactassignment' : {
@@ -948,13 +951,13 @@ def get_json_ref_info(object_type: str|Type[models.Model], json_field_name: str)
948
951
'ipam.rir' : frozenset (['custom_fields' , 'description' , 'is_private' , 'name' , 'slug' , 'tags' ]),
949
952
'ipam.role' : frozenset (['custom_fields' , 'description' , 'name' , 'slug' , 'tags' , 'weight' ]),
950
953
'ipam.routetarget' : frozenset (['comments' , 'custom_fields' , 'description' , 'name' , 'tags' , 'tenant' ]),
951
- 'ipam.service' : frozenset (['comments' , 'custom_fields' , 'description' , 'device' , 'ipaddresses' , 'name' , 'ports' , 'protocol' , 'tags' , 'virtual_machine' ]),
954
+ 'ipam.service' : frozenset (['comments' , 'custom_fields' , 'description' , 'device' , 'ipaddresses' , 'name' , 'parent_object_id' , 'parent_object_type' , ' ports' , 'protocol' , 'tags' , 'virtual_machine' ]),
952
955
'ipam.vlan' : frozenset (['comments' , 'custom_fields' , 'description' , 'group' , 'name' , 'qinq_role' , 'qinq_svlan' , 'role' , 'site' , 'status' , 'tags' , 'tenant' , 'vid' ]),
953
956
'ipam.vlangroup' : frozenset (['custom_fields' , 'description' , 'name' , 'scope_id' , 'scope_type' , 'slug' , 'tags' , 'vid_ranges' ]),
954
957
'ipam.vlantranslationpolicy' : frozenset (['description' , 'name' ]),
955
958
'ipam.vlantranslationrule' : frozenset (['description' , 'local_vid' , 'policy' , 'remote_vid' ]),
956
959
'ipam.vrf' : frozenset (['comments' , 'custom_fields' , 'description' , 'enforce_unique' , 'export_targets' , 'import_targets' , 'name' , 'rd' , 'tags' , 'tenant' ]),
957
- 'tenancy.contact' : frozenset (['address' , 'comments' , 'custom_fields' , 'description' , 'email' , 'group' , 'link' , 'name' , 'phone' , 'tags' , 'title' ]),
960
+ 'tenancy.contact' : frozenset (['address' , 'comments' , 'custom_fields' , 'description' , 'email' , 'group' , 'groups' , ' link' , 'name' , 'phone' , 'tags' , 'title' ]),
958
961
'tenancy.contactassignment' : frozenset (['contact' , 'custom_fields' , 'object_id' , 'object_type' , 'priority' , 'role' , 'tags' ]),
959
962
'tenancy.contactgroup' : frozenset (['custom_fields' , 'description' , 'name' , 'parent' , 'slug' , 'tags' ]),
960
963
'tenancy.contactrole' : frozenset (['custom_fields' , 'description' , 'name' , 'slug' , 'tags' ]),
0 commit comments