|
@@ -35,7 +35,102 @@ class ContactAssignmentsMixin:
|
|
|
filters=TenantFilter
|
|
filters=TenantFilter
|
|
|
)
|
|
)
|
|
|
class TenantType(NetBoxObjectType):
|
|
class TenantType(NetBoxObjectType):
|
|
|
- pass
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def asns(self) -> List[Annotated["ASNType", strawberry.lazy('ipam.graphql.types')]]:
|
|
|
|
|
+ return self.asns.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def circuits(self) -> List[Annotated["CircuitType", strawberry.lazy('circuits.graphql.types')]]:
|
|
|
|
|
+ return self.circuits.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def sites(self) -> List[Annotated["SiteType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
|
|
+ return self.sites.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def vlans(self) -> List[Annotated["VLANType", strawberry.lazy('ipam.graphql.types')]]:
|
|
|
|
|
+ return self.vlans.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def wireless_lans(self) -> List[Annotated["WirelessLANType", strawberry.lazy('wireless.graphql.types')]]:
|
|
|
|
|
+ return self.wireless_lans.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def route_targets(self) -> List[Annotated["RouteTargetType", strawberry.lazy('ipam.graphql.types')]]:
|
|
|
|
|
+ return self.route_targets.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def locations(self) -> List[Annotated["LocationType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
|
|
+ return self.locations.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def ip_ranges(self) -> List[Annotated["IPRangeType", strawberry.lazy('ipam.graphql.types')]]:
|
|
|
|
|
+ return self.ip_ranges.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def rackreservations(self) -> List[Annotated["RackReservationType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
|
|
+ return self.rackreservations.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def racks(self) -> List[Annotated["RackType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
|
|
+ return self.racks.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def vdcs(self) -> List[Annotated["VirtualDeviceContextType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
|
|
+ return self.vdcs.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def prefixes(self) -> List[Annotated["PrefixType", strawberry.lazy('ipam.graphql.types')]]:
|
|
|
|
|
+ return self.prefixes.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def cables(self) -> List[Annotated["CableType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
|
|
+ return self.cables.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def virtual_machines(self) -> List[Annotated["VirtualMachineType", strawberry.lazy('virtualization.graphql.types')]]:
|
|
|
|
|
+ return self.virtual_machines.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def vrfs(self) -> List[Annotated["VRFType", strawberry.lazy('ipam.graphql.types')]]:
|
|
|
|
|
+ return self.vrfs.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def asn_ranges(self) -> List[Annotated["ASNRangeType", strawberry.lazy('ipam.graphql.types')]]:
|
|
|
|
|
+ return self.asn_ranges.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def wireless_links(self) -> List[Annotated["WirelessLinkType", strawberry.lazy('wireless.graphql.types')]]:
|
|
|
|
|
+ return self.wireless_links.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def aggregates(self) -> List[Annotated["AggregateType", strawberry.lazy('ipam.graphql.types')]]:
|
|
|
|
|
+ return self.aggregates.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def power_feeds(self) -> List[Annotated["PowerFeedType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
|
|
+ return self.power_feeds.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def devices(self) -> List[Annotated["DeviceType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
|
|
+ return self.devices.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def tunnels(self) -> List[Annotated["TunnelType", strawberry.lazy('vpn.graphql.types')]]:
|
|
|
|
|
+ return self.tunnels.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def ip_addresses(self) -> List[Annotated["IPAddressType", strawberry.lazy('ipam.graphql.types')]]:
|
|
|
|
|
+ return self.ip_addresses.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def clusters(self) -> List[Annotated["ClusterType", strawberry.lazy('virtualization.graphql.types')]]:
|
|
|
|
|
+ return self.clusters.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def l2vpns(self) -> List[Annotated["L2VPNType", strawberry.lazy('vpn.graphql.types')]]:
|
|
|
|
|
+ return self.l2vpns.all()
|
|
|
|
|
|
|
|
|
|
|
|
|
@strawberry_django.type(
|
|
@strawberry_django.type(
|
|
@@ -45,7 +140,18 @@ class TenantType(NetBoxObjectType):
|
|
|
filters=TenantGroupFilter
|
|
filters=TenantGroupFilter
|
|
|
)
|
|
)
|
|
|
class TenantGroupType(OrganizationalObjectType):
|
|
class TenantGroupType(OrganizationalObjectType):
|
|
|
- pass
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def parent(self) -> Annotated["TenantGroupType", strawberry.lazy('tenancy.graphql.types')]:
|
|
|
|
|
+ return self.parent
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def tenants(self) -> List[TenantType]:
|
|
|
|
|
+ return self.tenants.all()
|
|
|
|
|
+
|
|
|
|
|
+ @strawberry_django.field
|
|
|
|
|
+ def children(self) -> List[Annotated["TenantGroupType", strawberry.lazy('tenancy.graphql.types')]]:
|
|
|
|
|
+ return self.children.all()
|
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
#
|