【vSphere | Python】vSphere Automation SDK for Python Ⅲ—— vCenter Datacenter APIs

article/2025/9/23 6:50:17

目录

  • 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自动化


http://chatgpt.dhexx.cn/article/j5VYCfM1.shtml

相关文章

虚拟机安装Windows server 2019 Datacenter

进入虚拟机,新建虚拟机 选择典型,点击下一步 选择稍后安装,然后下一步 选择第一项Microsoft,版本根据自己映像文件版本来,我是2019,所以这里选择2019,然后下一步 选择位置,名字随便&…

Windows Server 2022 Standard标准版和Datacenter数据中心版的区别

微软就 Windows Server 2022 功能提供了相当完整的描述,早在去年 6 月份。微软就对所有版本的 Windows Server 2022 预置了核心和桌面安装选项。该产品遵循微软传统的固定生命周期策略,提供五年的“主流”支持和五年的“扩展”支持。 Windows Server 202…

linux 文件夹拷贝并覆盖

提前结论:覆盖拷贝使用( cp -af /源目录 /目标目录) 踩坑经历 踩了个坑,做一下笔记。。 先了解一下linux 拷贝命令 1:命行 cp man ,如下图所示。 2:从说明大概可以知道,输入 cp -…

linux只复制文件夹下所有文件

仅作为记录,大佬请跳过。 背景 trian文件夹里有很多子文件夹,而博主只想将各子文件夹里的文件复制粘贴(而不是连子文件夹和子文件夹里的文件一起复制粘贴) 使用命令: cp -r /Data4T/hufei/da-fr/citydata/leftImg8b…

linux文件夹不能复制,linux如何复制文件夹

1、copy ,cp,该命令的功能是将给出的文件或目录拷贝到另外一个文件或目录中。 语法: cp [选项] 源文件或目录 目标文件或目录 2、例如;在/TEST目录下新建test1和test2两个子文件夹。 假设复制源文件test1下的test01文件,目标目录为test2。 …

Linux下文件夹的移动与复制

Linux下文件夹的移动与复制 封面图片由文心一格AI生成 在Linux系统中,移动和复制文件夹是常见的任务。无论你是想要备份数据、迁移文件夹到其他位置还是归档数据,掌握文件夹的移动和复制技能都是必要的。 本文将会教你如何使用命令行界面移动和复制Linux系统中的文件夹。我们…

linux(文件、文件夹的复制与移动)

一、cp命令用于文件、文件夹的复制: 1、单个文件的复制: [rootlocalhost lianxi]# touch beautiful.txt ---新建beautiful空文件 [rootlocalhost lianxi]# ls --查看当前目录下的内容 lily.txt beautiful.txt [rootlocalhost lianxi]# mkdir chang…

ARIMA模型概述

ARIMA模型 ARIMA模型(Autoregressive Integrated Moving Average model),差分整合移动平均自回归模型,又称整合移动平均自回归模型(移动也可称作滑动),时间序列预测分析方法之一。ARIMA&#x…

ARIMA模型的介绍

目录 ARIMA模型结构 随机游走模型(random walk) 举例: ARIMA模型的性质 小结 ARIMA模型结构 使用场合:差分平稳序列拟合 模型结构 则有: 随机游走模型(random walk) 模型结构: Karl Pearson(1905)在《自然》杂志上提问:假…

机器学习(五)——时间序列ARIMA模型

ARIMA模型 平稳性: 平稳性就是要求经由样本时间序列所得到的拟合曲线 在未来的一段期间内仍能顺着现有的形态“惯性”地延续下去 平稳性要求序列的均值和方差不发生明显变化 严平稳与弱平稳: 严平稳:严平稳表示的分布不随时间的改变而改…

时间序列分析之ARIMA模型预测

转载自 http://blog.sina.com.cn/s/blog_70f632090101bnd8.html#cmt_3111974 今天学习ARIMA预测时间序列。 指数平滑法对于预测来说是非常有帮助的,而且它对时间序列上面连续的值之间相关性没有要求。但是,如果你想使用指数平滑法计算出预测区间&#x…

ARIMA模型学习笔记

ARIMA模型学习笔记 目录 ARIMA模型学习笔记ARIMA模型时间序列平稳性什么是平稳性严平稳弱平稳 平稳性检验ADF检验(Augmented Dickey-Fuller test)单位根ADF检验的原理ADF检验的python实现 数据平稳化对数变换平滑法移动平均法指数平均法 差分法 ARIMA模型介绍AR(Autoregressive…

什么是 ARIMA模型

转自:https://blog.csdn.net/HHXUN/article/details/79858672 ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model)。也记作ARIMA(p,d,q),是统计模型(statistic model)中最常见的一种用来…

时间序列预测——ARIMA(差分自回归移动平均模型)(1))

时间序列预测——ARIMA(差分自回归移动平均模型) ARIMA(p,d,q)中,AR是"自回归",p为自回归项数;I为差分,d为使之成为平稳序列所做的差分次数&#…

ARIMA乘法季节模型

目录 ARIMA乘法季节模型 例题1 例题 2 例题3 ARIMA乘法季节模型 序列的季节效应、长期趋势效应和随机波动之间有着复杂的相互关联性,简单的季节模型不能充分地提取其中的相关关系,这时常采用乘积季节模型。 例题1 我国1949-2008年年末人口总数(单…

AR、MA、ARMA和ARIMA模型------时间序列预测

ARMA模型的全称是自回归移动平均模型,它是目前最常用的拟合平稳序列的模型。它又可以细分为AR模型、MA模型和ARMA三大类。都可以看做是多元线性回归模型。 AR模型 具有如下结构的模型称为阶自回归模型,简记为。 即在t时刻的随机变量的取值是前期的多元…

ARIMA模型(一)定义与介绍

了解ARIMA模型,就需要先了解数据的一个平稳性。 1. 平稳性: 平稳性就是要求经由样本时间序列所得到的拟合曲线,在未来的一段时间内仍能顺着现有状态“惯性”地延续下去;平稳性要求序列的均值和方差不发生明显变化; 方差越大,数据波动越大,方差计算公式如下式所示…

ARIMA模型原理及实现

https://www.jianshu.com/p/305c4961ee06 1、数据介绍 再介绍本篇的内容之前,我们先来看一下本文用到的数据。本文用到的中国银行股票数据下载:http://pan.baidu.com/s/1gfxRFbH,提取码d3id。 我们先来导入一下我们的数据,顺便…

时间序列预测,非季节性ARIMA及季节性SARIMA

Python 3中使用ARIMA进行时间序列预测的指南 在本教程中,我们将提供可靠的时间序列预测。我们将首先介绍和讨论自相关,平稳性和季节性的概念,并继续应用最常用的时间序列预测方法之一,称为ARIMA。 介绍 时间序列提供了预测未来价…

时间序列(四)ARIMA模型与差分

ARIMA模型 平稳性: 平稳性就是要求经由样本时间序列所得到的拟合曲线 在未来的一段期间内仍能顺着现有的形态“惯性”地延续下去 平稳性要求序列的均值和方差不发生明显变化 严平稳与弱平稳: 严平稳:严平稳表示的分布不随时间的改变而改…