pyvcloud.vcd.platform module

class pyvcloud.vcd.platform.Platform(client)

Bases: object

Helper class to interact with vSphere Platform resources.

Attributes:

client (str): Low level client to connect to vCD. extension (pyvcloud.vcd.Extension, optional): It holds an

Extension object to interact with vCD admin extension.
attach_vcenter(vc_server_name, vc_server_host, vc_admin_user, vc_admin_pwd, nsx_server_name=None, nsx_host=None, nsx_admin_user=None, nsx_admin_pwd=None, is_enabled=None)

Register (attach) a VirtualCenter server (also known as VimServer).

Param:vc_server_name: (str): vc_server_name (VC name).
Param:vc_server_host: (str): FQDN or IP address of VC host.
Param:vc_admin_user: (str): vc_admin user.
Param:vc_admin_pwd: (str): vc_admin password.
Param:nsx_server_name: (str): NSX server name.
Param:nsx_host (str): FQDN or IP address of NSX host.
Param:nsx_admin_user: (str): NSX admin user.
Param:nsx_admin_pwd: (str): NSX admin password.
Returns:A :class:lxml.objectify.StringElement object describing the

: newly registered (attached) VimServer.

create_provider_vdc(vim_server_name, resource_pool_names, storage_profiles, pvdc_name, is_enabled=None, description=None, highest_supp_hw_vers=None, vxlan_network_pool=None)

Create a Provider Virtual Datacenter.

Param:vim_server_name: (str): vim_server_name (VC name).
Param:resource_pool_names: (list): list of resource_pool_names.
Param:storage_profiles: (list): list of storageProfile namespace.
Param:pvdc_name: (str): name of PVDC to be created.
Param:is_enabled: (boolean): enable flag.
Param:description: (str): description of pvdc.
Param:highest_supp_hw_vers: (str): highest supported hw vers number.
Param:vxlan_network_pool: (str): name of vxlan_network_pool.
Returns:A :class:lxml.objectify.StringElement object describing the

: new provider VDC.

get_external_network(name)

Fetch an external network resource identified by it’s name.

Parameters:name – (str): The name of the external network.
Returns:A lxml.objectify.StringElement object representing the reference to external network.
Raises:Exception: If the named external network cannot be located.
get_resource_pool_morefs(vc_name, vc_href, resource_pool_names)

Fetch list of morefs for a given list of resource_pool_names.

Param:vc_name (str): vim_server name.
Param:vc_href (href): vim_server href.
Param:resource_pool_names (list): list of resource_pool_names.
Returns:list of morefs corresponding to resource_pool_names.
Raises:Exception: if any resource_pool_name cannot be found.
get_vcenter(name)

Get a vCenter attached to the system by name.

Parameters:name – (str): The name of vCenter.
Returns:(lxml.objectify.ObjectifiedElement): vCenter resource.
Raises:Exception: If the named vCenter cannot be located.
get_vxlan_network_pool(vxlan_network_pool_name)

Fetch a vxlan_networ_pool by its name.

Param:vxlan_network_pool_name (str): name of the vxlan_network_pool.
Returns:(lxml.objectify.ObjectifiedElement): vxlan_network_pool.
Raises:Exception: If the named vxlan_network_pool cannot be found.
list_external_networks()

List all external networks available in the system.

Returns:A list of lxml.objectify.StringElement objects representing the external network references.
list_vcenters()

List vCenter servers attached to the system.

Returns:(lxml.objectify.ObjectifiedElement): list of vCenter references.