目录

  • 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相关推荐

  1. 想学python编程-【经验分享】新手如何快速学好Python?

    原标题:[经验分享]新手如何快速学好Python? 什么样的人适合学习编程?到底Python作为编程入门语言合适吗?学习Python编程,我们应该如何学?大概的学习内容包括哪些? 今天我们就用一篇文章 ...

  2. 执行后可以查看python版本的是-【单选题】执行后可以查看Python的版本的是

    问题:[单选题]执行后可以查看Python的版本的是 更多相关问题 完成并配平下列各反应的方程式: (a)用浓H2SO4焙烧法处理氟碳铈镧矿 (b)镧.铈.镨.铽草 据报道,我国目前已发现甲型H1N1 ...

  3. python for everybody作业和测试答案_【计算题】编写函数,模拟 Python 内置函数 reversed() 。...

    [计算题]编写函数,模拟 Python 内置函数 reversed() . 更多相关问题 In California, there lives a pretty girl called Donna G ...

  4. 【CAD算法】【计算机图形学】Bezier贝塞尔曲线生成程序(python/numpy实现)[1]

    整个项目,从Bezier曲线的创建,到Coons Patch曲面的实现,再到网格的实现和优化,还有最后对表面的光顺,链接如下: [CAD算法][计算机图形学]Bezier贝塞尔曲线生成程序(pytho ...

  5. 【建模算法】熵权法(Python实现)

    [建模算法]熵权法(Python实现) 熵权法是通过寻找数据本身的规律来赋权重的一种方法. 熵是热力学单位,在数学中,信息熵表示事件所包含的信息量的期望.根据定义,对于某项指标,可以用熵值来判断某个指 ...

  6. 【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 版 ...

  7. 【量化投资】量化投资技术基础 ---- Python 急速入门

    文章目录 [量化投资]Python 入门 一.为什么使用 python 二.我们需要学些什么 三.Python 基础 1.输入输出 2.数据转换 3.导包 4.数据类型 1)数字 2)字符串 3)列表 ...

  8. 【青少年编程】黄羽恒:Python

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  9. 儿童学python下哪个软件好用_【开源软件】超好用的Python学习软件!没有之一!...

    可以观看视频!文章结尾,有下载.安装方法! 曾几何时!Python开始掀起了一阵狂猛的学习浪潮?Python 那么Python为什么那么火? https://wenwen.sogou.com/z/q8 ...

最新文章

  1. 循环神经网络(recurrent neural network)(RNN)
  2. springside 4 web-init 启动
  3. springboot+前端实现文件(图片)上传到指定目录
  4. JVM内存模型分析(一个程序运行的例子)
  5. Fiddler改包场景2——拦截请求,修改响应,放行请求
  6. 收藏| 一些可供参考的游戏出海技术架构与经验总结
  7. IOS transform的使用(移动,放大,旋转)
  8. php 微信公众 验证失败,微信公众平台token验证失败
  9. cadvisor没有采集到容器信息解决方案
  10. mscorsvw.exe 关闭方法
  11. Tomcat重启服务器
  12. 基金强力介入移动互联网板块
  13. 电脑怎么实现长截图、滚动截图?亲测三款好用软件,附图文教程
  14. java http 用户名密码_Web后端语言模拟http请求(带用户名和密码)实例代码大全
  15. pathway common:综合性的pathway数据库
  16. SDUT 贪心商人小鑫
  17. 如何正确认识VLAN 接口10与VLAN10?
  18. 马克·安德森:创造互联网未来的人
  19. 西奥迪尼的《影响力》你看过没?
  20. Starlink星链计划能与5G抗衡?看一下马斯克吹过的牛

热门文章

  1. 1. 数据库的四个基本概念
  2. 30秒!快速了解让Jupyter Notebook注释更加美观的方法
  3. 谷歌浏览器不显示网站中的部分图片
  4. ArcGIS支持实时地理信息系统
  5. 关于马云最帅的照片是哪一张?!你们感受下!哈哈哈哈!(10P)
  6. [转]国外人气最旺的软件测试网站
  7. 计算机网络——DV和LS算法笔记
  8. 使用Clang作为编译器 —— AddressSanitizer
  9. 移动硬盘插入无显示,不用格式化-修复方法
  10. 六级考研单词之路-十二