diff --git a/xos/examples/VEpcServiceInstance.yaml b/xos/examples/VEpcServiceInstance.yaml
new file mode 100644
index 0000000..a43bc70
--- /dev/null
+++ b/xos/examples/VEpcServiceInstance.yaml
@@ -0,0 +1,725 @@
+---
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# NOTE: ABOUT LICENSE: From Gopi - The K8S YAML resource section in this file are copied from
+# Intel's resources that were provided to ONF. We need to clarify what licensing terms are imposed
+# for these K8S resources
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Make a Virtual EPC service
+
+imports:
+  - custom_types/vepcservice.yaml
+  - custom_types/vepcserviceinstance.yaml
+  - custom_types/kubernetesresourceinstance.yaml
+  - custom_types/kubernetesservice.yaml
+  - custom_types/vepcresourceinstancelink.yaml
+
+
+topology_template:
+  node_templates:
+    service#vepcervice:
+      type: tosca.nodes.VEpcService
+      properties:
+        name: vepcservice
+        must-exist: true
+
+    service#kubernetes:
+      type: tosca.nodes.KubernetesService
+      properties:
+        name: kubernetes
+        must-exist: true
+
+    vepcserviceinstance:
+      type: tosca.nodes.VEpcServiceInstance
+      properties:
+        name: "EPC for Compute"
+      requirements:
+        - owner:
+            node: service#vepcservice
+            relationship: tosca.relationships.BelongsToOne
+
+    kubernetesresourceinstance_ngic_configmap:
+      type: tosca.nodes.KubernetesResourceInstance
+      properties:
+        name: "NGIC Config Map"
+        resource_definition: |
+          apiVersion: v1
+          data:
+            adc_rules.cfg: |
+              #Format  -
+              #[ IP | IP Prefix | domain ] DROP? Sponsor-ID Service-ID Rate-Group? [Tariff-Group Tariff-Time]?
+              # Note: it is possible that ADC rules have conflicts & in that case rules are applied by line number...
+              # Rules defined first have a higher priority, unless DROP is specified (i.e. multiple rules for the same IP
+              # When specifying DROP with an IP address, use a prefix of 32 to prevent DNS results from overwriting rule
+
+              13.1.1.111 Example Internet Zero-Rate
+              13.1.1.112/24 Example Management Zero-Rate
+              13.1.1.113 Example Provisioning Zero-Rate
+              www.example.gov Example Internet Zero-Rate
+              www.drop_example.com DROP Example CIPA
+            cp_config.cfg: |
+              SGW_S11_IP=$(hostname)
+              SGW_S1U_IP=$(netstat -ie | grep -A1 s1u-net | tail -1 | awk '{print $2}' | tr -d addr:)
+              MGMT_INFO="-s ${SGW_S11_IP} -m ${MME_S11_IP} -w ${SGW_S1U_IP}"
+              APN_INFO="-i ${IP_POOL_IP} -p ${IP_POOL_MASK} -a ${APN}"
+              TEID_INFO="-t ${S11_TEID_POOL_START} -e ${S11_TEID_POOL_STOP} -u ${S1U_TEID_POOL_START} -o ${S1U_TEID_POOL_STOP}"
+              APP_ARGS="${MGMT_INFO} ${APN_INFO} ${TEID_INFO}"
+
+              CORES="-c $(taskset -p $$ | awk '{print $NF}')"
+              MEMORY="-n4 --no-huge -m 4096 --file-prefix cp"
+              DEVICES="--no-pci"
+              EAL_ARGS="${CORES} ${MEMORY} ${DEVICES}"
+            dp_config.cfg: |
+              CORES="-c $(taskset -p $$ | awk '{print $NF}')"
+              MEMORY="-n4 --no-huge -m 8192 --file-prefix cp"
+
+              SGW_S1U_IP=$(netstat -ie | grep -A1 s1u-net | tail -1 | awk '{print $2}' | tr -d addr:)
+              SGW_SGI_IP=$(netstat -ie | grep -A1 sgi-net | tail -1 | awk '{print $2}' | tr -d addr:)
+              S1U_MAC=$( netstat -ie | grep -B1 $SGW_S1U_IP | head -n1 | awk '{print $5}' )
+              SGI_MAC=$( netstat -ie | grep -B1 $SGW_SGI_IP | head -n1 | awk '{print $5}' )
+              DEVICES="--no-pci --vdev eth_af_packet0,iface=s1u-net --vdev eth_af_packet1,iface=sgi-net"
+
+              EAL_ARGS="${CORES} ${MEMORY} ${DEVICES}"
+
+              S1U="--s1u_ip ${SGW_S1U_IP} --s1u_mac ${S1U_MAC}"
+              SGI="--sgi_ip ${SGW_SGI_IP} --sgi_mac ${SGI_MAC} --sgi_gw_ip ${RTR_SGI_IP} --sgi_mask ${SGI_MASK}"
+              WORKERS="--num_workers 1"
+              MISC="--log 1"
+
+              APP_ARGS="${S1U} ${SGI} ${WORKERS} ${MISC}"
+            interface.cfg: "; Copyright (c) 2017 Intel Corporation\n;\n; Licensed under the
+              Apache License, Version 2.0 (the \"License\");\n; you may not use this file except
+              in compliance with the License.\n; You may obtain a copy of the License at\n;\n;
+              \     http://www.apache.org/licenses/LICENSE-2.0\n;\n; Unless required by applicable
+              law or agreed to in writing, software\n; distributed under the License is distributed
+              on an \"AS IS\" BASIS,\n; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+              express or implied.\n; See the License for the specific language governing permissions
+              and\n; limitations under the License.\n\n[0]\ndp_comm_ip =  127.0.0.1\ndp_comm_port
+              = 20\ncp_comm_ip = 127.0.0.1\ncp_comm_port = 21\n"
+            static_pcc.cfg: |+
+              [GLOBAL]
+              NUM_PACKET_FILTERS = 1
+
+              ;default filter - must be first for now (until DP doesn't install any filters)
+              [PACKET_FILTER_0]
+              RATING_GROUP = 9
+              ;Max Bit Rate (MBR) unit= bps
+              MBR = 512000
+
+              [PACKET_FILTER_1]
+              RATING_GROUP = 5
+              MBR = 1000000
+              DIRECTION = bidirectional
+              PRECEDENCE = 255
+              IPV4_REMOTE = 13.1.0.0
+              IPV4_REMOTE_MASK = 255.255.0.0
+              PROTOCOL = 17
+              REMOTE_LOW_LIMIT_PORT = 5060
+              REMOTE_HIGH_LIMIT_PORT = 5060
+
+              [PACKET_FILTER_2]
+              RATING_GROUP = 1
+              MBR = 2000000
+              DIRECTION = bidirectional
+              PRECEDENCE = 255
+              IPV4_REMOTE = 13.1.0.0
+              IPV4_REMOTE_MASK = 255.255.0.0
+              PROTOCOL = 17
+              LOCAL_LOW_LIMIT_PORT = 17000
+              LOCAL_HIGH_LIMIT_PORT = 17010
+
+              [PACKET_FILTER_3]
+              RATING_GROUP = 7
+              MBR = 4000000
+              DIRECTION = bidirectional
+              PRECEDENCE = 255
+              IPV4_REMOTE = 13.1.0.0
+              IPV4_REMOTE_MASK = 255.255.0.0
+              PROTOCOL = 17
+              LOCAL_LOW_LIMIT_PORT = 8000
+              LOCAL_HIGH_LIMIT_PORT = 8080
+
+          kind: ConfigMap
+          metadata:
+            name: ngic-config
+
+      requirements:
+        - owner:
+            node: service#kubernetes
+            relationship: tosca.relationships.BelongsToOne
+
+    kubernetesresourceinstance_mme_service:
+      type: tosca.nodes.KubernetesResourceInstance
+      properties:
+        name: "MME Service"
+        resource_definition: |
+          apiVersion: v1
+          kind: Service
+          metadata:
+            name: mme
+          spec:
+            selector:
+              app: mme
+            clusterIP: None
+            ports:
+            - name: s11
+              port: 2123
+              protocol: UDP
+            - name: s1ap
+              port: 36412
+              protocol: TCP
+            - name: s6a
+              port: 3868
+              protocol: TCP
+
+      requirements:
+        - owner:
+            node: service#kubernetes
+            relationship: tosca.relationships.BelongsToOne
+
+    kubernetesresourceinstance_mme_statefulset:
+      type: tosca.nodes.KubernetesResourceInstance
+      properties:
+        name: "MME StatefulSet"
+        resource_definition: |
+          apiVersion: apps/v1
+          kind: StatefulSet
+          metadata:
+            name: mme
+            labels:
+              app: mme
+          spec:
+            replicas: 1
+            selector:
+              matchLabels:
+                app: mme
+            serviceName: "mme"
+            template:
+              metadata:
+                labels:
+                  app: mme
+              spec:
+                terminationGracePeriodSeconds: 1
+                initContainers:
+                - name: init-mme
+                  image: "ngick8stesting/c3po-mmeinit"
+                  command: [ "sh", "-c"]
+                  securityContext:
+                    capabilities:
+                      add:
+                        - NET_ADMIN
+                  args:
+                  - iptables -A OUTPUT -p sctp --sport 36412 --chunk-types any ABORT -j DROP;
+                    until nslookup hss-0.hss.default.svc.cluster.local;
+                    do echo waiting for hss; sleep 2; done;
+                containers:
+                - name: mme
+                  image: "ngick8stesting/c3po-mme:5e2eaf6"
+                  imagePullPolicy: Always
+                  env:
+                    - name: SGW_S11_IP
+                      value: ngic-0.ngic.default.svc.cluster.local
+                    - name: MME_ETH0_IP
+                      valueFrom:
+                        fieldRef:
+                          fieldPath: status.podIP
+                    - name: ENB_S1AP_IP
+                      value: 10.1.11.3
+                    - name: CONNECT_PEER
+                      value: hss-0.hss.default.svc.cluster.local
+                    - name: VAR_HSS_REALM
+                      value: hss.default.svc.cluster.local
+                    - name: HSS_S6A_IP
+                      value: hss-0.hss.default.svc.cluster.local
+                    - name: HSS_PORT
+                      value: "3868"
+
+                  stdin: true
+                  tty: true
+                  #command: [ "sleep", "3600"]
+                  #volumeMounts:
+                  #- name: config-volume
+                  #  mountPath: /opt/ngic/config
+                  #- name: scripts-volume
+                  #  mountPath: /opt/ngic/scripts
+                  #- name: hugepage
+                  #  mountPath: /dev/hugepages
+                  resources:
+                    limits:
+                      cpu: 3
+                      memory: 1Gi
+                #volumes:
+                #  - name: config-volume
+                #    configMap:
+                #      name: ngic-config
+                #  - name: scripts-volume
+                #    secret:
+                #      secretName: ngic-scripts
+                #      defaultMode: 511
+                #  - name: hugepage
+                #    emptyDir:
+                #      medium: HugePages
+
+      requirements:
+        - owner:
+            node: service#kubernetes
+            relationship: tosca.relationships.BelongsToOne
+
+    kubernetesresourceinstance_hss_service:
+      type: tosca.nodes.KubernetesResourceInstance
+      properties:
+        name: "HSS Service"
+        resource_definition: |
+          apiVersion: v1
+          kind: Service
+          metadata:
+            name: hss
+          spec:
+            selector:
+              app: hss
+            clusterIP: None
+            ports:
+            - name: s6a
+              port: 3868
+              protocol: TCP
+
+      requirements:
+        - owner:
+            node: service#kubernetes
+            relationship: tosca.relationships.BelongsToOne
+
+    kubernetesresourceinstance_hss_statefulset:
+      type: tosca.nodes.KubernetesResourceInstance
+      properties:
+        name: "HSS StatefulSet"
+        resource_definition: |
+          apiVersion: apps/v1
+          kind: StatefulSet
+          metadata:
+            name: hss
+            labels:
+              app: hss
+          spec:
+            replicas: 1
+            selector:
+              matchLabels:
+                app: hss
+            serviceName: "hss"
+            template:
+              metadata:
+                labels:
+                  app: hss
+              spec:
+                terminationGracePeriodSeconds: 1
+                initContainers:
+                - name: init-db
+                  image: "ngick8stesting/c3po-cassandra:5e2eaf6"
+                  command: [ "bash", "-xc"]
+                  args:
+                  - until nslookup cassandra; do echo waiting for cassandra; sleep 2; done;
+                    cqlsh --file /scripts/oai_db.cql cassandra;
+                    /scripts/data_provisioning_users.sh 208014567891200 1122334455 apn1 465B5CE8B199B49FAA5F0A2EE238A6BC 100 cassandra mme-0.mme.default.svc.cluster.local mme.default.svc.cluster.local;
+                    /scripts/data_provisioning_mme.sh 1 19136246000 mme-0.mme.default.svc.cluster.local mme.default.svc.cluster.local 1 cassandra;
+                    /scripts/data_provisioning_mme.sh 1 19136246000 smsrouter.test3gpp.net test3gpp.net 0  cassandra;
+                containers:
+                - name: hss
+                  image: "ngick8stesting/c3po-hss:5e2eaf6"
+                  imagePullPolicy: Always
+                  env:
+                    - name: CASSANDRA_ADDR
+                      value: cassandra
+                    - name: MME_ADDR
+                      value: mme-0.mme.default.svc.cluster.local
+                  #command: [ "sleep", "3600"]
+                  resources:
+                    limits:
+                      cpu: 3
+                      memory: 1Gi
+
+      requirements:
+        - owner:
+            node: service#kubernetes
+            relationship: tosca.relationships.BelongsToOne
+
+    kubernetesresourceinstance_hssdb_service:
+      type: tosca.nodes.KubernetesResourceInstance
+      properties:
+        name: "HSS Cassandra Service"
+        resource_definition: |
+          apiVersion: v1
+          kind: Service
+          metadata:
+            labels:
+              app: cassandra
+            name: cassandra
+          spec:
+            clusterIP: None
+            ports:
+              - port: 9042
+            selector:
+              app: cassandra
+
+      requirements:
+        - owner:
+            node: service#kubernetes
+            relationship: tosca.relationships.BelongsToOne
+
+    kubernetesresourceinstance_hssdb_statefulset:
+      type: tosca.nodes.KubernetesResourceInstance
+      properties:
+        name: "HSS Cassandra StatefulSet"
+        resource_definition: |
+          apiVersion: "apps/v1"
+          kind: StatefulSet
+          metadata:
+            name: cassandra
+            labels:
+              app: cassandra
+          spec:
+            serviceName: cassandra
+            replicas: 1 # 3
+            selector:
+              matchLabels:
+                app: cassandra
+            template:
+              metadata:
+                labels:
+                  app: cassandra
+              spec:
+                terminationGracePeriodSeconds: 1
+                containers:
+                - name: cassandra
+                  image: ngick8stesting/c3po-cassandra:5e2eaf6
+                  imagePullPolicy: Always
+                  ports:
+                  - containerPort: 7000
+                    name: intra-node
+                  - containerPort: 7001
+                    name: tls-intra-node
+                  - containerPort: 7199
+                    name: jmx
+                  - containerPort: 9042
+                    name: cql
+                  resources:
+                    limits:
+                      cpu: "3"
+                      memory: 4Gi
+                  # Probably Cassandra:3.x?
+                  #securityContext:
+                  #  capabilities:
+                  #    add:
+                  #      - IPC_LOCK
+                  # Later
+                  #lifecycle:
+                  #  preStop:
+                  #    exec:
+                  #      command:
+                  #      - /bin/sh
+                  #      - -c
+                  #      - nodetool drain
+                  env:
+                  # Performance optimizations
+                    - name: MAX_HEAP_SIZE
+                      value: 512M
+                    - name: HEAP_NEWSIZE
+                      value: 100M
+                    - name: CASSANDRA_SEEDS
+                      value: "cassandra-0.cassandra.default.svc.cluster.local"
+                    - name: CASSANDRA_CLUSTER_NAME
+                      value: "HSS Cluster"
+                    - name: CASSANDRA_RPC_ADDRESS
+                      valueFrom:
+                        fieldRef:
+                          fieldPath: status.podIP
+                    - name: CASSANDRA_ENDPOINT_SNITCH
+                      value: "GossipingPropertyFileSnitch"
+                  readinessProbe:
+                    exec:
+                      command: ["/bin/bash", "-c", "nodetool status -r | awk -v h=$(hostname) '$2==h {exit ($1==\"UN\" ? 0 : -1)}'"]
+                    initialDelaySeconds: 15
+                    timeoutSeconds: 5
+          #        volumeMounts:
+          #        - name: cassandra-data
+          #          mountPath: /var/lib/cassandra
+          #  volumeClaimTemplates:
+          #  - metadata:
+          #      name: cassandra-data
+          #    spec:
+          #      accessModes: [ "ReadWriteOnce" ]
+          #      resources:
+          #        requests:
+          #          storage: 1Gi
+
+      requirements:
+        - owner:
+            node: service#kubernetes
+            relationship: tosca.relationships.BelongsToOne
+
+    kubernetesresourceinstance_spgwcu_service:
+      type: tosca.nodes.KubernetesResourceInstance
+      properties:
+        name: "SPGW Control and User Service"
+        resource_definition: |
+          apiVersion: v1
+          kind: Service
+          metadata:
+            name: ngic
+          spec:
+            selector:
+              app: ngic
+            clusterIP: None
+            ports:
+            - name: s11
+              port: 2123
+              protocol: UDP
+
+      requirements:
+        - owner:
+            node: service#kubernetes
+            relationship: tosca.relationships.BelongsToOne
+
+    kubernetesresourceinstance_spgwcu_statefulset:
+      type: tosca.nodes.KubernetesResourceInstance
+      properties:
+        name: "SPGW Control and User StatefulSet"
+        resource_definition: |
+          apiVersion: apps/v1
+          kind: StatefulSet
+          metadata:
+            name: ngic
+            labels:
+              app: ngic
+          spec:
+            replicas: 1
+            selector:
+              matchLabels:
+                app: ngic
+            serviceName: "ngic"
+            template:
+              metadata:
+                labels:
+                  app: ngic
+                annotations:
+                  kubernetes.v1.cni.cncf.io/networks: '[
+                          { "name": "s1u-net", "interfaceRequest": "s1u-net" },
+                          { "name": "sgi-net", "interfaceRequest": "sgi-net" }
+                  ]'        
+              spec:
+                initContainers:
+                - name: init-iptables
+                  image: "ngick8stesting/c3po-mmeinit"
+                  command: [ "sh", "-c"]
+                  securityContext:
+                    capabilities:
+                      add:
+                        - NET_ADMIN
+                  args:
+                  - iptables -I OUTPUT -p icmp --icmp-type destination-unreachable -j DROP;
+                terminationGracePeriodSeconds: 1
+                containers:
+                - name: ngic-cp
+                  image: "ngick8stesting/ngic-cp:d9b315c"
+                  stdin: true
+                  command: [ "bash",  "-cx", ". /opt/ngic/config/cp_config.cfg; ./ngic_controlplane  $EAL_ARGS -- $APP_ARGS"]
+                  #command: ["sleep", "3600"]
+                  tty: true
+                  env:
+                    - name: MME_S11_IP
+                      value: mme-0.mme.default.svc.cluster.local
+                    #- name: SGW_S1U_IP  # for now,this will be in our own pod
+                    #  value: "5.5.5.5"
+                    - name: APN
+                      value: apn1
+                    - name: IP_POOL_IP
+                      value: "16.0.0.0"
+                    - name: IP_POOL_MASK
+                      value: "255.240.0.0"
+                    - name: S11_TEID_POOL_START
+                      value: "00100000"
+                    - name: S11_TEID_POOL_STOP
+                      value: "001fffff"
+                    - name: S1U_TEID_POOL_START
+                      value: "00100000"
+                    - name: S1U_TEID_POOL_STOP
+                      value: "001fffff"
+                  volumeMounts:
+                  - name: config-volume
+                    mountPath: /opt/ngic/config
+                  #- name: hugepage
+                  #  mountPath: /dev/hugepages
+                  resources:
+                    limits:
+                      #hugepages-2Mi: 4Gi
+                      cpu: 3
+                      memory: 4Gi
+                - name: ngic-dp
+                  image: "ngiccorddemo/ngic-dp:k8s-bm"
+                  stdin: true
+                  tty: true
+                  env:
+                  - name: RTR_SGI_IP 
+                    value: "13.1.1.110"
+                  - name: SGI_MASK
+                    value: "255.255.255.0"
+                  command: [ "bash",  "-cx", ". /opt/ngic/config/dp_config.cfg ; ./ngic_dataplane  $EAL_ARGS -- $APP_ARGS"]
+                  #command: ["sleep", "3600"]
+                  volumeMounts:
+                  - name: config-volume
+                    mountPath: /opt/ngic/config
+                  #- name: hugepage
+                  #  mountPath: /dev/hugepages
+                  resources:
+                    limits:
+                      #hugepages-1Gi: 8Gi
+                      cpu: 8
+                      memory: 8Gi #200Mi
+                      intel.com/sriov: '2'            
+                  securityContext:
+                    privileged: true
+                    capabilities:
+                      add:
+                        - NET_ADMIN
+                        - IPC_LOCK            
+                volumes:
+                  - name: config-volume
+                    configMap:
+                      name: ngic-config
+                  #- name: hugepage
+                  #  emptyDir:
+                  #    medium: HugePages
+
+      requirements:
+        - owner:
+            node: service#kubernetes
+            relationship: tosca.relationships.BelongsToOne
+
+    vepcresourceinstancelink_ngic_configmap:
+      type: tosca.nodes.VEpcResourceInstanceLink
+      properties:
+         name: "NGIC ConfigMap Resource Link"
+
+      requirements:
+        - resource_instance:
+            node: kubernetesresourceinstance_ngic_configmap
+            relationship: tosca.relationships.BelongsToOne
+        - vepc_service_instance:
+            node: vepcserviceinstance
+            relationship: tosca.relationships.BelongsToOne
+
+    vepcresourceinstancelink_mme_service:
+      type: tosca.nodes.VEpcResourceInstanceLink
+      properties:
+         name: "MME Service Resource Link"
+
+      requirements:
+        - resource_instance:
+            node: kubernetesresourceinstance_mme_service
+            relationship: tosca.relationships.BelongsToOne
+        - vepc_service_instance:
+            node: vepcserviceinstance
+            relationship: tosca.relationships.BelongsToOne
+
+    vepcresourceinstancelink_mme_statefulset:
+      type: tosca.nodes.VEpcResourceInstanceLink
+        properties:
+          name: "MME StatefulSet Resource Link"
+
+        requirements:
+          - resource_instance:
+              node: kubernetesresourceinstance_mme_statefulset
+              relationship: tosca.relationships.BelongsToOne
+          - vepc_service_instance:
+              node: vepcserviceinstance
+              relationship: tosca.relationships.BelongsToOne
+
+    vepcresourceinstancelink_hss_service:
+      type: tosca.nodes.VEpcResourceInstanceLink
+      properties:
+         name: "HSS Service Resource Link"
+
+      requirements:
+        - resource_instance:
+            node: kubernetesresourceinstance_hss_service
+            relationship: tosca.relationships.BelongsToOne
+        - vepc_service_instance:
+            node: vepcserviceinstance
+            relationship: tosca.relationships.BelongsToOne
+
+    vepcresourceinstancelink_hss_statefulset:
+      type: tosca.nodes.VEpcResourceInstanceLink
+        properties:
+          name: "HSS StatefulSet Resource Link"
+
+        requirements:
+          - resource_instance:
+              node: kubernetesresourceinstance_hss_statefulset
+              relationship: tosca.relationships.BelongsToOne
+          - vepc_service_instance:
+              node: vepcserviceinstance
+              relationship: tosca.relationships.BelongsToOne
+
+    vepcresourceinstancelink_hssdb_service:
+      type: tosca.nodes.VEpcResourceInstanceLink
+      properties:
+         name: "HSS Cassandra Service Resource Link"
+
+      requirements:
+        - resource_instance:
+            node: kubernetesresourceinstance_hssdb_service
+            relationship: tosca.relationships.BelongsToOne
+        - vepc_service_instance:
+            node: vepcserviceinstance
+            relationship: tosca.relationships.BelongsToOne
+
+    vepcresourceinstancelink_hssdb_statefulset:
+      type: tosca.nodes.VEpcResourceInstanceLink
+        properties:
+          name: "HSS Cassandra StatefulSet Resource Link"
+
+        requirements:
+          - resource_instance:
+              node: kubernetesresourceinstance_hssdb_statefulset
+              relationship: tosca.relationships.BelongsToOne
+          - vepc_service_instance:
+              node: vepcserviceinstance
+              relationship: tosca.relationships.BelongsToOne
+
+    vepcresourceinstancelink_spgwcu_service:
+      type: tosca.nodes.VEpcResourceInstanceLink
+      properties:
+         name: "SPGW Contol and User Service Resource Link"
+
+      requirements:
+        - resource_instance:
+            node: kubernetesresourceinstance_spgwcu_service
+            relationship: tosca.relationships.BelongsToOne
+        - vepc_service_instance:
+            node: vepcserviceinstance
+            relationship: tosca.relationships.BelongsToOne
+
+    vepcresourceinstancelink_spgwcu_statefulset:
+      type: tosca.nodes.VEpcResourceInstanceLink
+        properties:
+          name: "HS SPGW Control and User StatefulSet Resource Link"
+
+        requirements:
+          - resource_instance:
+              node: kubernetesresourceinstance_spgwcu_statefulset
+              relationship: tosca.relationships.BelongsToOne
+          - vepc_service_instance:
+              node: vepcserviceinstance
+              relationship: tosca.relationships.BelongsToOne
diff --git a/xos/examples/show-instances.py b/xos/examples/show-instances.py
new file mode 100755
index 0000000..2369d42
--- /dev/null
+++ b/xos/examples/show-instances.py
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# show-instances.py
+# Show the VEpcServiceInstances and their ip addresses in a human-readable table.
+# Syntax: show-instances.py <base_url> <username> <password>
+#
+# Example: show-instances.py http://192.168.42.253:30006 admin@opencord.org letmein
+
+import sys
+import time
+import requests
+from requests.auth import HTTPBasicAuth
+
+DELAY=1
+
+def main():
+    # if len(sys.argv)<4:
+    #     print "Syntax: xos-instances.py <base_url> <username> <password>"
+    #     sys.exit(-1)
+
+    # base_url = sys.argv[1]
+    # username = sys.argv[2]
+    # password = sys.argv[3]
+
+    # auth = HTTPBasicAuth(username, password)
+
+    # r = requests.get(base_url + "/xosapi/v1/vepcservice/vepcserviceinstances", auth=auth)
+
+    # if r.status_code != 200:
+    #     print "Received error response", r.status_code
+    #     print r.text
+    #     sys.exit(-1)
+
+
+    # print "%-4s %-40s %-4s %-4s" % ("id", "Name", "Comp", "IP")
+    # for item in r.json()["items"]:
+    #     name = item.get("name")
+    #     compute_id = item["compute_instance_id"]
+    #     if compute_id:
+    #         r_compute = requests.get(base_url + "/xosapi/v1/kubernetes/kubernetesserviceinstances/%s" % compute_id, auth=auth)
+    #         if r_compute.status_code != 200:
+    #             print "Received error response when fetching compute instance", r_compute.status_code
+    #             print r_compute.text
+    #             sys.exit(-1)
+    #         pod_ip = r_compute.json().get("pod_ip", "")
+    #     else:
+    #         pod_ip = ""
+    #     print "%4s %-40s %4s %s" % (item["id"], name, compute_id, pod_ip)
+    pass
+
+
+if __name__=="__main__":
+    main()
