com.vmware.vcenter.ovf.library_item

The library_item service provides operations to deploy virtual machines and virtual appliances from library items containing Open Virtualization Format (OVF) packages in content library, as well as operations to create library items in content library from virtual machines and virtual appliances.

To deploy a virtual machine or a virtual appliance from a library item:

  1. Create a com.vmware.vcenter.ovf.library_item.deployment_target to specify the target deployment type and target deployment designation.
  2. Create a com.vmware.vcenter.ovf.library_item.resource_pool_deployment_spec to specify the parameters for the target deployment.
  3. Use the deploy operation with the created target and parameter specifications, along with the identifier of the specified source content library item. See deploy.

To create a library item in content library from a virtual machine or virtual appliance:

  1. Create a com.vmware.vcenter.ovf.library_item.deployable_identity to specify the source virtual machine or virtual appliance to be used as the OVF template source.
  2. Create a com.vmware.vcenter.ovf.library_item.create_target to specify the target library and library item.
  3. Create a com.vmware.vcenter.ovf.library_item.create_spec to specify the settings for the OVF package to be created.
  4. Use the create operation with the created target and parameter specifications, along with the specified source entity. See create.

deploy

POST /com/vmware/vcenter/ovf/library-item/id:{ovf_library_item_id}?~action=deploy
POST /com/vmware/vcenter/ovf/library-item?~action=deploy

Deploys an OVF package stored in content library to a newly created virtual machine or virtual appliance.

This operation deploys an OVF package which is stored in the library item specified by ovf_library_item_id. It uses the deployment specification in deployment_spec to deploy the OVF package to the location specified by target.

Request:
Representations:
{
    "client_token""string",
    "deployment_spec"{
        "accept_all_EULA"true,
        "additional_parameters"[
            {
                "@class""com.vmware.vcenter.ovf.ovf_params",
                "type""string"
            },
            {
                "@class""com.vmware.vcenter.ovf.ovf_params",
                "type""string"
            }
        ],
        "annotation""string",
        "default_datastore_id""obj-103",
        "flags"[
            "string",
            "string"
        ],
        "locale""string",
        "name""string",
        "network_mappings"[
            {
                "key""string",
                "value""obj-103"
            }
        ],
        "storage_mappings"[
            {
                "key""string",
                "value"{
                    "datastore_id""obj-103",
                    "provisioning""thin",
                    "storage_profile_id""obj-103",
                    "type""DATASTORE"
                }
            }
        ],
        "storage_profile_id""obj-103",
        "storage_provisioning""thin"
    },
    "ovf_library_item_id""obj-103",
    "target"{
        "folder_id""obj-103",
        "host_id""obj-103",
        "resource_pool_id""obj-103"
    }
}
<?xml version="1.0" ?>
<ns0:Deploy-Input xmlns:ns0="http://vmware.com/vcenter/ovf/library_item" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <deployment_spec>
    <annotation>string</annotation>
    <network_mappings-array>
      <array-item>
        <value>obj-103</value>
        <key>string</key>
      </array-item>
    </network_mappings-array>
    <flags-array>
      <array-item>string</array-item>
      <array-item>string</array-item>
    </flags-array>
    <storage_provisioning>thin</storage_provisioning>
    <storage_mappings-array>
      <array-item>
        <value>
          <datastore_id>obj-103</datastore_id>
          <storage_profile_id>obj-103</storage_profile_id>
          <type>DATASTORE</type>
          <provisioning>thin</provisioning>
        </value>
        <key>string</key>
      </array-item>
    </storage_mappings-array>
    <locale>string</locale>
    <name>string</name>
    <default_datastore_id>obj-103</default_datastore_id>
    <additional_parameters-array>
      <array-item class="com.vmware.vcenter.ovf.ovf_params">
        <type>string</type>
      </array-item>
      <array-item class="com.vmware.vcenter.ovf.ovf_params">
        <type>string</type>
      </array-item>
    </additional_parameters-array>
    <storage_profile_id>obj-103</storage_profile_id>
    <accept_all_EULA>true</accept_all_EULA>
  </deployment_spec>
  <client_token>string</client_token>
  <target>
    <folder_id>obj-103</folder_id>
    <host_id>obj-103</host_id>
    <resource_pool_id>obj-103</resource_pool_id>
  </target>
  <ovf_library_item_id>obj-103</ovf_library_item_id>
