|
@@ -27,6 +27,10 @@ __all__ = (
|
|
|
filters=ClusterFilter
|
|
filters=ClusterFilter
|
|
|
)
|
|
)
|
|
|
class ClusterType(VLANGroupsMixin, NetBoxObjectType):
|
|
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
|
|
@strawberry_django.field
|
|
|
def virtual_machines(self) -> List[Annotated["VirtualMachineType", strawberry.lazy('virtualization.graphql.types')]]:
|
|
def virtual_machines(self) -> List[Annotated["VirtualMachineType", strawberry.lazy('virtualization.graphql.types')]]:
|
|
@@ -78,6 +82,15 @@ class VirtualMachineType(ConfigContextMixin, NetBoxObjectType):
|
|
|
_name: str
|
|
_name: str
|
|
|
interface_count: BigInt
|
|
interface_count: BigInt
|
|
|
virtual_disk_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
|
|
@strawberry_django.field
|
|
|
def interfaces(self) -> List[Annotated["InterfaceType", strawberry.lazy('dcim.graphql.types')]]:
|
|
def interfaces(self) -> List[Annotated["InterfaceType", strawberry.lazy('dcim.graphql.types')]]:
|
|
@@ -100,6 +113,11 @@ class VirtualMachineType(ConfigContextMixin, NetBoxObjectType):
|
|
|
class VMInterfaceType(IPAddressesMixin, ComponentObjectType):
|
|
class VMInterfaceType(IPAddressesMixin, ComponentObjectType):
|
|
|
_name: str
|
|
_name: str
|
|
|
mac_address: str | None
|
|
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
|
|
@strawberry_django.field
|
|
|
def ip_addresses(self) -> List[Annotated["IPAddressType", strawberry.lazy('ipam.graphql.types')]]:
|
|
def ip_addresses(self) -> List[Annotated["IPAddressType", strawberry.lazy('ipam.graphql.types')]]:
|
|
@@ -125,3 +143,4 @@ class VMInterfaceType(IPAddressesMixin, ComponentObjectType):
|
|
|
)
|
|
)
|
|
|
class VirtualDiskType(ComponentObjectType):
|
|
class VirtualDiskType(ComponentObjectType):
|
|
|
_name: str
|
|
_name: str
|
|
|
|
|
+ virtual_machine: Annotated["VirtualMachineType", strawberry.lazy('virtualization.graphql.types')]
|