Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageCloud.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageCloud.cpp	(revision 79604)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageCloud.cpp	(revision 79605)
@@ -982,14 +982,14 @@
     static const RTGETOPTDEF s_aOptions[] =
     {
-        { "--compartment-id", 'c', RTGETOPT_REQ_STRING },
+        { "--image-id",       'i', RTGETOPT_REQ_STRING },
         { "--bucket-name",    'b', RTGETOPT_REQ_STRING },
-        { "--object-name",    'o', RTGETOPT_REQ_STRING },
-        { "--display-name",   'd', RTGETOPT_REQ_STRING }
-    };
-    RTGETOPTSTATE GetState;
-    RTGETOPTUNION ValueUnion;
-    int vrc = RTGetOptInit(&GetState, a->argc, a->argv, s_aOptions, RT_ELEMENTS(s_aOptions), iFirst, 0);
-    AssertRCReturn(vrc, RTEXITCODE_FAILURE);
-
+        { "--object-name",    'o', RTGETOPT_REQ_STRING }
+    };
+    RTGETOPTSTATE GetState;
+    RTGETOPTUNION ValueUnion;
+    int vrc = RTGetOptInit(&GetState, a->argc, a->argv, s_aOptions, RT_ELEMENTS(s_aOptions), iFirst, 0);
+    AssertRCReturn(vrc, RTEXITCODE_FAILURE);
+
+    Utf8Str strImageId;
     Utf8Str strCompartmentId;
     Utf8Str strBucketName;
@@ -1003,7 +1003,7 @@
         switch (c)
         {
-            case 'c':
-                strCompartmentId=ValueUnion.psz;
-                Bstr(Utf8Str("compartment-id=").append(ValueUnion.psz)).detachTo(parameters.appendedRaw());
+            case 'i':
+                strImageId=ValueUnion.psz;
+                Bstr(Utf8Str("image-id=").append(ValueUnion.psz)).detachTo(parameters.appendedRaw());
                 break;
             case 'b':
@@ -1015,8 +1015,4 @@
                 Bstr(Utf8Str("object-name=").append(ValueUnion.psz)).detachTo(parameters.appendedRaw());
                 break;
-            case 'd':
-                strDisplayName=ValueUnion.psz;
-                Bstr(Utf8Str("display-name=").append(ValueUnion.psz)).detachTo(parameters.appendedRaw());
-                break;
             case VINF_GETOPT_NOT_OPTION:
                 return errorUnknownSubcommand(ValueUnion.psz);
@@ -1030,19 +1026,25 @@
     pCloudProfile->COMGETTER(Name)(bstrProfileName.asOutParam());
 
+    ComPtr<IVirtualBox> pVirtualBox = a->virtualBox;
+    Bstr bstrImageId;
     ComObjPtr<ICloudClient> oCloudClient;
     CHECK_ERROR2_RET(hrc, pCloudProfile,
                      CreateCloudClient(oCloudClient.asOutParam()),
                      RTEXITCODE_FAILURE);
-    RTPrintf("Creating cloud image \'%s\' from an object \'%s\'...\n", strDisplayName.c_str(), strObjectName.c_str());
+    RTPrintf("Creating an object \'%s\' from the cloud image \'%s\'...\n", strObjectName.c_str(), strImageId.c_str());
 
     ComPtr<IProgress> progress;
     CHECK_ERROR2_RET(hrc, oCloudClient,
-                     CreateImage(ComSafeArrayAsInParam(parameters), progress.asOutParam()),
+                     ImportImage(pVirtualBox, ComSafeArrayAsInParam(parameters), progress.asOutParam()),
                      RTEXITCODE_FAILURE);
     hrc = showProgress(progress);
-    CHECK_PROGRESS_ERROR_RET(progress, ("Cloud image creation failed"), RTEXITCODE_FAILURE);
+    CHECK_PROGRESS_ERROR_RET(progress, ("Cloud image import failed"), RTEXITCODE_FAILURE);
 
     if (SUCCEEDED(hrc))
-        RTPrintf("Cloud image was created successfully\n");
+    {
+        RTPrintf("Cloud image was imported successfully. Find the downloaded object with the name %s "
+                 "in the system temp folder (find the possible environment variables like TEMP, TMP and etc.)\n",
+                 strObjectName.c_str());
+    }
 
     return SUCCEEDED(hrc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
Index: /trunk/src/VBox/Main/idl/VirtualBox.xidl
===================================================================
--- /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 79604)
+++ /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 79605)
@@ -26011,5 +26011,5 @@
   <interface
     name="ICloudClient" extends="$unknown"
-    uuid="361276ab-3be4-4a1a-abf2-2993048766c4"
+    uuid="7ec55937-3152-4e06-8192-c3828aadc7ab"
     wsmap="managed" reservedMethods="16" reservedAttributes="8"
     >
@@ -26157,11 +26157,9 @@
     <method name="importInstance">
       <desc>
-        Import an existing instance with passed id to the local host.
+        Import an existing cloud instance to the local host.
+        All needed parameters are passed in the description (VSD).
       </desc>
       <param name="description" type="IVirtualSystemDescription" dir="in">
         <desc>VirtualSystemDescription object which is describing a machine and all required parameters.</desc>
-      </param>
-      <param name="uid" type="wstring" dir="in">
-        <desc>the id of instance imported from the Cloud.</desc>
       </param>
       <param name="virtualBox" type="IVirtualBox" dir="in">
@@ -26281,4 +26279,19 @@
         <desc>Reference to the existing VBox image.</desc>
       </param>
+      <param name="virtualBox" type="IVirtualBox" dir="in">
+        <desc>Reference to the server-side API root object.</desc>
+      </param>
+      <param name="parameters" type="wstring" dir="in" safearray="yes">
+        <desc>Each parameter in the array must be in the form "name=value".</desc>
+      </param>
+      <param name="progress" type="IProgress" dir="return">
+        <desc>Progress object to track the operation completion.</desc>
+      </param>
+    </method>
+
+    <method name="importImage">
+      <desc>
+        Import an existing image in the Cloud into the VirtualBox.
+      </desc>
       <param name="virtualBox" type="IVirtualBox" dir="in">
         <desc>Reference to the server-side API root object.</desc>
