diff --git a/_modules/contrail.py b/_modules/contrail.py
index 8374dd3..3775c40 100644
--- a/_modules/contrail.py
+++ b/_modules/contrail.py
@@ -70,7 +70,7 @@
     api_host = kwargs.get('api_server_ip')
     api_port = kwargs.get('api_server_port')
     api_base_url = kwargs.get('api_base_url')
-    use_ssl = False
+    use_ssl = kwargs.get('api_server_use_ssl')
     auth_host = kwargs.get('auth_host_ip')
     vnc_lib = vnc_api.VncApi(user, password, tenant_name,
                              api_host, api_port, api_base_url, wait_for_connect=False,
@@ -190,7 +190,7 @@
     if router_type not in router_types:
         router_type = None
     if name in vrouter_objs:
-        vrouter = virtual_router_get(name)
+        vrouter = virtual_router_get(name, **kwargs)
         vrouter_obj = vnc_client._object_read('virtual-router', id=vrouter[name]['uuid'])
         changes = {}
         if vrouter_obj.get_virtual_router_ip_address() != ip_address:
diff --git a/_modules/contrail_health.py b/_modules/contrail_health.py
index 23ae2e9..45bdd33 100644
--- a/_modules/contrail_health.py
+++ b/_modules/contrail_health.py
@@ -103,12 +103,19 @@
 
 
 def get_api_status(wait_for=180, tries=20):
-    api_host = __pillar__['opencontrail'].get('client', {}).get('api', {}).get('host', {})
+    api_host = __pillar__['opencontrail'].get('client', {}).get('api', {}).\
+        get('host', {})
     api_port = __pillar__['opencontrail']['client']['api']['port']
+    use_ssl = __pillar__['opencontrail'].get('client', {}).get('api', {}).\
+        get('use_ssl', {})
+    api_protocol = 'https' if use_ssl is True else 'http'
 
     for t in range(0, tries):
         try:
-            data = salt.utils.http.query("http://{0}:{1}".format(api_host, api_port), backend='requests', status=True)
+            data = salt.utils.http.query(
+                "{0}://{1}:{2}".format(api_protocol, api_host, api_port),
+                backend='requests', status=True
+            )
             if data['status'] == 200:
                 return True
         except Exception as e:
