pyvmomi操作vmware(二)连接vcenter

在使用这个sdk进行操作的时候必须得先获取对象
再获取对象中的一些信息

class ExecutorBase(object):
    """
    使用pyvmomi获取数据
    """

    def __init__(self, host, user, pwd, port):
        self.host = host
        self.user = user
        self.pwd = pwd
        self.port = port

    def get_service_instance(self):
        service_instance = connect.SmartConnectNoSSL(host=self.host,
                                                     user=self.user,
                                                     pwd=self.pwd,
                                                     port=self.port
                                                     )
        if not service_instance:
            print("connect error")
        else:
            return service_instance

    def get_content(self):
        service_instance = self.get_service_instance()
        content = service_instance.RetrieveContent()
        return content

    def get_container(self, folder=None, obj_type=None):
    	"""
		返回的是对应的对象
		obj_type --> 
		"""
        content = self.get_content()
        if folder is None:
            container = content.viewManager.CreateContainerView(content.rootFolder, obj_type, True)
        else:
            container = content.viewManager.CreateContainerView(folder, obj_type, True)
        return container.view

例:

class DatacenterInfo(ExecutorBase):

    def datacenter_container_list(self):
        return self.get_container(obj_type=[vim.Datacenter])

这个获取的是所有数据中心的对象列表

参数obj_type说明

  • vim.HostSystem 主机
  • vim.Datacenter 数据中心
  • vim.VirtualMachine 虚拟机
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值