Module vcenter

South Bound Integration with vcenter/vsphere

  • License: Inmanta EULA

  • Version: 3.6.7

  • This module requires compiler version 2019.3 or higher

Typedefs

typedef vcenter::affinity_mode
  • Base type string

  • Type constraint (self in ['affinity', 'anti-affinity'])

typedef vcenter::iso_in_datastore_name
  • Base type string

  • Type constraint validate_iso_in_datastore_name(self)

typedef vcenter::vm_cpu_update_strategy
  • Base type string

  • Type constraint (self in ['no_reboot', 'reboot', 'fail', 'ignore'])

typedef vcenter::vm_ip_setting_failure_reaction
  • Base type string

  • Type constraint (self in ['fail', 'ignore'])

Entities

entity vcenter::BaseResource

Parents: vcenter::ManagedEntity, vcenter::ESXIResource

relation vcenter::Tag tags [0:*]
entity vcenter::ComputeCluster

Parents: vcenter::ManagedEntity

Specialized version of ‘Element’ class - representing a compute cluster. Corresponds to vim.ClusterComputeResource <https://code.vmware.com/apis/358/vsphere/doc/vim.ClusterComputeResource.html>. Introduced only for modelling purposes (no CRUD actions handled for this type).

attribute string self_type='vim.ClusterComputeResource'

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::ComputeResourceFolder

Parents: vcenter::Folder

Specialized version of ‘Folder’ entity dedicated for compute resources.

attribute string name='host'

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::CreateISO

Parents: std::PurgeableResource

Create custom ISO file

attribute dict content

Dict where keys are full paths of files, and values are strings with file content

attribute string agent

Agent which will be used to handle this resource. If other resource will process the output file, it should run on the same agent as this resource.

attribute string folder_path='iso'

Path of the folder to create in the datastore of the vm to store the iso, default is iso.

attribute bool managed=true
relation vcenter::VCenter vcenter [1]
relation vcenter::VirtualMachine vm [1]