</ns0:Deploy-Input>
POST /com/vmware/vcenter/ovf/library-item?~action=deploy
&deployment_spec.annotation=string
&deployment_spec.network_mappings.1.value=obj-103
&deployment_spec.network_mappings.1.key=string
&deployment_spec.flags.1=string
&deployment_spec.flags.2=string
&deployment_spec.storage_provisioning=thin
&deployment_spec.storage_mappings.1.value.datastore_id=obj-103
&deployment_spec.storage_mappings.1.value.storage_profile_id=obj-103
&deployment_spec.storage_mappings.1.value.type=DATASTORE
&deployment_spec.storage_mappings.1.value.provisioning=thin
&deployment_spec.storage_mappings.1.key=string
&deployment_spec.locale=string
&deployment_spec.name=string
&deployment_spec.default_datastore_id=obj-103
&deployment_spec.additional_parameters.1~class=com.vmware.vcenter.ovf.ovf_params
&deployment_spec.additional_parameters.1.type=string
&deployment_spec.additional_parameters.2~class=com.vmware.vcenter.ovf.ovf_params
&deployment_spec.additional_parameters.2.type=string
&deployment_spec.storage_profile_id=obj-103
&deployment_spec.accept_all_EULA=true
&client_token=string
&target.folder_id=obj-103
&target.host_id=obj-103
&target.resource_pool_id=obj-103
&ovf_library_item_id=obj-103

Parameters:
Name Type Required Description
client_token string No Client-generated token used to retry a request if the client fails to get a response from the server. If the original request succeeded, the result of that request will be returned, otherwise the operation will be retried.
ovf_library_item_id
 *
ID Yes Identifier of the content library item containing the OVF package to be deployed. Id of type com.vmware.content.library.Item.
target
 *
deployment_target Yes Specification of the deployment target.
deployment_spec
 *
resource_pool_deployment_spec Yes Specification of how the OVF package should be deployed to the target.

Response:
Representations:
{
    "value"{
        "error"{
            "errors"[
                {},
                {}
            ],
            "information"[
                {
                    "messages"[
                        {
                            "args"[
                                "string",
                                "string"
                            ],
                            "default_message""string",
                            "id""string"
                        },
                        {
                            "args"[
                                "string",
                                "string"
                            ],
                            "default_message""string",
                            "id""string"
                        }
                    ]
                },
                {
                    "messages"[
                        {
                            "args"[
                                "string",
                                "string"
                            ],
                            "default_message""string",
                            "id""string"
                        },
                        {
                            "args"[
                                "string",
                                "string"
                            ],
                            "default_message""string",
                            "id""string"
                        }
                    ]
                }
            ],
            "warnings"[
                {},
                {}
            ]
        },
        "resource_id"{
            "id""obj-103",
            "type""string"
        },
        "succeeded"true
    }
}
<?xml version="1.0" ?>
<ns0:Deploy-Result xmlns:ns0="http://vmware.com/vcenter/ovf/library_item" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <value>
    <succeeded>true</succeeded>
    <resource_id>
      <id>obj-103</id>
      <type>string</type>
    </resource_id>
    <error>
      <information-array>
        <array-item>
          <messages-array>
            <array-item>
              <default_message>string</default_message>
              <id>string</id>
              <args-array>
                <array-item>string</array-item>
                <array-item>string</array-item>
              </args-array>
            </array-item>
            <array-item>
              <default_message>string</default_message>
              <id>string</id>
              <args-array>
                <array-item>string</array-item>
                <array-item>string</array-item>
              </args-array>
            </array-item>
          </messages-array>
        </array-item>
        <array-item>
          <messages-array>
            <array-item>
              <default_message>string</default_message>
              <id>string</id>
              <args-array>
                <array-item>string</array-item>
                <array-item>string</array-item>
              </args-array>
            </array-item>
            <array-item>
              <default_message>string</default_message>
              <id>string</id>
              <args-array>
                <array-item>string</array-item>
                <array-item>string</array-item>
              </args-array>
            </array-item>
          </messages-array>
        </array-item>
      </information-array>
      <errors-array>
        <array-item>
</array-item>
        <array-item>
</array-item>
      </errors-array>
      <warnings-array>
        <array-item>
</array-item>
        <array-item>
</array-item>
      </warnings-array>
    </error>
  </value>
</ns0:Deploy-Result>

Parameters:
Name Type Required Description
result deployment_result Yes Information about the success or failure of the operation, along with the details of the result or failure.

Errors:
Type Description HTTP Status Code
invalid_argument if target contains invalid arguments. 400
not_found if the library item specified by ovf_library_item_id does not exist. 404
resource_inaccessible if there was an error accessing the OVF package stored in the library item specified by ovf_library_item_id. 400
unauthorized if you do not have all of the privileges described as follows :
  • Operation execution requires VirtualMachine.Config.AddNewDisk if the OVF descriptor has a disk drive (type 17) section.
  • Operation execution requires VirtualMachine.Config.AdvancedConfig if the OVF descriptor has an ExtraConfig section.
  • Operation execution requires Extension.Register for specified resource group if the OVF descriptor has a vServiceDependency section.
  • Operation execution requires Network.Assign for target network if specified.
  • Operation execution requires Datastore.AllocateSpace for target datastore if specified.
403

Copyright © 2014. All Rights Reserved.