Python管理vSphere - 基本使用

Python管理vSphere - 基本使用


一、获取vsphere的连接对象

传入服务器IP地址、用户名、密码,使用SmartConnect方法连接,成功连接会返回一个与 vSphere 服务器建立的会话实例 si

from pyVim import connect

si = connect.SmartConnect(host='', port=443, user='', pwd='')

开发请参考官方文档,链接:https://developer.broadcom.com/xapis/vsphere-web-services-api/7.0/

二、查询vSphere 受管清单对象 - 数据中心(Datacenter)

数据中心Datacenter对象属性请对应vsphere版本并参考官方文档

在这里插入图片描述

在这里插入图片描述
示例代码如下:

from pyVim import connect
from pyVmomi import vim # noqa

si = connect.SmartConnect(host='', port=443, user='', pwd='')


def get_container_view(si, view_type, container_folder=None):
    content = si.RetrieveContent()
    if not container_folder:
        container_folder = content.rootFolder
    view_ref = content.viewManager.CreateContainerView(container=container_folder, type=view_type, recursive=True)
    return view_ref


def list_datacenter():
    datacenter_view = get_container_view(si, view_type=[vim.Datacenter])
    for dc in datacenter_view.view:
        # 当前dc即单个数据中心对象
        # 可以根据自己需求获取属性
        print(dc.name)
        # _moId即单个数据中心对象的ID号
        print(dc._moId if hasattr(dc, '_moId') else '') # noqa
三、查询vSphere 受管清单对象 - 集群(ClusterComputeResource)

集群对象属性请对应vsphere版本并参考官方文档
在这里插入图片描述
在这里插入图片描述
示例代码如下:

from pyVim import connect
from pyVmomi import vim # noqa

si = connect.SmartConnect(host='', port=443, user='', pwd='')


def get_container_view(si, view_type, container_folder=None):
    content = si.RetrieveContent()
    if not container_folder:
        container_folder = content.rootFolder
    view_ref = content.viewManager.CreateContainerView(container=container_folder, type=view_type, recursive=True)
    return view_ref


def list_cluster():
    cluster_view = get_container_view(si, view_type=[vim.ClusterComputeResource])
    for cluster in cluster_view.view:
        # 当前cluster即单个集群对象
        # 可以根据自己需求获取属性
        print(cluster.name)
        # _moId即单个集群对象的ID号
        print(cluster._moId if hasattr(cluster, '_moId') else '')  # noqa
四、查询vSphere 受管清单对象 - 主机(HostSystem)

主机对象属性请对应vsphere版本并参考官网

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例代码如下:

from pyVim import connect
from pyVmomi import vim # noqa

si = connect.SmartConnect(host='', port=443, user='', pwd='')


def get_container_view(si, view_type, container_folder=None):
    content = si.RetrieveContent()
    if not container_folder:
        container_folder = content.rootFolder
    view_ref = content.viewManager.CreateContainerView(container=container_folder, type=view_type, recursive=True)
    return view_ref


def list_host():
    host_view = get_container_view(si, view_type=[vim.HostSystem])
    for host in host_view.view:
        # 当前host即单个主机对象
        # 可以根据自己需求获取属性
        print(host.name)
        # _moId即单个主机对象的ID号
        print(host._moId if hasattr(host, '_moId') else '')  # noqa
五、查询vSphere 受管清单对象 - 虚拟机(VirtualMachine)

虚拟机对象属性请对应vsphere版本并参考官网
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例代码如下:

from pyVim import connect
from pyVmomi import vim # noqa

si = connect.SmartConnect(host='', port=443, user='', pwd='')


def get_container_view(si, view_type, container_folder=None):
    content = si.RetrieveContent()
    if not container_folder:
        container_folder = content.rootFolder
    view_ref = content.viewManager.CreateContainerView(container=container_folder, type=view_type, recursive=True)
    return view_ref


def list_vms():
    vm_view = get_container_view(si, view_type=[vim.VirtualMachine])
    for vm in vm_view.view:
        # 当前vm即单个虚拟机对象
        # 可以根据自己需求获取属性
        print(vm.name)
        # _moId即单个虚拟机对象的ID号
        print(vm._moId if hasattr(vm, '_moId') else '')  # noqa
  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值