首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列出Pysphere中特定esx主机中的所有数据存储区

列出Pysphere中特定esx主机中的所有数据存储区
EN

Stack Overflow用户
提问于 2013-08-20 23:43:51
回答 2查看 1.4K关注 0票数 1

我想从特定集群中获取所有数据存储区。我将在我的vapp部署中使用它。

我尝试了以下代码片段:

代码语言:javascript
复制
clusters = server.get_clusters()
for c_mor, c_name in clusters.items():
    for ds_mor, name in server.get_datastores(from_mor=c_mor).items():
        props = VIProperty(server, ds_mor)
        print props.name

然而,这并没有给我这个列表。我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2014-06-20 10:21:15

现在回答这个问题为时已晚。这是我的代码。

代码语言:javascript
复制
from pysphere import VIServer, VIProperty 

server = VIServer() 
server.connect(server, username, password) 

for ds_mor, name in server.get_hosts().items(): 
    props = VIProperty(server, ds_mor) 
    for item in props.datastore :
        print item.info.name

server.disconnect() 
票数 0
EN

Stack Overflow用户

发布于 2016-08-26 04:36:51

老问题,但如果外部有人正在寻找解决方案(这是google的第一个结果),这将直接从数据存储中收集信息:

代码语言:javascript
复制
from pysphere import VIServer, VIProperty
import ssl

default_context = ssl._create_default_https_context
server = VIServer()
#user = the-user-to-connect-to-vsphere
#password = the-password-from-the-user
#host = the-vsphere-hostname-or-ip
try:
    ssl._create_default_https_context = ssl._create_unverified_context
    server.connect(host, user, password)
    for ds_mor, name in server.get_datastores().items():
        props = VIProperty(server, ds_mor)
        print "Datastore name: ", name
    server.disconnect()

finally:
    ssl._create_default_https_context = default_context

这将连接到自签名VSphere,这是intranet中的常见情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18339396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档