Virtual App Register Child VM Task

Virtual App Register Child VM Task

Adds an existing virtual machine to this resource pool or vApp.

This operation only works for vApps or resource pools that are children of vApps. To register a VM in a folder, see RegisterVM_Task.

Any % (percent) character used in this name parameter must be escaped, unless it is used to start an escape sequence. Clients may also escape any other characters in this name parameter. In addition to the VirtualMachine.Inventory.Register privilege, it requires System.Read privilege on the datastore that the existing virtual machine resides on.

Required privileges: VirtualMachine.Inventory.Register

Request
URI
POST
https://{vcenter-host}/sdk/vim25/{release}/VirtualApp/{moId}/RegisterChildVM_Task
COPY
Path Parameters
string
moId
Required

The unique identifier for the managed object to which the method attaches; the serialized managed object reference for a request has the form moType/moId, in this case VirtualApp/{moId}.

string
release
Required

The vSphere release schema. The current specification covers vSphere 8.0.2.0 APIs.


Request Body
RegisterChildVMRequestType of type(s) application/json
Required
{
    "path": "string",
    "name": "string",
    "host": {
        "_typeName": "string",
        "type": "string",
        "value": "string"
    }
}
string
path
Required

A datastore path to the virtual machine. If the path ends with ".vmtx", indicating that it refers to a VM template, an InvalidArgument fault is thrown.

string
name
Optional

The name to be assigned to the virtual machine. If this parameter is not set, the displayName configuration parameter of the virtual machine is used. An entity name must be a non-empty string of less than 80 characters. The slash (/), backslash (\) and percent (%) will be escaped using the URL syntax. For example, %2F.

host
Optional

Reference to an instance of the HostSystem managed object.

Authentication
This operation uses the following authentication methods.
Responses
200

This method returns a Task object with which to monitor the operation. The info.result property in the Task contains the newly registered VirtualMachine upon success.

Returns MoRefTask of type(s) application/json
This response body class contains all of the following: MoRefExtensibleManagedObject
{
    "_typeName": "string",
    "type": "string",
    "value": "string"
}

500

NotSupported: if the operation is not supported. For example, if the operation is invoked on a resource pool that is unrelated to a vApp.

OutOfBounds: if the maximum number of VMs has been exceeded.

AlreadyExists: if the virtual machine is already registered.

InvalidDatastore: if the operation cannot be performed on the target datastores.

NotFound: if the configuration file is not found on the system.

InvalidName: if the entity name is invalid.

InvalidArgument: if any of the arguments are invalid and a more specific fault type does not apply.

VmConfigFault: if the format / configuration of the virtual machine is invalid. Typically, a more specific fault is thrown such as InvalidFormat if the configuration file cannot be read, or InvalidDiskFormat if the disks cannot be read.

FileFault: if there is an error accessing the files on disk.

InsufficientResourcesFault: if this operation would violate a resource usage policy.

Returns VimFault of type(s) application/json
This response body class contains all of the following: MethodFault
{
    "_typeName": "string",
    "faultCause": "MethodFault Object",
    "faultMessage": [
        {
            "_typeName": "string",
            "key": "string",
            "arg": [
                {
                    "_typeName": "string",
                    "key": "string",
                    "value": {
                        "_typeName": "string"
                    }
                }
            ],
            "message": "string"
        }
    ]
}

Virtual App Operations
POST
Virtual App Clone V App Task
POST
Virtual App Create Child VM Task
POST
Virtual App Create Resource Pool
POST
Virtual App Create V App
POST
Virtual App Destroy Task
POST
Virtual App Destroy Children
POST
Virtual App Export V App
GET
Virtual App Get Alarm Actions Enabled
GET
Virtual App Get Available Field
GET
Virtual App Get Child Configuration
GET
Virtual App Get Child Link
GET
Virtual App Get Config
GET
Virtual App Get Config Issue
GET
Virtual App Get Config Status
GET
Virtual App Get Custom Value
GET
Virtual App Get Datastore
GET
Virtual App Get Declared Alarm State
GET
Virtual App Get Disabled Method
GET
Virtual App Get Effective Role
GET
Virtual App Get Name
GET
Virtual App Get Namespace
GET
Virtual App Get Network
GET
Virtual App Get Overall Status
GET
Virtual App Get Owner
GET
Virtual App Get Parent
GET
Virtual App Get Parent Folder
GET
Virtual App Get Parent V App
GET
Virtual App Get Permission
GET
Virtual App Get Recent Task
GET
Virtual App Get Resource Pool
GET
Virtual App Get Runtime
GET
Virtual App Get Summary
GET
Virtual App Get Tag
GET
Virtual App Get Triggered Alarm State
GET
Virtual App Get Value
GET
Virtual App Get V App Config
GET
Virtual App Get Vm
POST
Virtual App Import V App
POST
Virtual App Move Into Resource Pool
POST
Virtual App Power Off V App Task
POST
Virtual App Power On V App Task
POST
Virtual App Query Resource Config Option
POST
Virtual App Refresh Runtime
POST
Virtual App Register Child VM Task
POST
Virtual App Reload
POST
Virtual App Rename Task
POST
Virtual App Set Custom Value
POST
Virtual App Suspend V App Task
POST
Virtual App Unregister V App Task
POST
Virtual App Update Child Resource Configuration
POST
Virtual App Update Config
POST
Virtual App Update Linked Children
POST
Virtual App Update V App Config