diff --git a/xos/tosca/resources/vpgwuservice.py b/xos/tosca/resources/vpgwuservice.py
new file mode 100644
index 0000000..fbfad88
--- /dev/null
+++ b/xos/tosca/resources/vpgwuservice.py
@@ -0,0 +1,7 @@
+from service import XOSService
+from services.vpgwu.models import VPGWUService
+
+class XOSVPGWUService(XOSService):
+    provides = "tosca.nodes.VPGWUService"
+    xos_model = VPGWUService
+    copyin_props = ["view_url", "icon_url", "enabled", "published", "public_key", "private_key_fn", "versionNumber"]
\ No newline at end of file
diff --git a/xos/tosca/resources/vpgwutenant.py b/xos/tosca/resources/vpgwutenant.py
new file mode 100644
index 0000000..06cbd42
--- /dev/null
+++ b/xos/tosca/resources/vpgwutenant.py
@@ -0,0 +1,31 @@
+from xosresource import XOSResource
+from core.models import Tenant, Service
+from services.vpgwu.models import VPGWUTenant
+
+class XOSVPGWUTenant(XOSResource):
+    provides = "tosca.nodes.VPGWUTenant"
+    xos_model = VPGWUTenant
+    name_field = None
+    copyin_props = ["s5s8_pgw_tag", "display_message", "image_name"]
+
+    def get_xos_args(self, throw_exception=True):
+        args = super(XOSVPGWUTenant, self).get_xos_args()
+
+        provider_name = self.get_requirement("tosca.relationships.TenantOfService", throw_exception=True)
+        if provider_name:
+            args["provider_service"] = self.get_xos_object(Service, throw_exception=True, name=provider_name)
+
+        return args
+
+    def get_existing_objs(self):
+        args = self.get_xos_args(throw_exception=False)
+        provider_service = args.get("provider", None)
+        if provider_service:
+            return [self.get_xos_object(provider_service=provider_service)]
+        return []
+
+    def postprocess(self, obj):
+        pass
+
+    def can_delete(self, obj):
+        return super(XOSVPGWUTenant, self).can_delete(obj)
