从rvtools esx资源清册文件中提取有用信息
pyrvtools的Python项目详细描述
从rvtools esx资源清册文件中提取有用信息。
该模块的用途
您是否曾要求vmware管理员访问 他的vCenter要用api运行一些脚本?不?我是的至少是 我能说:这不容易!;-)
更严重的是,很难访问这种vm 因为它是基础设施中非常敏感的一部分, 男人通常和你不在同一个团队,他们不信任你 (你的剧本里都没有!),所以没有帮助。但是,老实说, 如果情况逆转,你可能会做同样的事情
但有时,他们可以向您发送一个rvtools提取(所以一个excel 从vCenter,您希望在python脚本中使用它。 您最好直接通过API调用访问vCenter以获取 新的数据,但总比什么都没有好
这就是为什么我编写了这个库:以帮助使用这种类型的输入 从中提取一些有用的信息。
如何安装
您可以使用pip安装pyrvtools:
pip install pyrvtools
如何使用
您可以使用该模块搜索5种主要对象:- 数据中心-群集-主机-数据存储-虚拟机
它们每个都有特定数量的属性。你可以迭代 所有的目标或焦点只在其中一个给出他的名字
下面是一些例子(如果 您正在寻找度量值:
importosfrompyrvtoolsimportPyRvtoolsPATH=os.sep.join(['your_path','your_file.xls'])rvtools=PyRvtools(PATH)# For all the dataCentersfordcinrvtools.get_datacenters():print('DC: %s Clusters: %s'%(dc,dc.clusters))# Only for a specific DataCenterone_dc=rvtools.get_datacenter_by_name('MY_DC')print('DC: %s Clusters: %s'%(one_dc,one_dc.clusters))# For all the Clusterforclusterinrvtools.get_clusters():print('Cluster: %s Hosts: %s'%(cluster,cluster.hosts))# Only for a specific Clusterone_cluster=rvtools.get_clusters_by_name('MY_CLUSTER')print('Cluster: %s Hosts: %s'%(one_cluster,one_cluster.hosts))# For all the DataStoresfordsinrvtools.get_datastores():print('DS: %s Hosts: %s'%(ds,ds.hosts))# Only for a specific DataStoreone_ds=rvtools.get_datastore_by_name('MY_DS')print('DS: %s Hosts: %s'%(one_ds,one_ds.hosts))# For all the hostsforesxinrvtools.get_hosts():print('ESX: %s VM:%s'%(esx,esx.vm))# Only for a specific hostone_esx=rvtools.get_host_by_name('MY_ESX_NAME')print('ESX: %s VM:%s'%(one_esx,one_esx.vm))# For all the VirtualMachineforvminrvtools.get_vm():print('VM: %s DataStore:%s'%(vm,vm.datastore))# Only for a specific VMone_vm=rvtools.get_vm_by_name('MY_VM')print('VM: %s DataStore:%s'%(one_vm,one_vm.datastore))
对象的属性
集群 -数据中心 -主持人
datacenter -集群 -主持人
datastore -容量 -可用磁盘空间 -免费百分比 -东道主 -使用MB -北美航空公司 -主机数量 -虚拟机数量 -已设置的MB -SIOC U启用 -类型 -版本
主机 -开机时间 -集群 -CPU使用率 -数据中心 -esx_版本 -hba -内存 -内存使用率 -模型 -芯数 -CPU数量 -VCPU数量 -虚拟机数量 -虚拟机
virtualmachine -集群 -中央处理器 -数据中心 -数据存储 -主持人 -使用MB -记忆 -操作系统 -打开电源 -电源状态 -已设置的MB -非共享磁盘 -VMDK公司 -网络 -p分区
许可证
此库是根据GPL3授权的。