目录

  • 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. 深入浅出springboot 下载_有没有相见恨晚的学习模电好方法?《新概念模拟电路》全五册合集免费下载...
  2. 4种动态加载JS的方法
  3. Mybatis的下载并搭建核心架构
  4. 可持续字典树 Perfect Security
  5. 连点器安卓手机版_鼠大侠手机版下载-鼠大侠鼠标连点器手机版下载 v1.4 安卓版...
  6. 数据科学包15-matplotlib详细介绍
  7. Android 实现计时器
  8. 公关营销策划书的要点及分析
  9. java 扫描仪_Java调用扫描仪2
  10. C语言用数组模拟实现栈(LIFO)
  11. win7如何用双显示屏,如何设置
  12. 【跟我一起学Unity3D】做一个2D的90坦克大战之地图编辑器
  13. web前端开发技巧,CSS全局样式的设置
  14. markdown编辑器。
  15. HTML中支持qlv文件格式吗,qlv格式怎么播放,格式工厂不支持qlv
  16. 【数据库】SQL server 评估期已过。有关如何升级的测试版软件的信息,请访问..
  17. HDU - 2034 人见人爱A-B 【set】
  18. PMI-ACP考试介绍
  19. typescript 中的as
  20. 项目管理PMP培训课件(完整版)

热门文章

  1. 6-2 多项式求值(15 分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ ​i=0 ​n ​​ (a[i]×x ​i ​​ ) 在x点的值。
  2. 一文读懂shell命令
  3. 使用python进行数据预处理--主成分分析
  4. excel表格如何转换成word表格_pdf的表格怎么转换成word?教你掌握重要一步
  5. 用“仁义”,重新设计计算机操作系统。
  6. 多线程实现HTTP下载器(断点续传)_使用IO和线程知识
  7. hdfs-over-ftp使用说明
  8. 鲁大师发布2021年半年报,哪些手机最强?
  9. 基于GIS的建筑物褶皱度计算工具及计算实例经验分享
  10. 大地坐标和高斯平面坐标转换