other end: vcenter::VirtualMachine.iso [0:1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::Credentials

Parents: std::Entity

Credentials for AAA of vCenter server. Necessary attributes for SSL connection.

attribute string? username=null

the variable containing user name.

attribute string? username_env_variable=null

environment variable name providing user name.

attribute string? password=null

the variable containing user password.

attribute string? password_env_variable=null

environment variable name providing user password.

attribute bool ssl_enabled=true

variable determining connection with SSL.

attribute bool ssl_verify=false

enables SSL certificate verification.

attribute string ssl_cert_path=''

absolute path to the SSL certificate file.

attribute dict? secret_reference=null

Dictionary containing the necessary query to retrieve the object and its secret from the inventory. If this module is used with Netbox, more information can be found in the ‘Netbox’ module in the ‘build_secret_reference’ plugin documentation

The following implements statements select implementations for this entity:

entity vcenter::DataCenter

Parents: vcenter::ManagedEntity

Specialized version of ‘Element’ class - representing a datacenter It is a container for all the inventory objects forming fully functional environment for operating virtual machines Corresponds to vim.Datacenter

relation vcenter::VirtualMachineFolder vm [1]
relation vcenter::ComputeResourceFolder host [1]
relation vcenter::DatastoreFolder datastore [1]
relation vcenter::NetworkEntityFolder network [1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::DataEntity

Parents: vcenter::Element

Base data entity containing a name and a vcenter.

attribute string name

element unique name

attribute bool managed=true
relation vcenter::VCenter vcenter [1]

The following implements statements select implementations for this entity:

entity vcenter::DatacenterFolder

Parents: vcenter::Folder

Specialized version of ‘Folder’ entity dedicated for datacenter resources.

attribute string name='datacenter'

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::DatastoreCluster

Parents: vcenter::ManagedEntity

Specialized version of ‘Element’ class - representing a storage cluster. Corresponds to vim.StoragePod <https://code.vmware.com/apis/358/vsphere/doc/vim.StoragePod.html>. Introduced only for modelling purposes (no CRUD actions handled for this type).

attribute string self_type='vim.StoragePod'

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::DatastoreFolder

Parents: vcenter::Folder

Specialized version of ‘Folder’ entity dedicated for datastore resources.

attribute string name='datastore'

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::DistributedVirtualPortgroup

Parents: vcenter::ManagedEntity, vcenter::VCResource

Specialized version of ‘Element’ class - representing a distributed, virtual port group A port group belongs to single switch Corresponds to vim.DistributedVirtualPortgroup

attribute string self_type='vim.dvs.DistributedVirtualPortgroup'

name of the corresponding vCenter type (mapping)

attribute string config_type='vim.dvs.DistributedVirtualPortgroup.ConfigSpec'

resource config type (read or write)

relation vcenter::DistributedVirtualSwitch distributedVirtualSwitch [1]

other end: vcenter::DistributedVirtualSwitch.portgroup [0:*]

relation vcenter::vim::dvs::distributed_virtual_portgroup::ConfigSpec config [1]
relation vcenter::VirtualMachinePort virtual_machine_port [0:*]

other end: vcenter::VirtualMachinePort.distributed_virtual_portgroup [0:1]

The following implements statements select implementations for this entity:

entity vcenter::DistributedVirtualSwitch

Parents: vcenter::ManagedEntity

Specialized version of ‘Element’ class - representing a distributed, virtual switch The switch may contain multiple port groups Corresponds to vim.DistributedVirtualSwitch

attribute string self_type='vim.DistributedVirtualSwitch'

name of the corresponding vCenter type (mapping)

relation vcenter::DistributedVirtualPortgroup portgroup [0:*]

other end: vcenter::DistributedVirtualPortgroup.distributedVirtualSwitch [1]

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::ESXIResource

Parents: std::ManagedResource, std::PurgeableResource

Top level representation of a resource managed by Inmanta orchestrator

attribute bool purge_on_delete=false
attribute string self_type

name of the corresponding vCenter type (mapping)

The following implements statements select implementations for this entity:

entity vcenter::ESXIVirtualMachineFromOva

Parents: vcenter::SharedVirtualMachineFromOva

attribute bool search_by_path=false
attribute bool skip_guest_customization=true

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::Element

Parents: std::Entity

Shared superclass for ‘ManagedEntity’ and ‘RootContainer’ It is a very first class (base/root) starting the whole class hierarchy

attribute string agent

vCenter server name

relation vcenter::ManagedEntity children [0:*]

other end: vcenter::ManagedEntity.parent [1]

entity vcenter::Folder

Parents: vcenter::ManagedEntity

Specialized version of ‘Element’ class - representing a general folder A folder can contain other folders, or a group of objects of the same type Corresponds to vim.Folder

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::GuestOS

Parents: std::Entity

attribute string domain='domain.local'

The fully qualified domain name (optional) <https://pubs.vmware.com/vi3/sdk/ReferenceGuide/vim.vm.customization.LinuxPrep.html>

attribute string? hostname=null

The network host name of the (Linux) virtual machine (optional) <https://pubs.vmware.com/vi3/sdk/ReferenceGuide/vim.vm.customization.LinuxPrep.html>

The following implements statements select implementations for this entity:

entity vcenter::HostDnsConfig

Parents: vcenter::DataEntity, vcenter::ESXIResource

attribute string self_type='vim.host.DnsConfig'
attribute string config_type='vim.host.DnsConfig'
attribute string agent='agent'
relation vcenter::vim::host::DnsConfig spec [1]

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::HostGroup

Parents: vcenter::ManagedEntity, vcenter::BaseResource

Specialized version of ‘Element’ class - representing a Hosts Group Corresponds to vim.cluster.VmGroup <https://code.vmware.com/apis/358/vsphere/doc/vim.cluster.HostGroup.html>

attribute string self_type='vim.cluster.HostGroup'
attribute string[] members_paths=List()

List of paths to hosts - members of a group

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::HostPortgroup

Parents: vcenter::DataEntity, vcenter::ESXIResource

Specialized version of ‘Element’ class - representing a host port group A port group belongs to single switch Corresponds to vim.host.Portgroup

attribute string self_type='vim.host.PortGroup'

name of the corresponding pyvmomi type (mapping)

attribute string config_type='vim.host.PortGroup.Specification'

resource config type (read or write)

attribute string agent='agent'
relation vcenter::HostVirtualSwitch hostVirtualSwitch [0:1]

other end: vcenter::HostVirtualSwitch.hostportgroup [0:*]

relation vcenter::vim::host::port_group::Specification spec [1]
relation vcenter::HostVirtualNic vnics [0:*]

other end: vcenter::HostVirtualNic.host_portgroup [0:1]

relation vcenter::VirtualMachinePort virtual_machine_port [0:*]

other end: vcenter::VirtualMachinePort.host_portgroup [0:1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::HostVirtualNic

Parents: vcenter::DataEntity, vcenter::ESXIResource

attribute string self_type='vim.host.VirtualNic'
attribute string config_type='vim.host.VirtualNic.Specification'
attribute string agent='agent'
attribute std::positive_int mtu
attribute string? network_name_or_path
attribute string? distributed_virtual_portgroup_or_path=null
attribute std::ipv4_address? ip_address=null
attribute std::ipv4_address? subnet_mask=null
attribute std::ipv4_address? default_gateway=null
attribute std::ipv6_address? ipv6_default_gateway=null
attribute bool should_use_dhcp=false
attribute bool by_path=false
relation vcenter::HostPortgroup host_portgroup [0:1]

other end: vcenter::HostPortgroup.vnics [0:*]

relation vcenter::DistributedVirtualPortgroup distributed_virtual_portgroup [0:1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::HostVirtualSwitch

Parents: vcenter::DataEntity, vcenter::ESXIResource

Specialized version of ‘Element’ class - representing a host virtual switch The switch may contain multiple port groups Corresponds to vim.host.VirtualSwitch

attribute string self_type='vim.host.VirtualSwitch'

name of the corresponding pyvmomi type (mapping)

attribute string config_type='vim.host.VirtualSwitch.Specification'
attribute string agent='agent'
relation vcenter::vim::host::virtual_switch::Specification spec [1]
relation vcenter::HostPortgroup hostportgroup [0:*]

other end: vcenter::HostPortgroup.hostVirtualSwitch [0:1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::LinuxGuestOS

Parents: vcenter::GuestOS

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::ManagedEntity

Parents: vcenter::DataEntity

Special subclass of ‘Element’ - having a parent - representing a living entity on the server Base class for all descendant ‘Element’ classes like: folders, datacenters, virtual swithes etc. Corresponds to vim.ManagedEntity

relation vcenter::Element parent [1]

other end: vcenter::Element.children [0:*]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::NamedCredentials

Parents: vcenter::Credentials

Named version of credentials, with an index to allow it to be constructed multiple times

attribute string name
entity vcenter::NetworkEntityFolder

Parents: vcenter::Folder

Specialized version of ‘Folder’ entity dedicated for networking resources.

attribute string name='network'

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::RenameVirtualMachine

Parents: vcenter::DataEntity, vcenter::ESXIResource

Entity renaming an existing VirtualMachine.

attribute string original_name

The original name of the VM

attribute bool search_by_path=false

Boolean flag indicating whether virtual machine should be searched by full path or name

attribute string self_type='RenameVirtualMachine'
relation vcenter::VirtualMachine renamed_vm [0:1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::RootContainer

Parents: vcenter::Element

Special subclass of ‘Element’ - not having a parent It is always a starting point for the object tree

relation vcenter::VCenter vcenter [1]

other end: vcenter::VCenter.root [1]

The following implements statements select implementations for this entity:

entity vcenter::SharedVirtualMachineFromOva

Parents: vcenter::VirtualMachine

Specialized version of ‘Element’ class - representing a virtual machine which will be created from OVA image Corresponds to vim.VirtualMachine

attribute string ova_file_url

URL to OVA file which will be downloaded and used to create new virtual machine

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::SharedVirtualMachineFromTemplate

Parents: vcenter::VirtualMachine

Specialized version of ‘Element’ class - representing a virtual machine which will be cloned from template Corresponds to vim.VirtualMachine

attribute string template_path

vSphere path to template which will be used for cloning

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::Tag

Parents: std::Entity

Representation of vSphere tag which can be attached to each resource.

Tags and Tag categories are automatically created when required and cleaned up when they are no longer in use.

attribute string tag_category
attribute string tag

name of tag

The following implements statements select implementations for this entity:

entity vcenter::VCResource

Parents: vcenter::BaseResource

Top level representation of a resource managed by Inmanta orchestrator for which dedicated framework should be used in handler. It is required to vSphere type described by this type of resource to expose ConfigSpec and ConfigInfo objects.

attribute string config_type

resource config type (read or write)

The following implementations are defined for this entity:

entity vcenter::VCenter

Parents: std::Entity

Main class representing connection to vCenter server All object tree items belong logically to a single ‘VCenter’ object

attribute string name

unique name

attribute string host

vCenter server

attribute int port

vCenter server listening port

relation vcenter::Credentials credentials [1]
relation vcenter::RootContainer root [1]

other end: vcenter::RootContainer.vcenter [1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::VMDKStorageRule

Parents: vcenter::ManagedEntity, vcenter::BaseResource

Specialized version of ‘Element’ class - representing a VMDK storage anti-affinity rule Corresponds to vim.storageDrs.VmConfigInfo <https://code.vmware.com/apis/358/vsphere/doc/vim.storageDrs.VmConfigInfo.html>.

VirtualDisk can’t be named the same as the VirtualMachine, this name is reserved to identify main disk in the implementation. To add main disk (Hard disk 1) to VMDK rule, please use include_main_disk attribute.

attribute string self_type='vim.storageDrs.VmConfigInfo'
attribute bool include_main_disk=true

Boolean flag indicating if primary disk of VM (which is not inclued in the model) should be included for VMDK rule - default: true

attribute bool search_by_path=true

Boolean flag indicating whether VM should be searched by full path or name

relation vcenter::VirtualMachine virtual_machine [1]
relation vcenter::VirtualDisk virtual_disks [0:*]

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::VMDiscoveryResource

Parents: std::DiscoveryResource

A resource that will discover all VM’s on the given vcenter

attribute string name='all'

unique id for the resource, can be left to default

attribute string agent

agent to schedule this handler on

relation vcenter::VCenter vcenter [1]

The following implements statements select implementations for this entity:

entity vcenter::VirtualDisk

Parents: vcenter::ManagedEntity, vcenter::BaseResource

Specialized version of ‘Element’ class - representing a general virtual disk Corresponds to vim.vm.device.VirtualDisk

attribute string self_type='vim.vm.device.VirtualDisk'

name of the corresponding (virtual device) vCenter type (mapping)

attribute string config_type='vim.vm.device.VirtualDeviceSpec'

resource config type (read or write)

attribute bool ide_allowed=false

Boolean flag indicating allowed disk type (true -> expected: IDE, false -> expected: SCSI)

attribute bool increase_size=false

Boolean flag indicating ability to increase disk size

attribute bool decrease_size=false

Boolean flag indicating ability to decrease disk size

attribute int capacity_kb=1024

size of the disk expressed in KBytes

attribute bool thin_provisioned=false

Boolean flag indicating to the underlying filesystem, whether the virtual disk backing file should be allocated lazily (using thin provisioning). This flag is only used for file systems that support configuring the provisioning policy on a per file basis, such as VMFS3.

attribute bool is_root=false

Boolean flag indicating that the disk is a root disk

attribute std::uuid? backing_id=null

the uuid that can be used to find this disk To identify the disk with regard to its siblings, the following rules will be followed: 1. if backing_id is provided, we will match the disk with that backing.uuid 2. if backing_id is not provided, we will search for a disk with uuid5(uuid.UUID(bytes=”inmanta-vcenter “.encode(“utf-8”)), vm.name + name) 3. if backing_id is not provided, and no disk has been found, we search for a disk with the given name as file name for the backing file (legacy) When creating disks, we will set ‘backing.uuid’ to either self.backing_id or uuid5(uuid.UUID(bytes=”inmanta-vcenter “.encode(“utf-8”)), self.virtualmachine.name + name)

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::VirtualMachine

Parents: vcenter::ManagedEntity, vcenter::BaseResource

Entity representing common parts defining virtual machine. Its children should contain additional parameters related to provisioning method.

attribute string self_type='vim.VirtualMachine'

name of the corresponding vCenter type (mapping)

attribute string datastore_path

vSphere path to datastore which will be used for cloning

attribute string resource_pool_path

vSphere path to resource pool which will be used for cloning

attribute vcenter::iso_in_datastore_name? iso_cdrom_name=null

Name of ISO file (stored in the datastore) to be inserted in the first avaialble (the one with lowest key) virtual CD-ROM drive (optional). Virtual CD-ROM drive must exist (in other case deploy attempt with iso_cdrom_name set will end up in failure). It must be in the format [<datastore_name>] <filename>. To unset image provide `` (empty string).

attribute bool power_on

Boolean type indicating if virtual machine should be powered on after creation.

attribute bool hot_add_cpu=true

Boolean type indicating whether virtual processors can be added while the virtual machine is running

attribute bool hot_remove_cpu=true

Boolean type indicating whether virtual processors can be removed while the virtual machine is running

attribute bool hot_add_memory=true

Boolean type indicating whether memory can be added while the virtual machine is running

dict vcenter::VirtualMachine.extra_config={'vmx.hotRemoveWait': 600}

Dictionary containing additional configuration parameters fo virtual machine

attribute int memory_mb=1024

Initial amount of memory expressed in MB

attribute int cpu_num=1

Initial number of CPU cores

attribute int cpu_num_per_socket=1

Number of cores per CPU socket

attribute int storage_gb=0

Size (in GB) of storage space required to be free on datastore (default 0 - datastore free space won’t be checked)

attribute bool no_create=false

Boolean flag - set to true creation of VM will be skipped (default: false)

attribute bool delete_allowed=true

Boolean type option indicating whether virtual machine is allowed to be deleted

attribute bool search_by_path=true

Boolean flag indicating whether virtual machine should be searched by full path or name

attribute bool disable_hot_parameters_update=false

Boolean flag indicating whether update of hot_add_cpu, hot_remove_cpu and hot_add_memory should be performed (if False it will be skipped with warning)

attribute vcenter::vm_ip_setting_failure_reaction on_ip_setting_failure='ignore'

Defines behaviour of handler when IP address cannot be set (because VM is powered on and handler is unable to customize it). Either fail which will raise an exception and terminate deployment process. Caution: this option no longer does anything! or ignore (default) which will log proper message and allow deployment process to be completed

attribute bool skip_guest_customization=false

True iff the step that customizes the internals of the VM (e.g. configuring its IP addresses) should be skipped.

attribute bool enable_auto_start=false

True iff the VM should start when the Vsphere host starts.

attribute int start_delay=-1

Delay in seconds, only used if enable_auto_start is set to True. After the ESXi host powers on the first virtual machine, the host waits for the specified delay time and powers on the next virtual machine.

attribute int stop_delay=-1

Delay in seconds, only used if enable_auto_start is set to True. Stop delay is the maximum time the ESXi host waits for a shutdown command to complete. The order in which virtual machines are shut down is the reverse of their startup order. After the ESXi host shuts down the first virtual machine within the time you specify, the host shuts down the next virtual machine.

attribute bool ignore_resource_pool_path=false

True if the attribute resource_pool_path should be ignored during self healing. This means that the resource_pool_path will only be used when creating the VM. After creation, the VM can be moved to another resource pool.

attribute bool tags_co_management=true

True if the tags should be co-managed -> will only enforce that desired tags are created. But if additional tags exist for a given VM, they will not be removed.

attribute vcenter::vm_cpu_update_strategy cpu_update_strategy='no_reboot'

Strategy on how to update the cpu and the cpu_per_socket attributes - no_reboot (default): make a best effort to update without reboot: only update cpu if the hot_*_cpu attributes are set to true or the machine is off. Fail if the update can not be made. - reboot: if an update is required, always reboot - fail: if the numbers mismatch throws an error - ignore: if the numbers mismatch ignore silently

relation vcenter::GuestOS guest_os [1]
relation vcenter::VirtualDisk root_disk [0:1]
relation vcenter::CreateISO iso [0:1]

other end: vcenter::CreateISO.vm [1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::VirtualMachineFolder

Parents: vcenter::Folder

Specialized version of ‘Folder’ entity dedicated for virtual machine resources.

attribute string name='vm'

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::VirtualMachineFromContentLibrary

Parents: vcenter::VirtualMachine

attribute string library

Name of the content library to use

attribute string template

Name of the template inside the content library to use

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::VirtualMachineFromOva

Parents: vcenter::SharedVirtualMachineFromOva

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::VirtualMachineFromTemplate

Parents: vcenter::SharedVirtualMachineFromTemplate

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::VirtualMachineGroup

Parents: vcenter::ManagedEntity, vcenter::BaseResource

Specialized version of ‘Element’ class - representing a Virtual Machines Group Corresponds to vim.cluster.VmGroup <https://code.vmware.com/apis/358/vsphere/doc/vim.cluster.VmGroup.html>

attribute string self_type='vim.cluster.VmGroup'
attribute string[] members_paths=List()

List of paths to virtual machines - members of a group (it can be used jointly or separately with members relation but sigle virtual machine cannot be defined twice using both methods)

attribute bool search_by_path=true

Boolean flag indicating whether members should be searched by full path or name

relation vcenter::VirtualMachine members [0:*]

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::VirtualMachinePort

Parents: vcenter::ManagedEntity

Specialized version of ‘Element’ class - representing a general Virtual Machine NIC Corresponds to vim.vm.device.VirtualVmxnet3

DistributedVirtualPortgroup can be configured with distributed_virtual_portgroup or distributed_virtual_portgroup_path, if both attributes are specified, they should point to the same object.

VirtualMachinePort can be attached to either DistributedVirtualPortgroup or directly to a vcenter Network (network_path). It also means that only one of attributes configuring mentioned attachments can be specified for a single VirtualMachinePort.

attribute string name

name / identifier of a port

attribute string port_type='vim.vm.device.VirtualVmxnet3'

name of the corresponding vCenter (virtual device) type (mapping)

attribute string? mac_address=null
attribute std::ipv4_address? ip_address=null

IP v4 address of the port

attribute std::ipv4_address? network_mask=null

Network mask for subnet connected to this port (dotted notation)

attribute std::ipv4_address? gateway=null

Gateway address for subnet connected to this port (optional)

attribute string? distributed_virtual_portgroup_path=null

Path to DistributedVirtualPortgroup which should be used to create a port (optional). It can be used in cases of existing portgroups to eliminate obligation of writing DistributedVirtualPortgroup model and wiring portgroup using relation. Also it will be preferred over entity wired using relation.

attribute string? network_path

Path to a vcenter Network, or HostPortGroup (optional)

attribute int? nic_index=null

NIC index value (optional) VM spec is created with NICs sorted ascending by nic_index value. null values are appended after NIC with highest value. In case of update, existing interfaces are not modified. When the skip_guest_customization is not set on the VM, if the ip_address and the network mask are set, the port is configured with a static ip else the port is configured using DHCP

relation vcenter::DistributedVirtualPortgroup distributed_virtual_portgroup [0:1]

other end: vcenter::DistributedVirtualPortgroup.virtual_machine_port [0:*]

relation vcenter::HostPortgroup host_portgroup [0:1]

other end: vcenter::HostPortgroup.virtual_machine_port [0:*]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::VirtualMachinePortMock

Parents: vcenter::ManagedEntity

Mock of VirtualMachinePort which can be used ONLY FOR TESTING PURPOSES. Its goal is to simplify tests of VirtualMachine which don’t check networking part. So providing one VirtualMachinePortMock instance instead of (many VirtualMachinePort instance(s) will cause that validation rule for network interfaces number will not fail the test and logic responsible for deploying of networking part will be not invoked.

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::VirtualMachineStorageRule

Parents: vcenter::ManagedEntity, vcenter::BaseResource

Specialized version of ‘Element’ class - representing a VM storage anti-affinity rule Corresponds to vim.cluster.AntiAffinityRuleSpec <https://code.vmware.com/apis/358/vsphere/doc/vim.cluster.AntiAffinityRuleSpec.html> (but in the context of storage).

attribute string self_type='vim.cluster.AntiAffinityRuleSpec'
attribute string[] members_paths=List()

List of paths to virtual machines - members of a rule (it can be used jointly or separately with members relation but sigle virtual machine cannot be defined twice using both methods)

attribute bool search_by_path=true

Boolean flag indicating whether members should be searched by full path or name

relation vcenter::VirtualMachine members [0:*]

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::VirtualMachineToHostRule

Parents: vcenter::ManagedEntity, vcenter::BaseResource

Specialized version of ‘Element’ class - representing a VM to Host rule Corresponds to: vim.cluster.VmHostRuleInfo <https://code.vmware.com/apis/358/vsphere/doc/vim.cluster.VmHostRuleInfo> Due to fact that it uses only one VM group and one host group update operation is not supported.

attribute string self_type='vim.cluster.VmHostRuleInfo'
attribute vcenter::affinity_mode affinity_mode

Type of rule - one of affinity / anti-affinity

attribute bool mandatory=true

Flag to indicate whether compliance with this rule is mandatory or optional.

relation vcenter::VirtualMachineGroup virtual_machine_group [1]
relation vcenter::HostGroup host_group [1]

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::VirtualMachineToVirtualMachineRule

Parents: vcenter::ManagedEntity, vcenter::BaseResource

Specialized version of ‘Element’ class - representing a VM to VM affinity / anti-affinity rule Corresponds to: * vim.cluster.AffinityRuleSpec <https://code.vmware.com/apis/358/vsphere/doc/vim.cluster.AffinityRuleSpec.html> * vim.cluster.AntiAffinityRuleSpec <https://code.vmware.com/apis/358/vsphere/doc/vim.cluster.AntiAffinityRuleSpec.html>

attribute string[] members_paths=List()

List of paths to virtual machines - members of a rule (it can be used jointly or separately with members relation but sigle virtual machine cannot be defined twice using both methods)

attribute vcenter::affinity_mode affinity_mode

Type of rule - one of affinity / anti-affinity

attribute bool search_by_path=true

Boolean flag indicating whether VMs should be searched by full path or name

relation vcenter::VirtualMachine members [0:*]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::WindowsGuestOS

Parents: vcenter::GuestOS

attribute bool auto_logon=false
attribute int time_zone=105
attribute string user_name='administrator'
attribute string organization_name
attribute bool password_plain_text=false
attribute string? password=null

The following implements statements select implementations for this entity:

  • constraint true

entity vcenter::helper::FolderHierarchyBuilder

Parents: std::Entity

Helper entity used to create entities hierarchy for all the folders entities (vcenter::Folder) present in the given path. It might be helpful in case of deployment of e.g. VM in nested folder. Lowest level folder (the one pointing by the path) will be available via result_folder relation. There are also 3 more relations defined: * parent_folder - folder which will act as parent of the new one created by given builder, should be set via constructor * folder - folder created by given builder, its parent is parent_folder * child_builder - child builder which will try to build hierarchy with shortened path (its parent_folder will be folder of current builder)

attribute string[] path

path (to the lowest level folder) as array (use get_folders_names_hierarchy plugin to transform form string)

relation vcenter::helper::FolderHierarchyBuilder child_builder [0:1]
relation vcenter::Element parent_folder [1]
relation vcenter::Element folder [1]
relation vcenter::Element result_folder [1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity vcenter::vim::BoolPolicy

Parents: vcenter::vim::InheritablePolicy

attribute bool? value=null

The following implements statements select implementations for this entity:

entity vcenter::vim::InheritablePolicy

Parents: std::Entity

attribute bool inherited

The following implements statements select implementations for this entity:

entity vcenter::vim::IntExpression

Parents: vcenter::vim::NegatableExpression

attribute int? value=null

The following implements statements select implementations for this entity:

entity vcenter::vim::IntPolicy

Parents: vcenter::vim::InheritablePolicy

attribute int? value=null

The following implements statements select implementations for this entity:

entity vcenter::vim::IpAddress

Parents: vcenter::vim::NegatableExpression

The following implements statements select implementations for this entity:

entity vcenter::vim::IpRange

Parents: vcenter::vim::IpAddress

attribute string addressPrefix
attribute int? prefixLength=null

The following implements statements select implementations for this entity:

entity vcenter::vim::LongPolicy

Parents: vcenter::vim::InheritablePolicy

attribute int? value=null

The following implements statements select implementations for this entity:

entity vcenter::vim::MacAddress

Parents: vcenter::vim::NegatableExpression

The following implements statements select implementations for this entity:

entity vcenter::vim::MacRange

Parents: vcenter::vim::MacAddress

attribute string address
attribute string mask

The following implements statements select implementations for this entity:

entity vcenter::vim::NegatableExpression

Parents: std::Entity

attribute bool? negate=null

The following implements statements select implementations for this entity:

entity vcenter::vim::NumericRange

Parents: std::Entity

attribute int start
attribute int _end

The following implements statements select implementations for this entity:

entity vcenter::vim::SingleIp

Parents: vcenter::vim::IpAddress

attribute string address

The following implements statements select implementations for this entity:

entity vcenter::vim::SingleMac

Parents: vcenter::vim::MacAddress

attribute string address

The following implements statements select implementations for this entity:

entity vcenter::vim::StringExpression

Parents: vcenter::vim::NegatableExpression

attribute string? value=null

The following implements statements select implementations for this entity:

entity vcenter::vim::StringPolicy

Parents: vcenter::vim::InheritablePolicy

attribute string? value=null

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::PortConnection

Parents: std::Entity

attribute string switchUuid
attribute string? portgroupKey=null
attribute string? portKey=null
attribute int? connectionCookie=null

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::TrafficRule

Parents: std::Entity

attribute string? key=null
attribute string? description=null
attribute int? sequence=null
attribute string? direction=null
relation vcenter::vim::dvs::traffic_rule::Qualifier qualifier [0:*]
relation vcenter::vim::dvs::traffic_rule::Action action [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::TrafficRuleset

Parents: std::Entity

attribute string? key=null
attribute bool? enabled=null
attribute int? precedence=null
relation vcenter::vim::dvs::TrafficRule rules [0:*]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::distributed_virtual_port::FilterConfig

Parents: vcenter::vim::InheritablePolicy

attribute string? key=null
attribute string? agentName=null
attribute string? slotNumber=null
attribute string? onFailure=null
relation vcenter::vim::dvs::distributed_virtual_port::FilterParameter parameters [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::distributed_virtual_port::FilterConfigSpec

Parents: vcenter::vim::dvs::distributed_virtual_port::FilterConfig

attribute string operation

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::distributed_virtual_port::FilterParameter

Parents: std::Entity

attribute string[]? parameters=null

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::distributed_virtual_port::FilterPolicy

Parents: vcenter::vim::InheritablePolicy

relation vcenter::vim::dvs::distributed_virtual_port::FilterConfig filterConfig [0:*]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::distributed_virtual_port::Setting

Parents: std::Entity

relation vcenter::vim::BoolPolicy blocked [0:1]
relation vcenter::vim::BoolPolicy vmDirectPathGen2Allowed [0:1]
relation vcenter::vim::dvs::distributed_virtual_port::TrafficShapingPolicy inShapingPolicy [0:1]
relation vcenter::vim::dvs::distributed_virtual_port::TrafficShapingPolicy outShapingPolicy [0:1]
relation vcenter::vim::StringPolicy networkResourcePoolKey [0:1]
relation vcenter::vim::dvs::distributed_virtual_port::FilterPolicy filterPolicy [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::distributed_virtual_port::TrafficFilterConfig

Parents: vcenter::vim::dvs::distributed_virtual_port::FilterConfig

relation vcenter::vim::dvs::TrafficRuleset trafficRuleset [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::distributed_virtual_port::TrafficFilterConfigSpec

Parents: vcenter::vim::dvs::distributed_virtual_port::TrafficFilterConfig

attribute string operation

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::distributed_virtual_port::TrafficShapingPolicy

Parents: vcenter::vim::InheritablePolicy

relation vcenter::vim::BoolPolicy enabled [0:1]
relation vcenter::vim::LongPolicy averageBandwidth [0:1]
relation vcenter::vim::LongPolicy peakBandwidth [0:1]
relation vcenter::vim::LongPolicy burstSize [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::distributed_virtual_portgroup::ConfigSpec

Parents: std::Entity

attribute string? name
attribute int? numPorts=null
attribute string? portNameFormat=null
attribute string? description=null
attribute string? type=null
attribute string? backingType=null
attribute bool? autoExpand=null
attribute string? vmVnicNetworkResourcePoolKey=null
attribute string? transportZoneUuid=null
attribute string? transportZoneName=null
attribute string? logicalSwitchUuid=null
attribute string? segmentId=null
relation vcenter::vim::dvs::distributed_virtual_port::Setting defaultPortConfig [0:1]
relation vcenter::vim::dvs::distributed_virtual_portgroup::PortgroupPolicy policy [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::distributed_virtual_portgroup::PortgroupPolicy

Parents: std::Entity

attribute bool blockOverrideAllowed
attribute bool shapingOverrideAllowed
attribute bool vendorConfigOverrideAllowed
attribute bool livePortMovingAllowed
attribute bool portConfigResetAtDisconnect
attribute bool? networkResourcePoolOverrideAllowed=null
attribute bool? trafficFilterOverrideAllowed=null

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::AcceptAction

Parents: vcenter::vim::dvs::traffic_rule::Action

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::Action

Parents: std::Entity

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::CopyAction

Parents: vcenter::vim::dvs::traffic_rule::Action

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::DropAction

Parents: vcenter::vim::dvs::traffic_rule::Action

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::GreAction

Parents: vcenter::vim::dvs::traffic_rule::Action

relation vcenter::vim::SingleIp encapsulationIp [1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::IpPort

Parents: vcenter::vim::NegatableExpression

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::IpPortRange

Parents: vcenter::vim::dvs::traffic_rule::IpPort

attribute int startPortNumber
attribute int endPortNumber

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::IpQualifier

Parents: vcenter::vim::dvs::traffic_rule::Qualifier

relation vcenter::vim::IpAddress sourceAddress [0:1]
relation vcenter::vim::IpAddress destinationAddress [0:1]
relation vcenter::vim::IntExpression protocol [0:1]
relation vcenter::vim::dvs::traffic_rule::IpPort sourceIpPort [0:1]
relation vcenter::vim::dvs::traffic_rule::IpPort destinationIpPort [0:1]
relation vcenter::vim::IntExpression tcpFlags [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::LogAction

Parents: vcenter::vim::dvs::traffic_rule::Action

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::MacQualifier

Parents: vcenter::vim::dvs::traffic_rule::Qualifier

relation vcenter::vim::MacAddress sourceAddress [0:1]
relation vcenter::vim::MacAddress destinationAddress [0:1]
relation vcenter::vim::IntExpression protocol [0:1]
relation vcenter::vim::IntExpression vlanId [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::MacRewriteAction

Parents: vcenter::vim::dvs::traffic_rule::Action

attribute string rewriteMac

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::PuntAction

Parents: vcenter::vim::dvs::traffic_rule::Action

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::Qualifier

Parents: std::Entity

attribute string? key=null

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::RateLimitAction

Parents: vcenter::vim::dvs::traffic_rule::Action

attribute int packetsPerSecond

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::SingleIpPort

Parents: vcenter::vim::dvs::traffic_rule::IpPort

attribute int portNumber

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::SystemTrafficQualifier

Parents: vcenter::vim::dvs::traffic_rule::Qualifier

relation vcenter::vim::StringExpression typeOfSystemTraffic [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::traffic_rule::UpdateTagAction

Parents: vcenter::vim::dvs::traffic_rule::Action

attribute int? qosTag=null
attribute int? dscpTag=null

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::FailureCriteria

Parents: vcenter::vim::InheritablePolicy

relation vcenter::vim::StringPolicy checkSpeed [0:1]
relation vcenter::vim::IntPolicy speed [0:1]
relation vcenter::vim::BoolPolicy checkDuplex [0:1]
relation vcenter::vim::BoolPolicy fullDuplex [0:1]
relation vcenter::vim::BoolPolicy checkErrorPercent [0:1]
relation vcenter::vim::IntPolicy percentage [0:1]
relation vcenter::vim::BoolPolicy checkBeacon [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::MacLearningPolicy

Parents: vcenter::vim::InheritablePolicy

attribute bool enabled
attribute bool? allowUnicastFlooding=null
attribute int? limit=null
attribute string? limitPolicy=null

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::MacManagementPolicy

Parents: vcenter::vim::InheritablePolicy

attribute bool? allowPromiscuous=null
attribute bool? macChanges=null
attribute bool? forgedTransmits=null
relation vcenter::vim::dvs::vmware_distributed_virtual_switch::MacLearningPolicy macLearningPolicy [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::PvlanSpec

Parents: vcenter::vim::dvs::vmware_distributed_virtual_switch::VlanSpec

attribute int pvlanId

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::SecurityPolicy

Parents: vcenter::vim::InheritablePolicy

relation vcenter::vim::BoolPolicy allowPromiscuous [0:1]
relation vcenter::vim::BoolPolicy macChanges [0:1]
relation vcenter::vim::BoolPolicy forgedTransmits [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::TrunkVlanSpec

Parents: vcenter::vim::dvs::vmware_distributed_virtual_switch::VlanSpec

relation vcenter::vim::NumericRange vlanId [0:*]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::UplinkLacpPolicy

Parents: vcenter::vim::InheritablePolicy

relation vcenter::vim::BoolPolicy enable [0:1]
relation vcenter::vim::StringPolicy mode [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::UplinkPortOrderPolicy

Parents: vcenter::vim::InheritablePolicy

attribute string[]? activeUplinkPort=null
attribute string[]? standbyUplinkPort=null

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::UplinkPortTeamingPolicy

Parents: vcenter::vim::InheritablePolicy

relation vcenter::vim::StringPolicy policy [0:1]
relation vcenter::vim::BoolPolicy reversePolicy [0:1]
relation vcenter::vim::BoolPolicy notifySwitches [0:1]
relation vcenter::vim::BoolPolicy rollingOrder [0:1]
relation vcenter::vim::dvs::vmware_distributed_virtual_switch::FailureCriteria failureCriteria [0:1]
relation vcenter::vim::dvs::vmware_distributed_virtual_switch::UplinkPortOrderPolicy uplinkPortOrder [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::VMwarePortgroupPolicy

Parents: vcenter::vim::dvs::distributed_virtual_portgroup::PortgroupPolicy

attribute bool vlanOverrideAllowed
attribute bool uplinkTeamingOverrideAllowed
attribute bool securityPolicyOverrideAllowed
attribute bool? ipfixOverrideAllowed=null
attribute bool? macManagementOverrideAllowed=null

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::VlanIdSpec

Parents: vcenter::vim::dvs::vmware_distributed_virtual_switch::VlanSpec

attribute int vlanId

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::VlanSpec

Parents: vcenter::vim::InheritablePolicy

The following implements statements select implementations for this entity:

entity vcenter::vim::dvs::vmware_distributed_virtual_switch::VmwarePortConfigPolicy

Parents: vcenter::vim::dvs::distributed_virtual_port::Setting

relation vcenter::vim::dvs::vmware_distributed_virtual_switch::VlanSpec vlan [0:1]
relation vcenter::vim::IntPolicy qosTag [0:1]
relation vcenter::vim::dvs::vmware_distributed_virtual_switch::UplinkPortTeamingPolicy uplinkTeamingPolicy [0:1]
relation vcenter::vim::dvs::vmware_distributed_virtual_switch::SecurityPolicy securityPolicy [0:1]
relation vcenter::vim::BoolPolicy ipfixEnabled [0:1]
relation vcenter::vim::dvs::vmware_distributed_virtual_switch::UplinkLacpPolicy lacpPolicy [0:1]
relation vcenter::vim::dvs::vmware_distributed_virtual_switch::MacManagementPolicy macManagementPolicy [0:1]
relation vcenter::vim::IntPolicy _VNI [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::ext::ManagedByInfo

Parents: std::Entity

attribute string extensionKey
attribute string type

The following implements statements select implementations for this entity:

entity vcenter::vim::host::DnsConfig

Parents: std::Entity

attribute bool dhcp
attribute string? virtualNicDevice=null
attribute string? ipv6VirtualNicDevice=null
attribute string hostName
attribute string domainName
attribute string[]? address=null
attribute string[]? searchDomain=null

The following implements statements select implementations for this entity:

entity vcenter::vim::host::DnsConfigSpec

Parents: vcenter::vim::host::DnsConfig

relation vcenter::vim::host::VirtualNicConnection virtualNicConnection [0:1]
relation vcenter::vim::host::VirtualNicConnection virtualNicConnectionV6 [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::host::LinkDiscoveryProtocolConfig

Parents: std::Entity

attribute string protocol
attribute string operation

The following implements statements select implementations for this entity:

entity vcenter::vim::host::NetOffloadCapabilities

Parents: std::Entity

attribute bool? csumOffload=null
attribute bool? tcpSegmentation=null
attribute bool? zeroCopyXmit=null

The following implements statements select implementations for this entity:

entity vcenter::vim::host::NetworkPolicy

Parents: std::Entity

relation vcenter::vim::host::network_policy::SecurityPolicy security [0:1]
relation vcenter::vim::host::network_policy::NicTeamingPolicy nicTeaming [0:1]
relation vcenter::vim::host::NetOffloadCapabilities offloadPolicy [0:1]
relation vcenter::vim::host::network_policy::TrafficShapingPolicy shapingPolicy [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::host::VirtualNicConnection

Parents: std::Entity

attribute string? portgroup=null
relation vcenter::vim::dvs::PortConnection dvPort [0:1]
relation vcenter::vim::host::virtual_nic::OpaqueNetworkSpec opNetwork [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::host::network_policy::NicFailureCriteria

Parents: std::Entity

attribute string? checkSpeed=null
attribute int? speed=null
attribute bool? checkDuplex=null
attribute bool? fullDuplex=null
attribute bool? checkErrorPercent=null
attribute int? percentage=null
attribute bool? checkBeacon=null

The following implements statements select implementations for this entity:

entity vcenter::vim::host::network_policy::NicOrderPolicy

Parents: std::Entity

attribute string[]? activeNic=null
attribute string[]? standbyNic=null

The following implements statements select implementations for this entity:

entity vcenter::vim::host::network_policy::NicTeamingPolicy

Parents: std::Entity

attribute string? policy=null
attribute bool? reversePolicy=null
attribute bool? notifySwitches=null
attribute bool? rollingOrder=null
relation vcenter::vim::host::network_policy::NicFailureCriteria failureCriteria [0:1]
relation vcenter::vim::host::network_policy::NicOrderPolicy nicOrder [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::host::network_policy::SecurityPolicy

Parents: std::Entity

attribute bool? allowPromiscuous=null
attribute bool? macChanges=null
attribute bool? forgedTransmits=null

The following implements statements select implementations for this entity:

entity vcenter::vim::host::network_policy::TrafficShapingPolicy

Parents: std::Entity

attribute bool? enabled=null
attribute int? averageBandwidth=null
attribute int? peakBandwidth=null
attribute int? burstSize=null

The following implements statements select implementations for this entity:

entity vcenter::vim::host::port_group::Specification

Parents: std::Entity

attribute string name
attribute int vlanId
attribute string vswitchName
relation vcenter::vim::host::NetworkPolicy policy [1]

The following implements statements select implementations for this entity:

entity vcenter::vim::host::virtual_nic::OpaqueNetworkSpec

Parents: std::Entity

attribute string opaqueNetworkId
attribute string opaqueNetworkType

The following implements statements select implementations for this entity:

entity vcenter::vim::host::virtual_switch::AutoBridge

Parents: vcenter::vim::host::virtual_switch::Bridge

attribute string[]? excludedNicDevice=null

The following implements statements select implementations for this entity:

entity vcenter::vim::host::virtual_switch::BeaconConfig

Parents: std::Entity

attribute int interval

The following implements statements select implementations for this entity:

entity vcenter::vim::host::virtual_switch::BondBridge

Parents: vcenter::vim::host::virtual_switch::Bridge

attribute string[] nicDevice
relation vcenter::vim::host::virtual_switch::BeaconConfig beacon [0:1]
relation vcenter::vim::host::LinkDiscoveryProtocolConfig linkDiscoveryProtocolConfig [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::host::virtual_switch::Bridge

Parents: std::Entity

The following implements statements select implementations for this entity:

entity vcenter::vim::host::virtual_switch::SimpleBridge

Parents: vcenter::vim::host::virtual_switch::Bridge

attribute string nicDevice

The following implements statements select implementations for this entity:

entity vcenter::vim::host::virtual_switch::Specification

Parents: std::Entity

attribute int numPorts
attribute int? mtu=null
relation vcenter::vim::host::virtual_switch::Bridge bridge [0:1]
relation vcenter::vim::host::NetworkPolicy policy [0:1]

The following implements statements select implementations for this entity:

entity vcenter::vim::v_app::EntityConfigInfo

Parents: std::Entity

attribute string? tag=null
attribute int? startOrder=null
attribute int? startDelay=null
attribute bool? waitingForGuest=null
attribute string? startAction=null
attribute int? stopDelay=null
attribute string? stopAction=null
attribute bool? destroyWithParent=null

The following implements statements select implementations for this entity:

entity vcenter::vim::v_app::VAppConfigSpec

Parents: std::Entity

attribute string? annotation=null
attribute string? instanceUuid=null
relation vcenter::vim::v_app::EntityConfigInfo entityConfig [0:*]
relation vcenter::vim::ext::ManagedByInfo managedBy [0:1]

The following implements statements select implementations for this entity:

Implementations

implementation vcenter::agent_from_parent

Default implementation for ‘ManagedEntity’ It gets ‘agent’ and ‘vcenter’ fields directly from its parent

implementation vcenter::datacenter

Default implementation for ‘DataCenter’ It creates a relation to network folder

implementation vcenter::ensure_consistency
implementation vcenter::ensure_consistent_info
implementation vcenter::ensure_pg_consistency
implementation vcenter::fill_information
implementation vcenter::ignore_ip_setting_failure
implementation vcenter::iso_cdrom
implementation vcenter::rootcontainer

Default implementation for ‘VCenter’

implementation vcenter::set_name

Default implementation for ‘VCResource’

implementation vcenter::set_self_type
implementation vcenter::wire_dependencies

Ensure that a DVPG / HostPG is created before the parent VM using it

implementation vcenter::wire_root_disk
implementation vcenter::wire_vnic_dependencies

Ensure that a DVPG / HostPG is created before the VM kernel nic using it

implementation vcenter::helper::folder_hierarchy_builder_child
implementation vcenter::helper::folder_hierarchy_builder_empty
implementation vcenter::helper::folder_hierarchy_builder_parent

Plugins

vcenter._list_first(items: 'list') 'any'
vcenter._list_tail(items: 'list') 'list'
vcenter.get_folders_names_hierarchy(folder_path: 'string', include_main_folder: 'bool' = True) 'list'

Returns list of the names of subsequent folders obtained from given path.

Parameters:
  • folder_path – Path to some folder. It may be nested.

  • include_main_folder – Boolean flag - if true top level

(vCenter default like: datacenter, vm, host, network, datastore) folder name will be present in the result :return: list containing names of subsequent folders in the hierarchy :raise plugins.PluginException: In case of invalida path format - it is assumed that it must be /<datacenter_name>/<top_level_folder_name>/…

vcenter.get_resources_usage(pyvmomi_session: 'any', resource_pool_path: 'string') 'dict'

Returns dict containing resources (CPU, memory, storage) usage for given resource pool.

Parameters:
  • pyvmomi_sessionVSpherePyvmomiSession instance

  • resource_pool_path – Path to given resource pool

Returns:

Dictionary containing CPU, memory, storage availability and usage data for given resource pool

vcenter.validate_iso_in_datastore_name(iso_file_name: 'string') 'bool'

Resources

class vcenter.resource.iso.CreateISOResource
class vcenter.resource.distributed_virtual_portgroup.DistributedVirtualPortgroup
class vcenter.resource.virtual_machine.ESXIVirtualMachineFromOva
class vcenter.resource.host_dnsconfig.HostDnsConfig
class vcenter.resource.host_group.HostGroup
class vcenter.resource.host_portgroup.HostPortgroup
class vcenter.resource.host_vnic.HostVirtualNic
class vcenter.resource.host_vswitch.HostVirtualSwitch
class vcenter.resource.virtual_machine.RenameVirtualMachineResource

Resource class dedicated for renaming virtual machine.

class vcenter.resource.vmdk_storage_rule.VMDKStorageRule
class vcenter.unmanaged.VirtualMachineDiscovery

Common class for all vSphere resources. It have to be subclassed.

class vcenter.resource.virtual_disk.VirtualDisk
class vcenter.resource.virtual_machine.VirtualMachineFromContentLibrary
class vcenter.resource.virtual_machine.VcenterVirtualMachineFromOva
class vcenter.resource.virtual_machine.VcenterVirtualMachineFromTemplate
class vcenter.resource.virtual_machine_group.VirtualMachineGroup
class vcenter.resource.virtual_machine_storage_rule.VirtualMachineStorageRule
class vcenter.resource.virtual_machine_to_host_rule.VirtualMachineToHostRule
class vcenter.resource.virtual_machine_to_virtual_machine_rule.VirtualMachineToVirtualMachineRule

Handlers

class vcenter.handler.virtual_machine.RenameVirtualMachineHandler
class vcenter.handler.virtual_machine.VcenterVirtualMachineFromTemplateHandler
class vcenter.handler.virtual_machine.VcenterVirtualMachineFromOvaHandler
class vcenter.handler.virtual_machine.ESXIVirtualMachineFromOvaHandler
class vcenter.handler.virtual_machine.VcenterVirtualMachineFromContentLibrary
class vcenter.unmanaged.VirtualMachineDiscoveryHandler
class vcenter.handler.distributed_virtual_portgroup.PortGroupHandler
class vcenter.handler.host_dnsconfig.HostDnsConfigHandler
class vcenter.handler.host_group.HostGroupHandler
class vcenter.handler.host_portgroup.HostPortGroupHandler
class vcenter.handler.host_vnic.HostVirtualNicHandler
class vcenter.handler.host_vswitch.HostVirtualSwitchHandler
class vcenter.handler.iso.CreateISOHandler
class vcenter.handler.virtual_disk.VirtualDiskHandler

CRUD handler for managing resource of type: ‘VirtualDisk’

class vcenter.handler.virtual_machine_group.VirtualMachineGroupHandler
class vcenter.handler.virtual_machine_storage_rule.VirtualMachineStorageRuleHandler
class vcenter.handler.virtual_machine_to_host_rule.VirtualMachineToHostRuleHandler
class vcenter.handler.virtual_machine_to_virtual_machine_rule.VirtualMachineToVirtualMachineRuleHandler
class vcenter.handler.vmdk_storage_rule.VMDKStorageRuleHandler