Arthur 1 год назад
Родитель
Сommit
26c8ee36fa
1 измененных файлов с 19 добавлено и 0 удалено
  1. 19 0
      netbox/virtualization/graphql/types.py

+ 19 - 0
netbox/virtualization/graphql/types.py

@@ -27,6 +27,10 @@ __all__ = (
     filters=ClusterFilter
 )
 class ClusterType(VLANGroupsMixin, NetBoxObjectType):
+    type: Annotated["ClusterTypeType", strawberry.lazy('virtualization.graphql.types')] | None
+    group: Annotated["ClusterGroupType", strawberry.lazy('virtualization.graphql.types')] | None
+    tenant: Annotated["TenantType", strawberry.lazy('tenancy.graphql.types')] | None
+    site: Annotated["SiteType", strawberry.lazy('dcim.graphql.types')] | None
 
     @strawberry_django.field
     def virtual_machines(self) -> List[Annotated["VirtualMachineType", strawberry.lazy('virtualization.graphql.types')]]:
@@ -78,6 +82,15 @@ class VirtualMachineType(ConfigContextMixin, NetBoxObjectType):
     _name: str
     interface_count: BigInt
     virtual_disk_count: BigInt
+    config_template: Annotated["ConfigTemplateType", strawberry.lazy('extras.graphql.types')] | None
+    site: Annotated["SiteType", strawberry.lazy('dcim.graphql.types')] | None
+    cluster: Annotated["ClusterType", strawberry.lazy('virtualization.graphql.types')] | None
+    device: Annotated["DeviceType", strawberry.lazy('dcim.graphql.types')] | None
+    tenant: Annotated["TenantType", strawberry.lazy('tenancy.graphql.types')] | None
+    platform: Annotated["PlatformType", strawberry.lazy('dcim.graphql.types')] | None
+    role: Annotated["DeviceRoleType", strawberry.lazy('dcim.graphql.types')] | None
+    primary_ip4: Annotated["IPAddressType", strawberry.lazy('ipam.graphql.types')] | None
+    primary_ip6: Annotated["IPAddressType", strawberry.lazy('ipam.graphql.types')] | None
 
     @strawberry_django.field
     def interfaces(self) -> List[Annotated["InterfaceType", strawberry.lazy('dcim.graphql.types')]]:
@@ -100,6 +113,11 @@ class VirtualMachineType(ConfigContextMixin, NetBoxObjectType):
 class VMInterfaceType(IPAddressesMixin, ComponentObjectType):
     _name: str
     mac_address: str | None
+    parent: Annotated["VMInterfaceType", strawberry.lazy('virtualization.graphql.types')] | None
+    bridge: Annotated["VMInterfaceType", strawberry.lazy('virtualization.graphql.types')] | None
+    virtual_machine: Annotated["VirtualMachineType", strawberry.lazy('virtualization.graphql.types')]
+    untagged_vlan: Annotated["VLANType", strawberry.lazy('ipam.graphql.types')] | None
+    vrf: Annotated["VRFType", strawberry.lazy('ipam.graphql.types')] | None
 
     @strawberry_django.field
     def ip_addresses(self) -> List[Annotated["IPAddressType", strawberry.lazy('ipam.graphql.types')]]:
@@ -125,3 +143,4 @@ class VMInterfaceType(IPAddressesMixin, ComponentObjectType):
 )
 class VirtualDiskType(ComponentObjectType):
     _name: str
+    virtual_machine: Annotated["VirtualMachineType", strawberry.lazy('virtualization.graphql.types')]