# Data Object - VirtualMachineMessage(vim.vm.Message)

Property of
  VirtualMachineQuestionInfo, VmMessageErrorEvent, VmMessageEvent, VmMessageWarningEvent
Extends
  DynamicData
Since
  VI API 2.5

## Data Object Description

Message data which is intended to be displayed according to the locale of a client.

A VirtualMachineMessage contains both a formatted, localized version of the text and the data needed to perform localization in conjunction with localization catalogs.

Clients of the VIM API may use SessionManager.SetLocale to cause the server to emit localized text, or may perform client-side localization based on message catalogs provided by the LocalizationManager.

Message variables are always integers, e.g. {1} and {2}, which are 1-based indexes into argument.

- The corresponding argument may be a recursive lookup:
  - argument = ["button.cancel", "msg.revert"]
  - CATALOG(locmsg, id) = "Select '{1}' to {2}"
  - CATALOG(locmsg, button.cancel) = "Cancel"
  - CATALOG(locmsg, msg.revert) = "revert"
  - ==> text = "Select 'Cancel' to revert"
- If the recursive lookup fails, the argument is a plain string.
  - argument = ["127.0.0.1"]
  - CATALOG(locmsg, id) = "IP address is {1}"
  - ==> text "IP address is 127.0.0.1"

See LocalizationManager

Properties

Name | Type | Description
--- | --- | ---
argument* | xsd:anyType[] | Substitution arguments for variables in the localized message. Substitution variables in the format string identified by id are 1-based indexes into this array. Substitution variable {1} corresponds to argument[0], etc.
id | xsd:string | A unique identifier for this particular message. This field is a key for looking up format strings in the locmsg catalog.
text* | xsd:string | Text in session locale. Use SessionManager.SetLocale to change the session locale. Since vSphere API 4.0
Properties inherited from DynamicData
None

*Need not be set
Show WSDL type definition
<complexType xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VirtualMachineMessage"> <complexContent> <extension base="vsan:DynamicData"> <sequence> <element name="id" type="xsd:string"/> <element name="argument" type="xsd:anyType" minOccurs="0" maxOccurs="unbounded"/> <element name="text" type="xsd:string" minOccurs="0"/> </sequence> </extension> </complexContent> </complexType>