Vcenter VmTemplate LibraryItems CheckOuts checkOut

Vcenter VmTemplate LibraryItems CheckOuts checkOut

Checks out a library item containing a virtual machine template. This operation makes a copy of the source virtual machine template contained in the library item as a virtual machine. The virtual machine is copied with the same storage specification as the source virtual machine template. Changes to the checked out virtual machine do not affect the virtual machine template contained in the library item. To save these changes back into the library item, POST /vcenter/vm-template/library-items/{templateLibraryItem}/check-outs/{vm}?action=check-in the virtual machine. To discard the changes, DELETE /vcenter/vm-template/library-items/{templateLibraryItem}/check-outs/{vm} the virtual machine.

This operation was added in vSphere API 6.9.1.

Returns an authorization error if you do not have all of the privileges described as follows:

  • Operation execution requires System.Read.
  • The resource com.vmware.content.library.Item referenced by the parameter templateLibraryItem requires ContentLibrary.CheckOutTemplate.
  • The resource Folder referenced by the property Vcenter VmTemplate LibraryItems CheckOuts PlacementSpec.folder requires System.Read.
  • The resource ResourcePool referenced by the property Vcenter VmTemplate LibraryItems CheckOuts PlacementSpec.resource_pool requires System.Read.
  • The resource HostSystem referenced by the property Vcenter VmTemplate LibraryItems CheckOuts PlacementSpec.host requires System.Read.
  • The resource ClusterComputeResource referenced by the property Vcenter VmTemplate LibraryItems CheckOuts PlacementSpec.cluster requires System.Read.
Request
URI
POST
https://{api_host}/api/vcenter/vm-template/library-items/{templateLibraryItem}/check-outs?action=check-out
COPY
Path Parameters
string
templateLibraryItem
Required

Identifier of the content library item containing the source virtual machine template to be checked out.

The parameter must be an identifier for the resource type: com.vmware.content.library.Item.


Request Body

Specification used to check out the source virtual machine template as a virtual machine.

This parameter is currently required. In the future, if this parameter is missing or null, the system will apply suitable defaults.

{
    "name": "string",
    "placement": {
        "folder": "string",
        "resource_pool": "string",
        "host": "string",
        "cluster": "string"
    },
    "powered_on": false
}
string
name
Optional

Name of the virtual machine to check out of the library item.

This property was added in vSphere API 6.9.1.

This property is currently required. In the future, if this property is missing or null, the system will choose a suitable name for the virtual machine.

placement
Optional

Information used to place the checked out virtual machine.

This property was added in vSphere API 6.9.1.

This property is currently required. In the future, if this property is missing or null, the system will place the virtual machine on a suitable resource.

If specified, each property will be used for placement. If the properties result in disjoint placement, the operation will fail. If the properties along with the placement values of the source virtual machine template result in disjoint placement, the operation will fail.

boolean
powered_on
Optional

Specifies whether the virtual machine should be powered on after check out.

This property was added in vSphere API 6.9.1.

If missing or null, the virtual machine will not be powered on after check out.

Authentication
This operation uses the following authentication methods.
Responses
200

Identifier of the virtual machine that was checked out of the library item.

The response will be an identifier for the resource type: VirtualMachine.

Returns string of type(s) application/json
Operation doesn't return any data structure

400

Vapi Std Errors AlreadyExists if a virtual machine with the name specified by Vcenter VmTemplate LibraryItems CheckOuts CheckOutSpec.name already exists in the folder specified by Vcenter VmTemplate LibraryItems CheckOuts PlacementSpec.folder.

Vapi Std Errors InvalidArgument:

  • if spec contains invalid arguments.
  • if the library item is a member of a subscribed library.
Returns Vapi Std Errors Error of type(s) application/json
"Vapi Std Errors Error Object"
array of object
messages
Required

Stack of one or more localizable messages for human error consumers.

The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked.

Each subsequent message in the stack describes the "cause" of the prior message.

object
data
Optional

Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully.

Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports.

The Vapi Std Errors ArgumentLocations, Vapi Std Errors FileLocations, and Vapi Std Errors TransientIndication schemas are intended as possible values for this property. Vapi Std DynamicID may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.

Some operations will not set this property when reporting errors.

string
error_type
Required

Discriminator field to help API consumers identify the structure type.

For more information see: Vapi Std Errors Error Type.

This property was added in vSphere API 6.7.2.

Can be missing or null for compatibility with preceding implementations.


401

if the user that requested the operation cannot be authenticated.

Returns Vapi Std Errors Unauthenticated of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors Unauthenticated0
"Vapi Std Errors Unauthenticated Object"
string
challenge
Optional

Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used.

For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm="27da1358-2ba4-11e9-b210-d663bd873d93",sts="http://vcenter/sso?vsphere.local", Basic realm="vCenter"

This property was added in vSphere API 7.0.0.0.

This property is optional because it was added in a newer version than its parent node.


403

if the user that requested the operation is not authorized to perform the operation.

Returns Vapi Std Errors Unauthorized of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors Unauthorized0
"Vapi Std Errors Unauthorized Object"

404

if the library item specified by templateLibraryItem cannot be found.

Returns Vapi Std Errors NotFound of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors NotFound0
"Vapi Std Errors NotFound Object"

500

Vapi Std Errors ResourceInaccessible if there is an error accessing the files of the source virtual machine template contained in the library item specified by templateLibraryItem.

Vapi Std Errors UnableToAllocateResource if the limit for the number of virtual machines checked out of a library item (currently 1) has been exceeded.

Vapi Std Errors Error if the system reports an error while responding to the request.

Returns Vapi Std Errors Error of type(s) application/json
"Vapi Std Errors Error Object"
array of object
messages
Required

Stack of one or more localizable messages for human error consumers.

The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked.

Each subsequent message in the stack describes the "cause" of the prior message.

object
data
Optional

Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully.

Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports.

The Vapi Std Errors ArgumentLocations, Vapi Std Errors FileLocations, and Vapi Std Errors TransientIndication schemas are intended as possible values for this property. Vapi Std DynamicID may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.

Some operations will not set this property when reporting errors.

string
error_type
Required

Discriminator field to help API consumers identify the structure type.

For more information see: Vapi Std Errors Error Type.

This property was added in vSphere API 6.7.2.

Can be missing or null for compatibility with preceding implementations.


Code Samples
COPY
                    curl -X POST -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{}' https://{api_host}/api/vcenter/vm-template/library-items/{templateLibraryItem}/check-outs?action=check-out