在python中使用ontap的restapi的库

netapp-ontap的Python项目详细描述


NetApp ONTAP

python客户端库是一个包,在编写脚本访问 ontap rest api。它为几个底层服务提供支持,包括连接 管理、异步请求处理和异常处理。通过使用python 客户端库,您可以快速开发健壮的代码来支持ontap的自动化 部署。

入门

软件要求

在安装python客户机库之前,必须确保以下包 安装在系统上:

1. python 3.5 or later
2. requests 2.21.0 or later
3. marshmallow between 3.0.0rc5 and 3.0.0rc7

安装和导入软件包

必须使用pip实用程序安装软件包:

pip install netapp-ontap

安装包后,您可以将所需的对象导入到应用程序中:

fromnetapp_ontap.resourcesimportVolume,Snapshot

创建对象

可以用几种不同的方法创建对象。这里有三个例子 创建等效的netapp ontap.resources.volume对象。

fromnetapp_ontap.resourcesimportVolume# Example 1 - keyword argumentsvolume=Volume(name='vol1',svm={'name':'vs1'},aggregates=[{'name':'aggr1'}])# Example 2 - dict as keyword argumentsdata={'name':'vol1','svm':{'name':'vs1'},'aggregates':[{'name':'aggr1'}],}volume=Volume(**data)# Example 3 - using the from_dict() methodvolume=Volume.from_dict({'name':'vol1','svm':{'name':'vs1'},'aggregates':[{'name':'aggr1'}],})

对对象执行操作

创建对象后,可以对基于对象的 关于你的申请的目的和设计。下面的例子说明了 如何创建新卷,然后拍摄快照。

请注意,在使用库时,在所有情况下,必须首先建立 使用 netapp_ontap.host_connection.hostconnection对象。在下面的例子中, 将创建连接,然后将其设置为全局默认值。 这意味着所有对象和关联的操作都可以重用 同样的联系。有关详细信息,请参见主机连接。

fromnetapp_ontapimportconfigfromnetapp_ontap.host_connectionimportHostConnectionfromnetapp_ontap.resourcesimportVolume,Snapshotconfig.CONNECTION=HostConnection('myhost.mycompany.com','username','password')volume=Volume(name='vol1',svm={'name':'vs1'},aggregates=[{'name':'aggr1'}])volume.post()snapshot=Snapshot.from_dict({'name':'%s_snapshot'%volume.name,'comment':'A snapshot of %s'%volume.name,'volume':volume.to_dict(),})snapshot.post()

其他注意事项

在大多数情况下,库中的对象和操作可以直接映射 对ontap rest接口运行等效的curl命令。不过,也有一些 您应该注意的例外情况。

属性名称

如果某个资源的属性与某个python保留名称的名称相同, 当访问资源的成员时,名称将被转置。例如, 如果有一个名为"foo"的资源在名为"class"的api中定义了一个属性, 使用库时,属性名改为"Class"。例如:

fromnetapp_ontap.resourcesimportFoofoo=Foo()foo.class_="high"

文档

要查看完整的文档,请访问https://library.netapp.com/ecmdocs/ecmlp2858435/html/index.html" rel="nofollow">https://library.netapp.com/ecmdocs/ecmlp2858435/html/index.html 或者要查看脱机副本,请参见<;python_environment>;/lib/<;python_version>;/site_packages/netapp_ontap/docs ontap的restapi和其他有用资源的文档可以在https://devnet.netapp.com/restapi rel="nofollow">https://devnet.netapp.com/restapi上找到。

兼容性

分配给库的版本由它生成的主要ontap版本组成 该版本中库的源版本和次版本。小版本允许 要在同一ontap版本中更新的库。例如,有效版本 与ontap 9.6相关的库包括9.6.1、9.6.2等。

与ontap具有相同主版本的客户端库是完全兼容的。 例如,netapp-ontap-9.6.1和netapp-ontap-9.6.4库是完整的 兼容ONTAP 9.6和ONTAP 9.6P1。

主版本与ontap版本不匹配的客户端库仍然可以是 但是,它不会与rest api完全兼容。例如,图书馆 NetApp-ONTAP-9.6.4只与ONTAP 9.7部分兼容。在这些情况下, 库可能遇到未知字段或API。发生这种情况时,库将忽略 未知字段、返回错误或引发运行时异常。

版权、商标和反馈

版权信息

版权所有©2019 NetApp,Inc.保留所有权利。印刷的在美国。

本文件版权范围内的任何部分不得以任何形式或任何方式复制, 电子的或机械的,包括影印、录音、录音或电子存储 检索系统-未经版权所有人事先书面许可。

从受版权保护的NetApp材料派生的软件受以下许可证约束 以及免责声明:

本软件由NetApp"按原样"提供,无任何明示或默示保证, 包括但不限于 特殊目的,特此声明。在任何情况下,NetApp均不对任何 直接、间接、附带、特殊、惩戒性或间接损害(包括, 但不限于替代货物或服务的采购;使用、数据或 利润;或营业中断)无论是何种原因造成的,根据任何责任理论, 无论是在合同中,严格责任,还是在 使用本软件的任何方法,即使已被告知可能发生此类损坏。

NetApp保留随时更改此处所述任何产品的权利,恕不另行通知。 NetApp不承担因使用本文所述产品而产生的任何责任, 除非NetApp明确书面同意。使用或购买本产品 根据任何专利权、商标权或任何其他知识产权转让许可 NetApp的权利。本手册中描述的产品可能受到一个或多个美国 专利、外国专利或未决申请。

限制权利图例:政府使用、复制或披露 技术数据权利第(c)(1)(ii)项规定的限制 DFARS 252.277-7103(1988年10月)和FAR 52-227-19(1987年6月)的计算机软件条款。

商标信息

NetApp、NetApp徽标和NetApp商标页上列出的标记是 NetApp,Inc.其他公司和产品名称可能是其各自所有者的商标。 http://www.netapp.com/us/legal/netapptmlist.aspx

反馈

通过向我们发送反馈,您可以帮助我们提高文档的质量。 如果您有改进此文档的建议,请通过电子邮件向我们发送您的意见。

doccomments@netapp.com

为了帮助我们将您的意见导向正确的部门,请在主题行中包括 产品名称、版本和操作系统。

如果希望在发布生产级文档时自动收到通知 或对现有的生产级文件进行重要更改, 关注twitter帐户@netappdoc。

您也可以通过以下方式与我们联系:

NetApp公司,地址:1395 Crossman Ave,Sunnyvale,CA 94089 U.S.

电话:+1(408)822-6000

传真:+1(408)822-4501

支持电话:+1(888)463-8277

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Thumbnailator库将图像转换为cmyk   Java反射从目录中的类运行测试   JavaEclipseJDT编译器说方法未定义,但EclipseIDE没有   重构如何重构一行重复的java代码   java Eclipse:使用删除线文本呈现自定义注释   java问题与ArrayList复制数据   java如何在swagger中传递访问令牌?   使用另一个java文件运行java文件时出错   java为什么谷歌云存储生成的上传链接在成功上传后不会失效?   java将我的客户端PC重定向到默认登录页面   java hibernate c3p0配置mysql问题   java和java之间的区别。尼奥。文件文件和java。伊奥。文件   列出java循环并向映射中添加值   java为什么OJ报告这段代码的运行时错误?