【vSphere | Python】vSphere Automation SDK for Python Ⅲ—— vCenter Datacenter APIs
目录
- 5. vCenter Datacenter APIs
- 操作
- 5.1 Create Datacenter
- 5.2 List Datacenter
- 5.3 Get Datacenter
- 5.4 Delete Datacenter
- 参考资料
5. vCenter Datacenter APIs
数据中心服务(Datacenter service)提供管理 vCenter Server 中数据中心的操作。
操作
- Create Datacenter:在 vCenter 清单中创建一个新的数据中心。
- List Datacenter:返回有关 vCenter 中最多 1000 个可见数据中心的信息。
- Get Datacenter:检索有关数据中心对应的数据中心的信息。
- Delete Datacenter:从 vCenter Server 中删除空数据中心。
5.1 Create Datacenter
关键方法:Datacenter.create(spec)
spec是DatacenterCreateSpec,创建新数据中心有2个必填参数:
- folder:类型为数据中心的文件夹ID(Floder ID ),该值每个vCenter中都会有一个,通过List Floder方法查看。
- name:新数据中心名。
在 vCenter 清单中创建一个新的数据中心。
脚本:
import time
from vSphere_Automation_SDK.Connect_to_vCenter_Server import vsphere_client
spec ={"folder": "group-d1", #通过list folder查询Type为Datacenters的folder ID"name": "DC3"
}
start_time = time.time()
try:create_dc = vsphere_client.vcenter.Datacenter.create(spec)print("Created successfully!")
except Exception as err:for i in err.messages:id = i.id,default_message = i.default_messageargs = i.argsparams = i.paramslocalized = i.localizedprint("\033[1;31m Encountered an error, Please see the following information \033[0m","\n\tError Class:", id,"\n\tMessage:", default_message,"\n\tArgs:", args,"\n\tParams:", params,"\n\tLocalized:", localized,"\nError Data:", err.data,"\nError Type:", err.error_type)
end_time = time.time()
run_time = end_time - start_time
print("Used Time:".ljust(43), run_time)
在vSphere Client中可以看到有任务在执行。
5.2 List Datacenter
关键方法:Datacenter.list()
返回有关 vCenter 中最多 1000 个可见(受权限检查)数据中心的信息(可以获取DC ID)。
脚本:
import time
from vSphere_Automation_SDK.Connect_to_vCenter_Server import vsphere_client
print("Datacenter ID".ljust(35),"Name")
start_time = time.time()
try:list_dc = vsphere_client.vcenter.Datacenter.list()if list_dc == []:print("---------Empty---------")else:for i in list_dc:print(i.datacenter.ljust(34),i.name)print("-----------End-----------")
except Exception as err:for i in err.messages:id = i.id,default_message = i.default_messageargs = i.argsparams = i.paramslocalized = i.localizedprint("\033[1;31m Encountered an error, Please see the following information \033[0m","\n\tError Class:", id,"\n\tMessage:", default_message,"\n\tArgs:", args,"\n\tParams:", params,"\n\tLocalized:", localized,"\nError Data:", err.data,"\nError Type:", err.error_type)
end_time = time.time()
run_time = end_time - start_time
print("Used Time:".ljust(37), run_time)
脚本效果图:
5.3 Get Datacenter
关键方法:Datacenter.get("DC-ID")
检索有关数据中心对应的数据中心的信息。可以获得以下ID,DC-ID通过List DC获得:
- Datacenter Folder
- Host Folder
- Network Folder
- VM Folder
脚本:
import time
from vSphere_Automation_SDK.Connect_to_vCenter_Server import vsphere_clientstart_time = time.time()
try:get_dc = vsphere_client.vcenter.Datacenter.get("datacenter-3")print("Name:".ljust(35),get_dc.name,"\nDatacenter Folder:".ljust(30),get_dc.datastore_folder,"\nHost Folder:".ljust(34),get_dc.host_folder,"\nNetwork Folder:".ljust(31),get_dc.network_folder,"\nVM Folder:".ljust(34),get_dc.vm_folder)except Exception as err:for i in err.messages:id = i.id,default_message = i.default_messageargs = i.argsparams = i.paramslocalized = i.localizedprint("\033[1;31m Encountered an error, Please see the following information \033[0m","\n\tError Class:", id,"\n\tMessage:", default_message,"\n\tArgs:", args,"\n\tParams:", params,"\n\tLocalized:", localized,"\nError Data:", err.data,"\nError Type:", err.error_type)
end_time = time.time()
run_time = end_time - start_time
print("Used Time:".ljust(34), run_time)
脚本效果图:
5.4 Delete Datacenter
关键方法:Datacenter.delete("DC-ID")
从 vCenter Server 中删除空数据中心。DC-ID通过List DC获得。
import time
from vSphere_Automation_SDK.Connect_to_vCenter_Server import vsphere_clientstart_time = time.time()
try:delete_dc = vsphere_client.vcenter.Datacenter.delete("datacenter-1001")print("Deleted successfully!")except Exception as err:for i in err.messages:id = i.id,default_message = i.default_messageargs = i.argsparams = i.paramslocalized = i.localizedprint("\033[1;31m Encountered an error, Please see the following information \033[0m","\n\tError Class:", id,"\n\tMessage:", default_message,"\n\tArgs:", args,"\n\tParams:", params,"\n\tLocalized:", localized,"\nError Data:", err.data,"\nError Type:", err.error_type)
end_time = time.time()
run_time = end_time - start_time
print("Used Time:".ljust(43), run_time)
在vSphere Client中可以看到有在执行删除数据中心的任务,此时DC3已经不在清单中。
参考资料
vCenter REST APIs v7.0U3
vSphere-Python-Automation-Scripts/v1/vCenter-Datacenter
关于本专栏其它博文,请关注专栏,会有更多关于vSphere Python自动化的内容:vSphere python自动化
【vSphere | Python】vSphere Automation SDK for Python Ⅲ—— vCenter Datacenter APIs相关推荐
- 想学python编程-【经验分享】新手如何快速学好Python?
原标题:[经验分享]新手如何快速学好Python? 什么样的人适合学习编程?到底Python作为编程入门语言合适吗?学习Python编程,我们应该如何学?大概的学习内容包括哪些? 今天我们就用一篇文章 ...
- 执行后可以查看python版本的是-【单选题】执行后可以查看Python的版本的是
问题:[单选题]执行后可以查看Python的版本的是 更多相关问题 完成并配平下列各反应的方程式: (a)用浓H2SO4焙烧法处理氟碳铈镧矿 (b)镧.铈.镨.铽草 据报道,我国目前已发现甲型H1N1 ...
- python for everybody作业和测试答案_【计算题】编写函数,模拟 Python 内置函数 reversed() 。...
[计算题]编写函数,模拟 Python 内置函数 reversed() . 更多相关问题 In California, there lives a pretty girl called Donna G ...
- 【CAD算法】【计算机图形学】Bezier贝塞尔曲线生成程序(python/numpy实现)[1]
整个项目,从Bezier曲线的创建,到Coons Patch曲面的实现,再到网格的实现和优化,还有最后对表面的光顺,链接如下: [CAD算法][计算机图形学]Bezier贝塞尔曲线生成程序(pytho ...
- 【建模算法】熵权法(Python实现)
[建模算法]熵权法(Python实现) 熵权法是通过寻找数据本身的规律来赋权重的一种方法. 熵是热力学单位,在数学中,信息熵表示事件所包含的信息量的期望.根据定义,对于某项指标,可以用熵值来判断某个指 ...
- 【Android 逆向】frida 框架安装 ( 设置 Python 3.7 版本 | 安装 frida 12.7.5 版本 | 安装 frida-tools 5.1.0 版本 )
文章目录 前言 一.设置 Python 3.73.73.7 版本 二.安装 frida 12.7.512.7.512.7.5 版本 三.安装 frida-tools 5.1.05.1.05.1.0 版 ...
- 【量化投资】量化投资技术基础 ---- Python 急速入门
文章目录 [量化投资]Python 入门 一.为什么使用 python 二.我们需要学些什么 三.Python 基础 1.输入输出 2.数据转换 3.导包 4.数据类型 1)数字 2)字符串 3)列表 ...
- 【青少年编程】黄羽恒:Python
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...
- 儿童学python下哪个软件好用_【开源软件】超好用的Python学习软件!没有之一!...
可以观看视频!文章结尾,有下载.安装方法! 曾几何时!Python开始掀起了一阵狂猛的学习浪潮?Python 那么Python为什么那么火? https://wenwen.sogou.com/z/q8 ...
最新文章
- 循环神经网络(recurrent neural network)(RNN)
- springside 4 web-init 启动
- springboot+前端实现文件(图片)上传到指定目录
- JVM内存模型分析(一个程序运行的例子)
- Fiddler改包场景2——拦截请求,修改响应,放行请求
- 收藏| 一些可供参考的游戏出海技术架构与经验总结
- IOS transform的使用(移动,放大,旋转)
- php 微信公众 验证失败,微信公众平台token验证失败
- cadvisor没有采集到容器信息解决方案
- mscorsvw.exe 关闭方法
- Tomcat重启服务器
- 基金强力介入移动互联网板块
- 电脑怎么实现长截图、滚动截图?亲测三款好用软件,附图文教程
- java http 用户名密码_Web后端语言模拟http请求(带用户名和密码)实例代码大全
- pathway common:综合性的pathway数据库
- SDUT 贪心商人小鑫
- 如何正确认识VLAN 接口10与VLAN10?
- 马克·安德森:创造互联网未来的人
- 西奥迪尼的《影响力》你看过没?
- Starlink星链计划能与5G抗衡?看一下马斯克吹过的牛