diff --git a/src/vpc/node_provider.py b/src/vpc/node_provider.py
index 0d5406941..8b24b3a04 100644
--- a/src/vpc/node_provider.py
+++ b/src/vpc/node_provider.py
@@ -477,6 +477,12 @@ def _create_instance(self, name, base_config):
         instance_prototype["boot_volume_attachment"] = boot_volume_attachment
         instance_prototype["primary_network_interface"] = primary_network_interface
 
+        if "user_data" in base_config:
+            instance_prototype["user_data"] = base_config["user_data"]
+
+        if "metadata_service" in base_config:
+            instance_prototype["metadata_service"] = base_config["metadata_service"]
+
         try:
             with self.lock:
                 resp = self.ibm_vpc_client.create_instance(instance_prototype)
@@ -816,4 +822,4 @@ def _configure_logger():
     console_output_handler.setLevel(logging.INFO)
 
     logger.addHandler(file_handler)
-    logger.addHandler(console_output_handler)    
\ No newline at end of file
+    logger.addHandler(console_output_handler)