|
|
@@ -1,3 +1,5 @@
|
|
|
+from typing import Annotated, List
|
|
|
+
|
|
|
import strawberry
|
|
|
import strawberry_django
|
|
|
|
|
|
@@ -35,6 +37,58 @@ __all__ = (
|
|
|
class ConfigContextType(ObjectType):
|
|
|
pass
|
|
|
|
|
|
+ @strawberry_django.field
|
|
|
+ def roles(self) -> List[Annotated["DeviceRoleType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def device_types(self) -> List[Annotated["DeviceTypeType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def tags(self) -> List[Annotated["TagType", strawberry.lazy('extras.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def platforms(self) -> List[Annotated["PlatformType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def regions(self) -> List[Annotated["RegionType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def cluster_groups(self) -> List[Annotated["ClusterGroupType", strawberry.lazy('virtualization.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def tenant_groups(self) -> List[Annotated["TenantGroupType", strawberry.lazy('tenancy.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def cluster_types(self) -> List[Annotated["ClusterTypeType", strawberry.lazy('virtualization.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def clusters(self) -> List[Annotated["ClusterType", strawberry.lazy('virtualization.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def locations(self) -> List[Annotated["LocationType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def sites(self) -> List[Annotated["SiteType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def tenants(self) -> List[Annotated["TenantType", strawberry.lazy('tenancy.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def site_groups(self) -> List[Annotated["SiteGroupType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
|
|
|
@strawberry_django.type(
|
|
|
models.ConfigTemplate,
|
|
|
@@ -42,7 +96,22 @@ class ConfigContextType(ObjectType):
|
|
|
filters=ConfigTemplateFilter
|
|
|
)
|
|
|
class ConfigTemplateType(TagsMixin, ObjectType):
|
|
|
- pass
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def virtualmachines(self) -> List[Annotated["VirtualMachineType", strawberry.lazy('virtualization.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def devices(self) -> List[Annotated["DeviceType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def platforms(self) -> List[Annotated["PlatformType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
+
|
|
|
+ @strawberry_django.field
|
|
|
+ def device_roles(self) -> List[Annotated["DeviceRoleType", strawberry.lazy('dcim.graphql.types')]]:
|
|
|
+ return self.vlan_groups.all()
|
|
|
|
|
|
|
|
|
@strawberry_django.type(
|