### StartProgramInGuest Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.vm.guest.ProcessManager Starts a program in the guest operating system of a specified virtual machine. The status and exit code of the started program can be queried later. ```APIDOC ## POST /vm/guest/program/start ### Description Starts a program in the guest operating system. A process started this way can have its status queried with ListProcessesInGuest. When the process completes, its exit code and end time will be available for 5 minutes after completion. If VMware Tools is restarted, the exit code and end time will not be available. ### Method POST ### Endpoint /vm/guest/program/start ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **vm** (ManagedObjectReference) - Required - Virtual machine to perform the operation on. - **auth** (GuestAuthentication) - Required - The guest authentication data. - **spec** (GuestProgramSpec) - Required - The arguments describing the program to be started. ### Request Example ```json { "vm": "vm-123", "auth": { "username": "user", "password": "password" }, "spec": { "programPath": "/bin/bash", "arguments": ["-c", "echo hello"] } } ``` ### Response #### Success Response (200) - **returnval** (long) - The pid of the program started. #### Response Example ```json { "returnval": 12345 } ``` ### Faults - **CannotAccessFile** - Thrown if the program path cannot be accessed. - **FileFault** - Thrown if there is a file error in the guest operating system. - **FileNotFound** - Thrown if the program path does not exist. - **GuestComponentsOutOfDate** - Thrown if the guest agent is too old to support the operation. - **GuestOperationsFault** - Thrown if there is an error processing a guest operation. - **GuestOperationsUnavailable** - Thrown if the VM agent for guest operations is not running. - **GuestPermissionDenied** - Thrown if the program path cannot be run because the guest authentication will not allow the operation. - **InvalidGuestLogin** - Thrown if the the guest authentication information was not accepted. - **InvalidPowerState** - Thrown if the VM is not powered on. - **InvalidState** - Thrown if the operation cannot be performed because of the virtual machine's current state. - **OperationDisabledByGuest** - Thrown if the operation is not enabled due to guest agent configuration. - **OperationNotSupportedByGuest** - Thrown if the operation is not supported by the guest OS. - **RuntimeFault** - Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. - **TaskInProgress** - Thrown if the virtual machine is busy. ``` -------------------------------- ### PowerOnVApp_Task Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.VirtualApp Starts a vApp. Virtual machines start in the order specified in the vApp configuration. ```APIDOC ## PowerOnVApp_Task ### Description Starts this vApp. The virtual machines (or sub vApps) will be started in the order specified in the vApp configuration. If the vApp is suspended, all suspended virtual machines will be powered-on based on the defined start-up order. While a vApp is starting, all power operations performed on sub entities are disabled through the VIM API. They will throw TaskInProgress. ### Method POST ### Endpoint /appliance/api/vSAN/vApp/{vAppId}/powerOn ### Parameters #### Path Parameters - **vAppId** (string) - Required - The ID of the vApp to power on. #### Query Parameters None ### Request Body None ### Response #### Success Response (202 Accepted) - **value** (Task) - A reference to a Task object representing the power-on operation. #### Response Example { "value": { "_links": { "self": { "href": "/appliance/api/vSAN/task/some-task-id" } }, "id": "some-task-id", "name": "PowerOnVApp_Task", "description": "Starting vApp vApp-abc", "status": "RUNNING", "created_time": "2023-10-27T10:00:00Z", "started_time": "2023-10-27T10:00:05Z", "result": null } } #### Error Responses - **InvalidPowerState** (400 Bad Request) - Thrown if the vApp is already running. - **InvalidState** (400 Bad Request) - Thrown if it fails to power on a virtual machine due to no host availability, or unable to access the configuration file of a VM. - **MissingNetworkIpConfig** (400 Bad Request) - Thrown if no network configuration exists for the primary network for the vApp. - **TaskInProgress** (409 Conflict) - Thrown if the vApp is busy. - **VAppConfigFault** (400 Bad Request) - Thrown if a configuration issue on a vApp prevents the power-on. - **VmConfigFault** (400 Bad Request) - Thrown if a configuration issue on the vApp or a virtual machine in the vApp prevents the power-on. - **RuntimeFault** (500 Internal Server Error) - Thrown for other runtime errors. ``` -------------------------------- ### HostServiceSystem - StartService Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.ServiceSystem Starts a specified service on the host. Requires Host.Config.NetService privilege. ```APIDOC ## POST /HostServiceSystem/StartService ### Description Starts the service. ### Method POST ### Endpoint /HostServiceSystem ### Parameters #### Path Parameters - **_this** (ManagedObjectReference) - Required - A reference to the HostServiceSystem used to make the method call. #### Query Parameters - **id** (xsd:string) - Required - Service identifier (ServiceInfo.service.key). ### Request Body ```json { "_this": "HostServiceSystem", "id": "service_identifier" } ``` ### Response #### Success Response (200) - **None** #### Response Example ```json null ``` #### Faults - **HostConfigFault** - Thrown for all other failures. - **InvalidState** - Thrown if the service is already running. Only hosts with ESX/ESXi 4.1 or earlier software use this fault. Hosts running later versions of ESXi do not throw a fault in this case. - **NotFound** - Thrown if the service ID is unknown. - **RuntimeFault** - Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. ``` -------------------------------- ### Unmount VMware Tools Installer Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.VirtualMachine Unmounts the VMware Tools installer CD from a Virtual Machine. ```APIDOC ## UnmountToolsInstaller ### Description Unmounts the VMware Tools installer CD from a Virtual Machine. ### Method POST ### Endpoint `/compute/vm/{vmId}/unmountToolsInstaller` ### Parameters #### Path Parameters - **vmId** (string) - Required - The ID of the Virtual Machine from which to unmount the Tools installer. #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (204) - No content returned upon successful unmount. #### Response Example None #### Error Handling - **InvalidState**: Thrown if the VM is not running, VMware Tools is not running, or the CD is already unmounted. - **RuntimeFault**: Thrown for communication errors or other runtime issues. - **VmConfigFault**: Thrown for virtual machine configuration errors. ``` -------------------------------- ### StartReplaying_Task (Deprecated) Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.VirtualMachine Starts a replay session on a virtual machine from a specified snapshot. This operation also updates the virtual machine's current snapshot. It is intended for experimental use and not production environments. ```APIDOC ## POST /StartReplaying_Task ### Description Starts a replay session on this virtual machine from a specified snapshot. As a side effect, this operation updates the current snapshot of the virtual machine. This is an experimental interface and not intended for production code. ### Method POST ### Endpoint /StartReplaying_Task ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the VirtualMachine used to make the method call. - **replaySnapshot** (ManagedObjectReference) - Required - The snapshot from which to start the replay. This snapshot must have been created by a record operation on the virtual machine. ### Request Example ```json { "_this": { "type": "VirtualMachine", "value": "vm-123" }, "replaySnapshot": { "type": "VirtualMachineSnapshot", "value": "snapshot-456" } } ``` ### Response #### Success Response (200) - **returnval** (ManagedObjectReference) - A Task object with which to monitor the operation. #### Response Example ```json { "returnval": { "type": "Task", "value": "task-789" } } ``` ### Faults - **FileFault**: Thrown if there is a problem with creating or accessing one or more files needed for this operation. - **HostIncompatibleForRecordReplay**: Thrown if the virtual machine is located on a host that does not support record/replay. - **InvalidPowerState**: Thrown if the operation cannot be performed in the current power state of the virtual machine. - **InvalidState**: Thrown if the operation cannot be performed because of the virtual machine's current state. For example, the virtual machine configuration information is not available. - **NotFound**: Thrown if replaySnapshot is no longer present. - **RecordReplayDisabled**: Thrown if the record/replay config flag has not been enabled for this virtual machine. - **RuntimeFault**: Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. - **SnapshotFault**: Thrown if an error occurs during the snapshot operation. Typically, a more specific fault like InvalidSnapshotFormat is thrown. - **TaskInProgress**: Thrown if the virtual machine is busy. - **VmConfigFault**: Thrown if the virtual machine configuration is incompatible for replaying. - **VmConfigIncompatibleForRecordReplay**: Thrown if the virtual machine configuration is incompatible for replaying. ``` -------------------------------- ### Install Date API Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.ImageConfigManager Retrieves the UTC timestamp indicating when the system was first installed. This operation requires Host.Config.Image privileges. ```APIDOC ## GET /installDate ### Description Reports the UTC time stamp when this system was first installed. ### Method GET ### Endpoint /installDate ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **returnval** (xsd:dateTime) - The UTC installation timestamp. #### Response Example { "returnval": "2023-10-27T10:30:00Z" } ``` -------------------------------- ### CertificateManager - Refresh Certificates Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.CertificateManager Gets CSRs from the hosts and then gets these certificates signed by the VMware Certificate Service and pushes them down to the hosts. ```APIDOC ## POST /api/certificateManager/refreshCertificates ### Description Gets CSRs from the hosts and then gets these certificates signed by the VMware Certificate Service and pushes them down to the hosts. ### Method POST ### Endpoint /api/certificateManager/refreshCertificates ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the CertificateManager used to make the method call. - **host** (ManagedObjectReference[]) - Required - An array of references to HostSystem objects on which the certificates need to be refreshed. ### Request Example ```json { "_this": { "_type": "CertificateManager", "_ref": "certificateManagerRef" }, "host": [ { "_type": "HostSystem", "_ref": "hostSystemRef1" }, { "_type": "HostSystem", "_ref": "hostSystemRef2" } ] } ``` ### Response #### Success Response (200) - **ManagedObjectReference** - A reference to a Task object. #### Response Example ```json { "_type": "Task", "_ref": "taskRef" } ``` ### Faults - **RuntimeFault** - Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. ``` -------------------------------- ### HostFirmwareSystem - BackupFirmwareConfiguration Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.FirmwareSystem Backs up the host configuration and returns a URL to download the configuration bundle. ```APIDOC ## POST /HostFirmwareSystem/BackupFirmwareConfiguration ### Description Backs up the configuration of the host. This method generates a bundle containing the host configuration. You can use an HTTP GET operation to download the bundle from the returned URL. ### Method POST ### Endpoint /HostFirmwareSystem/BackupFirmwareConfiguration ### Parameters #### Path Parameters - **_this** (ManagedObjectReference) - Required - A reference to the HostFirmwareSystem used to make the method call. ### Request Body (No request body defined for this method) ### Response #### Success Response (200) - **returnval** (string) - URL that identifies the location of the backup bundle. #### Response Example ```json { "returnval": "http://example.com/backup.bundle" } ``` ### Faults - **RuntimeFault** - Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. ``` -------------------------------- ### VsanVibInstall_Task (Deprecated) Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.VsanUpdateManager Installs VIBs and firmware updates on ESXi hosts. This method is deprecated as of vSphere API 8.0. It can perform rolling installs or one-shot installs, optionally using previous scan results. Host maintenance mode and reboots may be required. ```APIDOC ## POST /vsanVibInstall ### Description Installs VIBs and firmware updates on ESXi hosts. This method is deprecated as of vSphere API 8.0. It can perform rolling installs or one-shot installs, optionally using previous scan results. Host maintenance mode and reboots may be required. ### Method POST ### Endpoint /vsanVibInstall ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the VsanUpdateManager used to make the method call. - **cluster** (ManagedObjectReference) - Optional - A reference to a ComputeResource cluster. - **vibSpecs** (VsanVibSpec[]) - Optional - List of VIB specifications to be installed. - **scanResults** (VsanVibScanResult[]) - Optional - List of VIB scan results obtained from VsanVibScan(). - **firmwareSpecs** (VsanHclFirmwareUpdateSpec[]) - Optional - List of firmware specifications to be installed. - **maintenanceSpec** (HostMaintenanceSpec) - Optional - Maintenance specification to pass to EnterMaintenanceMode_Task(). - **rolling** (xsd:boolean) - Optional - True for a rolling install (1 host at a time), False for a one-shot install. Defaults to true. - **noSigCheck** (xsd:boolean) - Optional - Skip signature checking. Defaults to false. ### Request Example ```json { "_this": {"type": "VsanUpdateManager", "_moId": "vsan-update-manager"}, "cluster": {"type": "ComputeResource", "_moId": "domain-c1"}, "vibSpecs": [ {"vim.host.Vib.URL": "http://example.com/vib/mypackage.vib"} ], "firmwareSpecs": [ {"vmhba": "vmhba1", "version": "1.2.3"} ], "rolling": true, "noSigCheck": false } ``` ### Response #### Success Response (200) - **returnval** (ManagedObjectReference) - A reference to a Task object representing the asynchronous operation. #### Response Example ```json { "returnval": {"type": "Task", "_moId": "task-1"} } ``` ### Faults - **NotFound**: Indicates that a specified object was not found. - **NotSupported**: Indicates that the requested operation is not supported. - **RuntimeFault**: Indicates a general runtime error, such as a communication error. - **VsanFault**: Indicates a vSAN-specific fault. ``` -------------------------------- ### VsanVcsaDeployerSystem - VsanPrepareVsanForVcsa Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.VsanVcsaDeployerSystem Prepares a vSAN datastore for VCSA deployment. This method bootstraps vSAN on the local host as a single-node vSAN cluster and is intended to be called on an ESXi host. ```APIDOC ## POST /VsanVcsaDeployerSystem/VsanPrepareVsanForVcsa ### Description Prepares a vSAN datastore for VCSA deployment. This method bootstraps vSAN on the local host as a single-node vSAN cluster and is intended to be called on an ESXi host. ### Method POST ### Endpoint /VsanVcsaDeployerSystem/VsanPrepareVsanForVcsa ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the VsanVcsaDeployerSystem used to make the method call. - **spec** (VsanPrepareVsanForVcsaSpec) - Required - Bootstrap specification ### Request Example ```json { "_this": "vsan-vcsa-deployer-system", "spec": {} } ``` ### Response #### Success Response (200) - **returnval** (string) - Unique Identifier for the background operation that can be used with VsanVcsaGetBootstrapProgress(). #### Response Example ```json { "returnval": "operation-id-456" } ``` #### Faults - NotFound - RuntimeFault - VsanFault ``` -------------------------------- ### HostAutoStartManager - AutoStartPowerOn Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.AutoStartManager Powers-on virtual machines according to the current AutoStart configuration on a host. ```APIDOC ## POST /HostAutoStartManager/AutoStartPowerOn ### Description Powers-on virtual machines according to the current AutoStart configuration. This method is used in conjunction with the `vim.host.AutoStartManager.AutoPowerInfo` data object type for auto-power-on behavior. ### Method POST ### Endpoint /HostAutoStartManager/AutoStartPowerOn ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the HostAutoStartManager used to make the method call. ### Request Example ```json { "_this": "HostAutoStartManager" } ``` ### Response #### Success Response (200) - **None** - This method does not return a value. #### Response Example ```json // No response body for success ``` #### Faults - **RuntimeFault** - Thrown if any type of runtime fault is thrown; for example, a communication error. ``` -------------------------------- ### VirtualAppVAppState Enum Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.VirtualApp.VAppState Details the states a vApp can be in, including started, starting, stopped, and stopping. ```APIDOC ## Enum - VirtualAppVAppState(vim.VirtualApp.VAppState) ### Description The VAppState type defines the set of states a vApp can be in. The transitory states between started and stopped is modeled explicitly, since the starting or stopping of a vApp is typically a time-consuming process that might take minutes to complete. ### Enum Constants | Name | Description | |----------|-------------------------------------------------| | started | The vApp is currently powered on. | | starting | The vApp is in the process of starting. | | stopped | The vApp is currently powered off or suspended. | | stopping | The vApp is in the process of stopping. | ### WSDL Type Definition ```xml ``` ``` -------------------------------- ### POST /createSoftwareAdapter Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.StorageSystem Creates a software host bus adapter based on the provided specification. This operation requires Host.Config.Storage privileges. ```APIDOC ## POST /createSoftwareAdapter ### Description Creates a software host bus adapter based on the provided spec. This operation requires Host.Config.Storage privileges and is available since vSphere API Release 7.0.3.0. ### Method POST ### Endpoint /createSoftwareAdapter ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the HostStorageSystem used to make the method call. - **spec** (HostHbaCreateSpec) - Required - A data object that specifices the parameters necessary to create a software host bus adapter of a specific type. Since vSphere API Release 7.0.3.0. ### Request Example ```json { "_this": { "_type": "HostStorageSystem", "_value": "host-storage-system-id" }, "spec": { "_type": "HostHbaCreateSpec", "adapter": { "_type": "HostFirewireBusAdapter", "deviceName": "firewire" } } } ``` ### Response #### Success Response (200) - **None** #### Response Example (No response body for success) #### Faults - **HostConfigFault**: Thrown if the host is unable to create the adapter. - **NotFound**: Thrown if any of the resources specified in the spec could not be found. - **ResourceInUse**: Thrown if some of the resources specified in the spec and needed for adapter creation is in use. - **RuntimeFault**: Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. ``` -------------------------------- ### VsanVibScan Method Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.VsanUpdateManager Analyzes a list of VIBs and hosts to determine installation outcomes, prerequisites, and potential conflicts without performing actual installations. ```APIDOC ## POST /sdk/vsan/vib/scan ### Description This method takes a list of VIBs and a list of hosts, and determines which VIBs would be installed, what the requirements are (e.g. maintenance mode, reboot) and which existing VIBs (if any) they are overriding. It does not perform any actual install, but instead just provides information on "what if". ### Method POST ### Endpoint /sdk/vsan/vib/scan ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the VsanUpdateManager used to make the method call. - **cluster** (ManagedObjectReference) - Optional - A reference to a ComputeResource, representing the cluster this scan is happening in reference to. (Since vSAN API 6.6) - **vibSpecs** (VsanVibSpec[]) - Required - List of VIB specs to check (one entry per host). (Since vSAN API 6.6) ### Request Example ```json { "_this": { "_type": "VsanUpdateManager", "_moId": "vsan-update-manager" }, "cluster": { "_type": "ComputeResource", "_moId": "domain-c1" }, "vibSpecs": [ { "host": { "_type": "HostSystem", "_moId": "host-1" }, "vibUrl": "http://example.com/vib/my-vib.vib" } ] } ``` ### Response #### Success Response (200) - **returnval** (VsanVibScanResult[]) - List of VIBs that would be installed. Each such result is for a single host, single VIB. #### Response Example ```json { "returnval": [ { "host": { "_type": "HostSystem", "_moId": "host-1" }, "vibUrl": "http://example.com/vib/my-vib.vib", "status": "INSTALLED", "requiredMaintenanceMode": "REBOOT", "overriddenVibs": [ "existing-vib-id-1", "existing-vib-id-2" ] } ] } ``` ### Faults - **NotFound** - **RuntimeFault** - Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. - **VsanFault** ``` -------------------------------- ### Virtual Machine Configuration Parameters Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.vm.ConfigInfo This section details the various configuration parameters available for a virtual machine, including guest operating system information, hardware specifications, and performance tuning options. ```APIDOC ## Virtual Machine Configuration Details ### Description This section provides details on various configuration attributes for a virtual machine. These attributes cover aspects such as guest operating system identification, hardware settings, performance tuning, and security configurations. ### Parameters #### Virtual Machine Attributes - **guestFullName** (xsd:string) - Description: The full name of the guest operating system for the virtual machine. For example: Windows 2000 Professional. - **guestId** (xsd:string) - Description: Guest operating system configured on a virtual machine. This is a guest identifier that can be used to access the GuestOsDescriptor list for information about default configuration. - **guestIntegrityInfo** (VirtualMachineGuestIntegrityInfo) - Description: Guest integrity platform configuration. _Since_ vSphere API Release 6.5 - **guestMonitoringModeInfo** (VirtualMachineGuestMonitoringModeInfo) - Description: GMM configuration. _Since_ vSphere API Release 7.0 - **hardware** (VirtualHardware) - Description: Processor, memory, and virtual devices for a virtual machine. - **hotPlugMemoryIncrementSize** (xsd:long) - Description: Memory, in MB that can be added to a running virtual machine must be in increments of this value and needs be a multiple of this value. This value is determined by the virtual machine and is specified only if memoryHotAddEnabled has been set to true. _Since_ VI API 2.5 U2 - **hotPlugMemoryLimit** (xsd:long) - Description: The maximum amount of memory, in MB, than can be added to a running virtual machine. This value is determined by the virtual machine and is specified only if memoryHotAddEnabled is set to true. _Since_ VI API 2.5 U2 - **initialOverhead** (VirtualMachineConfigInfoOverheadInfo) - Description: Set of values to be used only to perform admission control when determining if a host has sufficient resources for the virtual machine to power on. _Since_ vSphere API Release 5.0 - **instanceUuid** (xsd:string) - Description: VirtualCenter-specific 128-bit UUID of a virtual machine, represented as a hexademical string. This identifier is used by VirtualCenter to uniquely identify all virtual machine instances, including those that may share the same SMBIOS UUID. _Since_ vSphere API Release 4.0 - **keyId** (CryptoKeyId) - Description: Virtual Machine cryptographic options. _Since_ vSphere API Release 6.5 - **latencySensitivity** (LatencySensitivity) - Description: The latency-sensitivity of the virtual machine. _Since_ vSphere API Release 5.1 - **locationId** (xsd:string) - Description: Hash incorporating the virtual machine's config file location and the UUID of the host assigned to run the virtual machine. - **managedBy** (ManagedByInfo) - Description: Specifies that this VM is managed by a VC Extension. See the managedBy property in the ConfigSpec for more details. _Since_ vSphere API Release 5.0 - **maxMksConnections** (xsd:int) - Description: Indicates the maximum number of active remote display connections that the virtual machine will support. _Since_ vSphere API Release 5.0 - **memoryAffinity** (VirtualMachineAffinityInfo) - Description: Deprecated. _since vSphere 6.0._ Affinity settings for memory. - **memoryAllocation** (ResourceAllocationInfo) - Description: Resource limits for memory. - **memoryHotAddEnabled** (xsd:boolean) - Description: Whether memory can be added while this virtual machine is running. _Since_ VI API 2.5 U2 - **memoryReservationLockedToMax** (xsd:boolean) - Description: If set true, memory resource reservation for this virtual machine will always be equal to the virtual machine's memory size; increases in memory size will be rejected when a corresponding reservation increase is not possible. _Since_ vSphere API Release 5.0 - **messageBusTunnelEnabled** (xsd:boolean) - Description: Whether to allow tunneling of clients from the guest VM into the common message bus on the host network. _Since_ vSphere API Release 6.0 - **migrateEncryption** (xsd:string) - Description: An enum describing whether encrypted vMotion is required for this VM. See VirtualMachineConfigSpecEncryptedVMotionModes for allowed values. This defaults to opportunistic for a regular VM, and will be set to required for an encrypted VM. _Since_ vSphere API Release 6.5 - **modified** (xsd:dateTime) - Description: Last time a virtual machine's configuration was modified. - **name** (xsd:string) - Description: Display name of the virtual machine. Any / (slash), \ (backslash), character used in this name element is escaped. Similarly, any % (percent) character used in this name element is escaped, unless it is used to start an escape sequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or %5c, and a percent is escaped as %25. - **nestedHVEnabled** (xsd:boolean) - Description: Indicates whether this VM is configured to use nested hardware-assisted virtualization. _Since_ vSphere API Release 5.1 - **networkShaper** (VirtualMachineNetworkShaperInfo) - Description: Deprecated. _from vSphere 5.5, shaping policy on VM is not supported._ Resource limits for network. ``` -------------------------------- ### MountToolsInstaller Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.VirtualMachine Mounts the VMware Tools CD installer as a CD-ROM for the guest operating system. Clients should monitor tools status to track installation. ```APIDOC ## POST /mountToolsInstaller ### Description Mounts the VMware Tools CD installer as a CD-ROM for the guest operating system. To monitor the status of the tools install, clients should check the tools status, toolsVersionStatus and toolsRunningStatus. ### Method POST ### Endpoint `/mountToolsInstaller` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the VirtualMachine used to make the method call. ### Request Example ```json { "_this": { "_type": "VirtualMachine", "_value": "vm-123" } } ``` ### Response #### Success Response (200) This method does not return a value. #### Response Example ```json {} ``` ### Faults - **InvalidState**: Thrown if the virtual machine is not running, or the VMware Tools CD is already mounted. - **RuntimeFault**: Thrown for any other runtime errors. - **VmConfigFault**: General virtual machine configuration fault. - **VmToolsUpgradeFault**: Thrown if the VMware Tools CD failed to mount. ``` -------------------------------- ### HostFirmwareSystem - QueryFirmwareConfigUploadURL Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.FirmwareSystem Returns the URL on the host where the configuration bundle must be uploaded for a restore operation. ```APIDOC ## POST /HostFirmwareSystem/QueryFirmwareConfigUploadURL ### Description Returns the URL on the host to which the configuration bundle must be uploaded for a restore operation. See RestoreFirmwareConfiguration. ### Method POST ### Endpoint /HostFirmwareSystem/QueryFirmwareConfigUploadURL ### Parameters #### Path Parameters - **_this** (ManagedObjectReference) - Required - A reference to the HostFirmwareSystem used to make the method call. ### Request Body (No request body defined for this method) ### Response #### Success Response (200) - **returnval** (string) - URL that identifies the location for the restore operation. #### Response Example ```json { "returnval": "http://example.com/upload_url" } ``` ### Faults - **RuntimeFault** - Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. ``` -------------------------------- ### RecommendHostsForVm Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.ClusterComputeResource Gets a recommendation for where to power on, resume, revert from powered-off state to powered on state, or to migrate a specific virtual machine. This method is deprecated and replaced by PowerOnMultiVM_Task. ```APIDOC ## POST /recommendHostsForVm ### Description Gets a recommendation for where to power on, resume, revert from powered-off state to powered on state, or to migrate a specific virtual machine. If no host is found, an empty list is returned. ### Method POST ### Endpoint /recommendHostsForVm ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the ClusterComputeResource used to make the method call. - **vm** (ManagedObjectReference) - Required - Specifies the virtual machine for which the user is requesting a recommendations. - **pool** (ManagedObjectReference) - Optional - Specifies the ResourcePool into which the virtual machine is to be migrated. If the virtual machine is powered-on, this argument must be specified and it is relevant only when the virtual machine is powered-on. This ResourcePool cannot be in the same cluster as the virtual machine. ### Request Example ```json { "_this": { "_type": "ClusterComputeResource", "_value": "host-123" }, "vm": { "_type": "VirtualMachine", "_value": "vm-456" }, "pool": { "_type": "ResourcePool", "_value": "pool-789" } } ``` ### Response #### Success Response (200) - **returnval** (ClusterHostRecommendation[]) - An array of HostRecommendation ordered by their rating. #### Response Example ```json { "returnval": [ { "host": { "_type": "HostSystem", "_value": "host-001" }, "rating": 100 } ] } ``` ### Faults - RuntimeFault ``` -------------------------------- ### Install Server Certificate Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.CertificateManager Installs a given SSL certificate on the server. The private key must have been previously generated. ```APIDOC ## POST /installServerCertificate ### Description Installs a given SSL certificate on the server. The private key must have been previously generated by GenerateCertificateSigningRequest or provided by vim.host.CertificateManager#provisionServerPrivateKey. ### Method POST ### Endpoint /installServerCertificate ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the HostCertificateManager used to make the method call. - **cert** (xsd:string) - Required - SSL certificate in PEM format. Since vSphere API Release 6.0. ### Request Example ```json { "_this": "HostCertificateManager", "cert": "-----BEGIN CERTIFICATE-----\nMIIDdTCCAl2gAwIBAgIUB1e1... -----END CERTIFICATE-----" } ``` ### Response #### Success Response (200) - **None** - The operation does not return a value. #### Response Example ```json null ``` ### Faults - **HostConfigFault** - Thrown if there's a problem with the input certificate, or the certificate and key don't match. - **RuntimeFault** - Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. ``` -------------------------------- ### InstantClone_Task Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.VirtualMachine Creates a powered-on Instant Clone of a virtual machine. The new virtual machine shares memory and disk state with the original virtual machine. ```APIDOC ## POST /websites/developer_broadcom_xapis_vsan-management-api_8_0u3/InstantClone_Task ### Description Creates a powered-on Instant Clone of a virtual machine. The new virtual machine will be created on the same host and start with the identical running point as the original virtual machine, sharing memory state when possible and sharing disk state. The original virtual machine must be in a powered-on state. ### Method POST ### Endpoint /websites/developer_broadcom_xapis_vsan-management-api_8_0u3/InstantClone_Task ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the VirtualMachine used to make the method call. - **spec** (VirtualMachineInstantCloneSpec) - Required - Specifies the cloned virtual machine's configuration. ### Request Example ```json { "_this": { "_type": "VirtualMachine", "_value": "vm-123" }, "spec": { "_type": "VirtualMachineInstantCloneSpec", "location": { "_type": "VirtualMachineRelocateSpec", "datastore": { "_type": "Datastore", "_value": "datastore-456" } } } } ``` ### Response #### Success Response (200) - **return_value** (ManagedObjectReference to a Task) - A Task object with which to monitor the operation. #### Response Example ```json { "return_value": { "_type": "Task", "_value": "task-789" } } ``` ### Faults - **DisallowedMigrationDeviceAttached**: Thrown if any of the devices attached to the source virtual machine are not supported for the Instant Clone operation or if device change specification contains changes that are not supported. - **FileFault**: Thrown if there is an error accessing the virtual machine files. - **InsufficientResourcesFault**: Thrown if this operation would violate a resource usage policy. - **InvalidDatastore**: Thrown if the operation cannot be performed on the target datastores. - **InvalidState**: Thrown if the operation cannot be performed because of the host or virtual machine's current state. - **RuntimeFault**: Thrown if any type of runtime fault is thrown that is not covered by the other faults. - **TaskInProgress**: Thrown if the virtual machine is busy. ``` -------------------------------- ### InstallHostPatch_Task (Deprecated) Source: https://developer.broadcom.com/xapis/vsan-management-api/8.0U3/vim.host.PatchManager Installs a patch on a host. This operation is not cancelable and attempts an atomic rollback if installation fails. Manual rollback may be required if the atomic rollback fails. ```APIDOC ## POST /InstallHostPatch_Task ### Description Deprecated. Installs a patch on a host. The operation is not cancelable. If the patch installation failed, an atomic rollback of the installation will be attempted. Manual rollback is required if the atomic rollback failed. ### Method POST ### Endpoint /InstallHostPatch_Task ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_this** (ManagedObjectReference) - Required - A reference to the HostPatchManager used to make the method call. - **repository** (HostPatchManagerLocator) - Optional - Location of the repository that contains the bulletin depot. The depot must be organized as a flat collection of bulletins with each one being a folder named after the bulletin ID. Each folder must contain both update metadata and required binaries. Since 2.0 - **updateID** (xsd:string) - Optional - The update to be installed on the host. Since 2.0 - **force** (xsd:boolean) - Optional - Specify whether to force reinstall an update. By default, installing an already-installed update would fail with the PatchAlreadyInstalled fault. If force is set to true, the update will be forcefully reinstalled, thus overwriting the already installed update. Since 2.0 ### Request Example ```json { "_this": {"type": "HostPatchManager", "value": "host-patch-manager"}, "repository": {"repositoryUuid": "string"}, "updateID": "string", "force": true } ``` ### Response #### Success Response (200) - **returnval** (ManagedObjectReference to a Task) - This method returns a Task object with which to monitor the operation. #### Response Example ```json { "returnval": {"type": "Task", "value": "task-123"} } ``` ### Faults - **InvalidState**: Thrown if the host is not in maintenance mode but the patch install requires all virtual machines to be powered off. - **NoDiskSpace**: Thrown if the update can not be installed because there is insufficient disk space for the installation, including temporary space used for rollback. - **PatchBinariesNotFound**: Thrown if required update related binaries were not available. - **PatchInstallFailed**: Thrown if the installation failed, text has details of the failure. Automatic rollback might have succeeded or failed. - **PatchMetadataInvalid**: Thrown if the required metadata is invalid - for example, it is not found in the repository, is corrupted and so on. Typically a more specific subclass of PatchMetadataInvalid is thrown. - **PatchNotApplicable**: Thrown if the patch is not applicable. Typically a more specific subclass of PatchNotApplicable is thrown to indicate a specific problem - for example, PatchSuperseded if the patch is superseded, MissingDependency if required patch or libraries are not installed, AlreadyInstalled if the patch is already installed. - **RebootRequired**: Thrown if the update cannot be installed without restarting the host. This might occur on account of a prior update installation which needed to be installed separately from other updates. - **RuntimeFault**: Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. - **TaskInProgress**: Thrown if there is already a patch installation in progress. ```