VirtualBox

Changeset 80711 in vbox for trunk/doc


Ignore:
Timestamp:
Sep 10, 2019 6:27:33 PM (5 years ago)
Author:
vboxsync
Message:

bugref:9490. Added information about the OCI feature into the SDK.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/manual/en_US/SDKRef.xml

    r77977 r80711  
    25492549  <xi:include href="SDKRef_apiref.xml" xpointer="xpointer(/book/*)"
    25502550    xmlns:xi="http://www.w3.org/2001/XInclude" />
     2551
     2552  <chapter id="cloud">
     2553    <title>Working with the Cloud</title>
     2554
     2555    <para>VirtualBox supports and goes towards the Oracle tendencies like "move to the Cloud".</para>
     2556
     2557    <sect1>
     2558      <title>OCI features</title>
     2559      <para>VirtualBox supports the Oracle Cloud Infrastructure (OCI). See the interfaces:
     2560      <link linkend="ICloudClient">ICloudClient</link>,
     2561      <link linkend="ICloudProvider">ICloudProvider</link>,
     2562      <link linkend="ICloudProfile">ICloudProfile</link>,
     2563      <link linkend="ICloudProviderManager">ICloudProviderManager</link>.
     2564      </para>
     2565      <para>Each cloud interface has own implementation to support OCI features. There are everal functions in the implementation
     2566      which should be explained in details because OCI requires some special data or settings.
     2567      </para>
     2568      <para>
     2569        Also see the enumeration <link linkend="VirtualSystemDescriptionType">VirtualSystemDescriptionType</link> for the possible values.
     2570      </para>
     2571    </sect1>
     2572
     2573    <sect1>
     2574      <title>Function ICloudClient::exportVM</title>
     2575      <para>
     2576        See the <link linkend="ICloudClient__exportVM">ICloudClient::exportVM</link>.
     2577        The function exports an existing virtual machine into OCI. The final result of this operation is creation a custom image
     2578        from the bootable image of VM. The Id of created image is returned in the parameter "description" (which is
     2579        <link linkend="IVirtualSystemDescription">IVirtualSystemDescription</link>) as an entry with the type
     2580        VirtualSystemDescriptionType::CloudImageId. The standard steps here are:
     2581        <itemizedlist>
     2582          <listitem>
     2583            <para>Upload VBox image to OCI Object Storage.</para>
     2584          </listitem>
     2585          <listitem>
     2586            <para>Create OCI custom image from the uploaded object.</para>
     2587          </listitem>
     2588        </itemizedlist>
     2589        Parameter "description" must contain all information and settings needed for creation a custom image in OCI.
     2590        At least next entries must be presented there before the call:
     2591        <itemizedlist>
     2592          <listitem>
     2593            <para>VirtualSystemDescriptionType::Name - Name of new instance in OCI.</para>
     2594          </listitem>
     2595          <listitem>
     2596            <para>VirtualSystemDescriptionType::HardDiskImage - The local path or id of bootable VM image.</para>
     2597          </listitem>
     2598          <listitem>
     2599            <para>VirtualSystemDescriptionType::CloudBucket - A cloud bucket name where the exported image is uploaded.</para>
     2600          </listitem>
     2601          <listitem>
     2602            <para>VirtualSystemDescriptionType::CloudImageDisplayName - A name which is assigned to a new custom image in the OCI.</para>
     2603          </listitem>
     2604          <listitem>
     2605            <para>VirtualSystemDescriptionType::CloudKeepObject - Whether keep or delete an uploaded object after its usage.</para>
     2606          </listitem>
     2607          <listitem>
     2608            <para>VirtualSystemDescriptionType::CloudLaunchInstance - Whether launch or not a new instance.</para>
     2609          </listitem>
     2610        </itemizedlist>
     2611      </para>
     2612    </sect1>
     2613
     2614    <sect1>
     2615      <title>Function ICloudClient::launchVM</title>
     2616      <para>
     2617        See the <link linkend="ICloudClient__launchVM">ICloudClient::launchVM</link>.
     2618        The function launches a new instance in OCI with a previously created custom image as a bootable image in OCI.
     2619        The final result of this operation is a running instance. The id of created instance is returned
     2620        in the parameter "description" (which is <link linkend="IVirtualSystemDescription">IVirtualSystemDescription</link>)
     2621        as an entry with the type VirtualSystemDescriptionType::CloudInstanceId.  Parameter "description" must contain all information
     2622        and settings needed for creation a new instance in OCI. At least next entries must be presented there before the call:
     2623        <itemizedlist>
     2624          <listitem>
     2625            <para>VirtualSystemDescriptionType::Name - Name of new instance in OCI.</para>
     2626          </listitem>
     2627          <listitem>
     2628            <para>VirtualSystemDescriptionType::CloudOCISubnet - OCID of existing subnet in OCI which will be used by the instance.</para>
     2629          </listitem>
     2630          <listitem>
     2631            <para>VirtualSystemDescriptionType::CloudImageId - OCID of custom image used as a bootable image for the instance.</para>
     2632          </listitem>
     2633          <listitem>
     2634            <para> VirtualSystemDescriptionType::CloudBootDiskSize - The size of instance bootable image in GB.</para>
     2635          </listitem>
     2636          <listitem>
     2637            <para>VirtualSystemDescriptionType::CloudInstanceShape - The shape of instance according to OCI documentation,
     2638            defines the number of CPUs and RAM memory.</para>
     2639          </listitem>
     2640          <listitem>
     2641            <para>VirtualSystemDescriptionType::CloudLaunchInstance - Whether launch or not a new instance.</para>
     2642          </listitem>
     2643          <listitem>
     2644            <para>VirtualSystemDescriptionType::CloudDomain - Availability domain in OCI where new instance is created.</para>
     2645          </listitem>
     2646          <listitem>
     2647            <para>VirtualSystemDescriptionType::CloudPublicIP - Whether the instance will have a public IP or not.</para>
     2648          </listitem>
     2649        </itemizedlist>
     2650      </para>
     2651    </sect1>
     2652
     2653    <sect1>
     2654      <title>Function ICloudClient::getInstanceInfo</title>
     2655      <para>
     2656        See the <link linkend="ICloudClient__getInstanceInfo">ICloudClient::getInstanceInfo</link>.
     2657        The function takes an instance id (parameter "uid"), finds the requested instance in OCI and gets back information
     2658        about the found instance in the parameter "description" (which is <link linkend="IVirtualSystemDescription">IVirtualSystemDescription</link>)
     2659        The entries with next types will be presented in the object:
     2660        <itemizedlist>
     2661          <listitem>
     2662            <para>VirtualSystemDescriptionType::Name - Displayed name of the instance.</para>
     2663          </listitem>
     2664          <listitem>
     2665            <para>VirtualSystemDescriptionType::CloudDomain - Availability domain in OCI.</para>
     2666          </listitem>
     2667          <listitem>
     2668            <para>VirtualSystemDescriptionType::CloudImageId - Name of custom image used for creation this instance.</para>
     2669          </listitem>
     2670          <listitem>
     2671            <para>VirtualSystemDescriptionType::CloudInstanceId - The OCID of the instance.</para>
     2672          </listitem>
     2673          <listitem>
     2674            <para>VirtualSystemDescriptionType::OS - Guest OS type of the instance.</para>
     2675          </listitem>
     2676          <listitem>
     2677            <para>VirtualSystemDescriptionType::CloudBootDiskSize - Size of instance bootable image.</para>
     2678          </listitem>
     2679          <listitem>
     2680            <para>VirtualSystemDescriptionType::CloudInstanceState - The instance state according to OCI documentation.</para>
     2681          </listitem>
     2682          <listitem>
     2683            <para>VirtualSystemDescriptionType::CloudInstanceShape  - The instance shape according to OCI documentation</para>
     2684          </listitem>
     2685          <listitem>
     2686            <para>VirtualSystemDescriptionType::Memory - RAM memory in GB allocated for the instance.</para>
     2687          </listitem>
     2688          <listitem>
     2689            <para>VirtualSystemDescriptionType::CPU - Number of virtual CPUs allocated for the instance.</para>
     2690          </listitem>
     2691        </itemizedlist>
     2692      </para>
     2693    </sect1>
     2694
     2695    <sect1>
     2696      <title>Function ICloudClient::importInstance</title>
     2697      <para>
     2698        See the <link linkend="ICloudClient__importInstance">ICloudClient::importInstance</link>.
     2699        The API function imports an existing instance from the OCI to the local host.
     2700        The standard steps here are:
     2701        <itemizedlist>
     2702          <listitem>
     2703            <para>Create a custom image from an existing OCI instance.</para>
     2704          </listitem>
     2705          <listitem>
     2706            <para>Export the custom image to OCI object (the object is created in the OCI Object Storage).</para>
     2707          </listitem>
     2708          <listitem>
     2709            <para>Download the OCI object to the local host.</para>
     2710          </listitem>
     2711        </itemizedlist>
     2712          As the result of operation user will have a file with the suffix ".oci" on the local host. This file is a TAR archive which
     2713          contains a bootable instance image converted into the VMDK format and a JSON file with some metadata related to
     2714          the imported instance. The function takes the parameter "description"
     2715          (which is <link linkend="IVirtualSystemDescription">IVirtualSystemDescription</link>)
     2716          Parameter "description" must contain all information and settings needed for successful operation result.
     2717          At least next entries must be presented there before the call:
     2718        <itemizedlist>
     2719          <listitem>
     2720            <para>VirtualSystemDescriptionType::Name is used for the several purposes:
     2721              <itemizedlist>
     2722                <listitem>
     2723                  <para>As a custom image name. A custom image is created from an instance.</para>
     2724                </listitem>
     2725                <listitem>
     2726                  <para>As OCI object name. An object is a file in OCI Object Storage. The object is created from the custom image.</para>
     2727                </listitem>
     2728                <listitem>
     2729                  <para>Name of imported instance on the local host. Because the result of import is a file, the file will have this
     2730                  name and extension ".oci".</para>
     2731                </listitem>
     2732             </itemizedlist>
     2733            </para>
     2734          </listitem>
     2735          <listitem>
     2736            <para>VirtualSystemDescriptionType::CloudInstanceId - The OCID of the existing instance.</para>
     2737          </listitem>
     2738          <listitem>
     2739            <para>VirtualSystemDescriptionType::CloudBucket - a cloud bucket name in OCI Object Storage where created an OCI object
     2740            from a custom image.
     2741            </para>
     2742          </listitem>
     2743        </itemizedlist>
     2744      </para>
     2745    </sect1>
     2746
     2747  </chapter>
    25512748
    25522749  <chapter id="hgcm">
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette