# Managed Object - ViewManager(vim.view.ViewManager)

Property of
  ServiceContent
See also
  ContainerView, InventoryView, ListView, ManagedEntity, View
Since
  VI API 2.5

## Managed Object Description

The ViewManager managed object provides methods to create ContainerView, InventoryView, and ListView managed objects. The ViewManager also maintains a list of managed object references to the views that you have created. Use the viewList property to access the views.

A View is a mechanism that supports selection of objects on the server and subsequently, access to those objects. Views can simplify the task of retrieving data from the server. When you use a view, you can use a single invocation of a PropertyCollector method to retrieve data or receive notification of changes instead of multiple invocations involving multiple filter specifications. A view exists until you destroy it or until the end of the session.

The ViewManager supports the following views:

- A ContainerView is based on Folder, Datacenter, ComputeResource, ResourcePool, or HostSystem managed objects. Use a container view to monitor the container contents and optionally, its descendants.
- A ListView managed object is based on an arbitrary but specific set of objects. When you create a list view, you provide a list of objects to populate the view (CreateListView), or you provide an existing view from which the new view is created (CreateListViewFromView).
- An InventoryView managed object is based on the entire inventory. Use an inventory view as a general mechanism to monitor the inventory or portions of the inventory.

For example, you might use the following sequence of operations to get the names of all the virtual machines on a server:

1. Create a ContainerView for the root folder in the server inventory. For the ContainerView, use the type property to include only virtual machines.
2. Create a filter specification for the PropertyCollector.
   - Use the ContainerView as the starting object in the ObjectSpec for the filter.
   - Use the TraversalSpec to select all objects in the view list (all the virtual machines).
   - Use the PropertySpec to retrieve the name property from each virtual machine.
3. Invoke the PropertyCollector RetrieveProperties method.

Properties

Name | Type | Description
--- | --- | ---
viewList* P | ManagedObjectReference[] to a View[] | An array of view references. Each array entry is a managed object reference to a view created by this ViewManager.

*May not be present P Required privilege: System.View

Methods

Methods defined in this Managed Object
CreateContainerView, CreateInventoryView, CreateListView, CreateListViewFromView

# CreateContainerView(createContainerView)

Create a ContainerView managed object for this session. The method returns a reference to a ContainerView object that has a list of managed object references. The list references objects in the container and may include references to objects from additional containers. You can configure the resulting list of objects by specifying a type list and recursion. Once you have created the view, the object list always represents the current configuration of the virtual environment and reflects any subsequent changes that occur.

Required Privileges
  System.View

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the ViewManager used to make the method call.
container P | ManagedObjectReference to a ManagedEntity | A reference to an instance of a Folder, Datacenter, ComputeResource, ResourcePool, or HostSystem object.
type* | xsd:string[] | An optional list of managed entity types. The server associates only objects of the specified type(s) with the view. If you specify an empty array, the server uses all types.
recursive | xsd:boolean | Whether to include only the immediate children of the container instance, or to include additional objects by following paths beyond the immediate children. When recursive is false, the list of objects contains only immediate children. When recursive is true, the server populates the list by following references beyond the immediate children (using a child's references, and then references in the resulting objects, and so on). Depending on the container type, the server will use the following properties of the container instance to obtain objects for the view's object list: Folder object - childEntity property. If recursive is false, the container list includes the reference to the child entity in the folder instance. If recursive is true, the server will follow the child folder path(s) to collect additional childEntity references. ResourcePool object - vm and resourcePool properties. If recursive is false, the object list will contain references to the virtual machines associated with this resource pool, and references to virtual machines associated with the immediate child resource pools. If recursive is true, the server will follow all child resource pool paths extending from the immediate children (and their children, and so on) to collect additional references to virtual machines. ComputeResource object - host and resourcePool properties. If recursive is false, the object list will contain references to the host systems associated with this compute resource, references to virtual machines associated with the host systems, and references to virtual machines associated with the immediate child resource pools. If recursive is true, the server will follow the child resource pool paths (and their child resource pool paths, and so on) to collect additional references to virtual machines. Datacenter object - vmFolder, hostFolder, datastoreFolder, and networkFolder properties. If recursive is set to false, the server uses the immediate child folders for the virtual machines, hosts, datastores, and networks associated with this datacenter. If recursive is set to true, the server will follow the folder paths to collect references to additional objects. HostSystem object - vm property. The view object list contains references to the virtual machines associated with this host system. The value of recursive does not affect this behavior.

*Need not be set P Required privilege: System.View

Return Value

Type | Description
--- | ---
ManagedObjectReference to a ContainerView |

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vim25="urn:vim25" name="CreateContainerView" type="vim25:CreateContainerViewRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vim25="urn:vim25" name="CreateContainerViewResponse"> <complexType> <sequence> <element name="returnval" type="vim25:ManagedObjectReference"/> </sequence> </complexType> </element>

# CreateInventoryView(createInventoryView)

Create a new InventoryView managed object for this session.

Required Privileges
  System.View

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the ViewManager used to make the method call.

Return Value

Type | Description
--- | ---
ManagedObjectReference to a InventoryView |

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vim25="urn:vim25" name="CreateInventoryView" type="vim25:CreateInventoryViewRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vim25="urn:vim25" name="CreateInventoryViewResponse"> <complexType> <sequence> <element name="returnval" type="vim25:ManagedObjectReference"/> </sequence> </complexType> </element>

# CreateListView(createListView)

Create a ListView object for this session. The method returns a session object that has a list of managed object references. The list of references corresponds to the input object list. You can modify the resulting list after you have created the object.

Required Privileges
  System.View

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the ViewManager used to make the method call.
obj* P | ManagedObjectReference[] | The initial list of objects in the view.

*Need not be set P Required privilege: System.View

Return Value

Type | Description
--- | ---
ManagedObjectReference to a ListView |

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vim25="urn:vim25" name="CreateListView" type="vim25:CreateListViewRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vim25="urn:vim25" name="CreateListViewResponse"> <complexType> <sequence> <element name="returnval" type="vim25:ManagedObjectReference"/> </sequence> </complexType> </element>

# CreateListViewFromView(createListViewFromView)

Create a ListView object for this session. This method uses an existing view to construct the object list for the new view.

Required Privileges
  System.View

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the ViewManager used to make the method call.
view | ManagedObjectReference to a View | The view that will provide the object list for the new ListView object.

Return Value

Type | Description
--- | ---
ManagedObjectReference to a ListView |

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vim25="urn:vim25" name="CreateListViewFromView" type="vim25:CreateListViewFromViewRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vim25="urn:vim25" name="CreateListViewFromViewResponse"> <complexType> <sequence> <element name="returnval" type="vim25:ManagedObjectReference"/> </sequence> </complexType> </element>