Scripting Object - VcStoragePod

Scripting-object corresponding to
StoragePod
Attribute of
VcPlacementSpec, VcStorageDrsPodSelectionSpec, VcVmPodConfigForPlacement
Parameter to
applyStorageDrsRecommendationToPod_Task, configureStorageDrsForPod_Task, refreshStorageDrsRecommendation, refreshStorageDrsRecommendationsForPod_Task
Returned by
createStoragePod, createStoragePod, createStoragePod, createStoragePod, createStoragePod, createStoragePod, createStoragePod

Scripting Object Description

The {@link vim.StoragePod} data object aggregates the storage resources of associated {@link vim.Datastore} objects into a single storage resource for use by virtual machines. The storage services such as Storage DRS (Distributed Resource Scheduling), enhance the utility of the storage pod.

Use the {@link vim.Folder}.{@link vim.Folder#createStoragePod} method to create an instance of this object.

Attributes

Name Type Description
alarmActionsEnabledBoolean

@since vSphere API 4.0
availableFieldVcCustomFieldDef []

@since VI API 2.5
childEntityVcManagedEntity []

@since VI API 2.5
childTypeString []

@since VI API 2.5
configIssueVcEvent []

@since VI API 2.5
configStatusVcManagedEntityStatus

@since VI API 2.5
customValueVcCustomFieldValue []

@since VI API 2.5
declaredAlarmStateVcAlarmState []

@since VI API 2.5
disabledMethodString []

@since VI API 2.5
effectiveRoleNumber []

@since VI API 2.5
idString

@since Unknown
morefVcManagedObjectReference

returns the ManagedObjectReference of this ManagedObject @since Unknown
nameString

@since VI API 2.5
overallStatusVcManagedEntityStatus

@since VI API 2.5
parentVcManagedEntity

@since VI API 2.5
permissionVcPermission []

@since VI API 2.5
podStorageDrsEntryVcPodStorageDrsEntry

@since vSphere API 5.0
recentTaskVcTask []

@since VI API 2.5
sdkConnectionVcSdkConnection

@since Unknown
sdkIdString

@since Unknown
summaryVcStoragePodSummary

@since vSphere API 5.0
tagVcTag []

@since vSphere API 4.0
triggeredAlarmStateVcAlarmState []

@since VI API 2.5
typeStringDeprecated.

Returns the name for the this managed object's vim type @since Unknown
valueVcCustomFieldValue []

@since VI API 2.5
vimHostVcSdkConnection

@since Unknown
vimIdString

@since Unknown
vimTypeString

@since Unknown

Methods

Methods defined in this Scripting Object
_getRef, addStandaloneHost_Task, addStandaloneHostWithAdminDisabled_Task, addTag, createCluster, createClusterEx, createDatacenter, createDVS_Task, createFolder, createStoragePod, createTrigger, createVM_Task, destroy_Task, moveIntoFolder_Task, registerVM_Task, reload, removeTag, rename_Task, retrieveCustomValues, setCustomValue, unregisterAndDestroy_Task

createDVS_Task

Create a {@link vim.DistributedVirtualSwitch} in the folder according to the specified {@link vim.DistributedVirtualSwitch.CreateSpec}. The specified Folder must be a Network entity folder. @since vSphere API 4.0

Parameters

NameTypeDescription
arg0VcDVSCreateSpec


Return Value

Type Description
VcTask

removeTag

Removes a set of tags from this object. @since vSphere API 4.0

Parameters

NameTypeDescription
arg0VcTag []


Return Value

Type Description
None

destroy_Task

Destroys this object, deleting its contents and removing it from its parent folder (if any).

NOTE: The appropriate privilege must be held on the parent of the destroyed entity as well as the entity itself.

This method can throw one of several exceptions. The exact set of exceptions depends on the kind of entity that is being removed. See comments for each entity for more information on destroy behavior. @since VI API 2.5

Parameters

NameTypeDescription
None

Return Value

Type Description
VcTask

registerVM_Task

Adds an existing virtual machine to the folder.

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.

This operation only works if the folder's type is VirtualMachine. In addition to the VirtualMachine.Inventory.Register and Resource.AssignVMToPool privileges, it requires System.Read privilege on the datastore that the existing virtual machine resides on. If the virtual machine is encrypted Cryptographer.RegisterVM is required on the folder, in which the virtual machine is registered. Otherwise, the VM is registered successfully, but is left in the locked state. @since VI API 2.5

Parameters

NameTypeDescription
arg0String

arg1String

arg2Boolean

arg3VcResourcePool

arg4VcHostSystem


Return Value

Type Description
VcTask

createCluster

Creates a new cluster compute resource in this folder.

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. @since VI API 2.5

Parameters

NameTypeDescription
arg0String

arg1VcClusterConfigSpec


Return Value

Type Description
VcClusterComputeResource

createTrigger

@since Unknown

Parameters

NameTypeDescription
timeoutNumber

filterString

conditionString

filterToSyncString


Return Value

Type Description
Trigger

addStandaloneHostWithAdminDisabled_Task

Same as {@link #addStandaloneHost} with additional operation to disable administrator permission on the host. See {@link HostSystem#disableAdmin} for detail. Administrator permission will be disabled only when addConnected is set to true. @since VI API 2.5

Parameters

NameTypeDescription
arg0VcHostConnectSpec

arg1VcComputeResourceConfigSpec

arg2Boolean

arg3String


Return Value

Type Description
VcTask

unregisterAndDestroy_Task

Recursively unregisters all virtual machines and vApps, and destroys all child virtual machine folders. This is similar to the Destroy_Task method, but this method calls UnregisterAndDestroy_Task on each virtual machine object instead of calling Destroy_Task. This operation applies only to VirtualMachine folders.

UnregisterAndDestroy_Task is a recursive operation that destroys the specified virtual machine folder, unregisters all child virtual machine objects, and destroys all child virtual machine folders. When you call UnregisterAndDestroy_Task to destroy a virtual machine folder, the system uses the specified folder as a root and traverses its descendant hierarchy, calling UnregisterAndDestroy_Task on each virtual machine object and Destroy_Task on each virtual machine folder. UnregisterAndDestroy_Task is a single operation that treats each recursive call as a single transaction, committing each call to remove an object individually. If a failure occurs, the method terminates at that point with an exception, leaving some or all objects unaffected.

If you are removing virtual machines, you must hold the VirtualMachine.Delete privilege on all of the virtual machines to be unregistered, and on their parent folders. If you are removing virtual applications, you must hold the VApp.Delete privilege on all of the virtual applications to be unregistered, and on their parent folders. @since VI API 2.5

Parameters

NameTypeDescription
None

Return Value

Type Description
VcTask

_getRef

@since Unknown

Parameters

NameTypeDescription
None

Return Value

Type Description
VcManagedObjectReference

createStoragePod

Creates a new storage pod in this folder.

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. @since vSphere API 5.0

Parameters

NameTypeDescription
arg0String


Return Value

Type Description
VcStoragePod

moveIntoFolder_Task

Moves a set of managed entities into this folder.

This operation is typically used by clients when they implement a drag-and-drop interface to move a set of objects into a folder.

This operation is transactional only with respect to each individual entity. The set of entities is moved sequentially as specified in the list, and committed one at a time. If the {@link vim.Folder#moveInto} method fails on an object, the method terminates at that point with an exception, leaving the rest of the managed entities in their original location.

The objects that can be moved into a folder depends on the folder's type (as defined by the folder's {@link #childType} property). For a datacenter folder, only datacenters and datacenter folders can be moved into the folder. For a virtual machine folder, only virtual machines and virtual machine folders can be moved into the folder. For a host folder, ComputeResource objects, host folder objects, and HostSystem objects can be moved into the folder.

Moving a HostSystem into a host folder creates a stand-alone host from a host that is currently part of a ClusterComputeResource. The host must be part of a ClusterComputeResource in the same datacenter and the host must be in maintenance mode. Otherwise, the operation fails.

A ComputeResource with a single root resource pool is created for each HostSystem. The name of the ComputeResource is the DNS or IP address of the host. This operation moves the (physical) host resources out of a cluster. It does not move or change the ResourcePool configuration that is part of the ClusterComputeResource with which the host was associated.

Note that all virtual machines associated with a host are moved with the host into the folder. If there are virtual machines that should not be moved with the host, then migrate them from the host before initiating this operation.

For a HostSystem move, the privileges required are Host.Inventory.EditCluster on the source ClusterComputeResource, Host.Inventory.MoveHost on the HostSystem, and Host.Inventory.AddStandaloneHost on the target Folder.

Otherwise, the privilege required for this operation varies depending on this folder's type and is checked against the source container, destination container, and the object:

If the object is a HostSystem, the privileges required are Host.Inventory.AddStandaloneHost on the folder, Host.Inventory.MoveHost on the HostSystem, and Host.Inventory.EditCluster on the host's original ComputeResource. @since VI API 2.5

Parameters

NameTypeDescription
arg0VcManagedEntity []


Return Value

Type Description
VcTask

setCustomValue

Assigns a value to a custom field. The setCustomValue method requires whichever updatePrivilege is defined as one of the {@link CustomFieldsManager.FieldDef#fieldInstancePrivileges} for the CustomFieldDef whose value is being changed. @since VI API 2.5

Parameters

NameTypeDescription
arg0String

arg1String


Return Value

Type Description
None

createFolder

Creates a new sub-folder with the specified name. The {@link Folder#childType} property of the new folder is the same as the {@link Folder#childType} property of the current folder.

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. @since VI API 2.5

Parameters

NameTypeDescription
arg0String


Return Value

Type Description
VcFolder

reload

Reload the entity state. Clients only need to call this method if they changed some external state that affects the service without using the Web service interface to perform the change. For example, hand-editing a virtual machine configuration file affects the configuration of the associated virtual machine but the service managing the virtual machine might not monitor the file for changes. In this case, after such an edit, a client would call "reload" on the associated virtual machine to ensure the service and its clients have current data for the virtual machine. @since VI API 2.5

Parameters

NameTypeDescription
None

Return Value

Type Description
None

retrieveCustomValues

Retrieve Custom field values based on specified custom field keys. If there is no key specified, all custom values associated to this ManagedEntity will be returned. @since vSphere API 6.5

Parameters

NameTypeDescription
arg0Number []


Return Value

Type Description
VcCustomFieldValue []

createDatacenter

Creates a new datacenter with the given name.

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. @since VI API 2.5

Parameters

NameTypeDescription
arg0String


Return Value

Type Description
VcDatacenter

addStandaloneHost_Task

Creates a new single-host compute resource. The name provided can be an IP address, such as 192.168.0.120, or a string, such as esx120. If a name is specified, a DNS lookup is used to resolve it to a fully-qualified name, such as esx120.vmware.com. If the DNS lookup fails, the string is stored as specified.

Licenses for the host are allocated when making the first connection to the host. This is because the license needed typically depends on the type of host and the number of CPUs.

In addition to the Host.Inventory.AddStandaloneHost privilege, it requires System.View privilege on the VM folder that the VMs of the host will be placed on. @since VI API 2.5

Parameters

NameTypeDescription
arg0VcHostConnectSpec

arg1VcComputeResourceConfigSpec

arg2Boolean

arg3String


Return Value

Type Description
VcTask

createClusterEx

Creates a new cluster compute resource in this folder.

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. @since VI API 2.5

Parameters

NameTypeDescription
arg0String

arg1VcClusterConfigSpecEx


Return Value

Type Description
VcClusterComputeResource

addTag

Add a set of tags to this object that can be queried later. The tag must be of the form "system/" or "global/ Parameters

NameTypeDescription
arg0VcTag []


Return Value

Type Description
None

createVM_Task

Creates a new virtual machine in the current folder and attaches it to the specified resource pool. This operation creates a virtual machine, instead of cloning a virtual machine from an existing one.

The server does not support creating templates using this method. Instead, you should create templates by marking existing virtual machines as templates, or by cloning an existing virtual machine or template.

This operation only works if the folder's childType includes VirtualMachine. In addition to the VirtualMachine.Inventory.Create privilege, may also require any of the following privileges depending on the properties of the virtual machine bring created:

To create a VirtualDisk on a persistent memory storage, the storage must be specified via {@link vim.vm.device.VirtualDeviceSpec#profile profile} while the datastore property of corresponding VirtualDisk backing must be unset.

To create a VirtualNVDIMM device, the storage {@link vim.vm.device.VirtualDeviceSpec#profile profile} must be set to the default persistent memory storage profile while the datastore property of {@link vim.vm.device.VirtualNVDIMM#backing the device backing} must be unset.

@since VI API 2.5

Parameters

NameTypeDescription
arg0VcVirtualMachineConfigSpec

arg1VcResourcePool

arg2VcHostSystem


Return Value

Type Description
VcTask

rename_Task

Renames this managed entity.

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.

@since VI API 2.5

Parameters

NameTypeDescription
arg0String


Return Value

Type Description
VcTask