在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
反馈
通过向我们发送反馈,您可以帮助我们提高文档的质量。 如果您有改进此文档的建议,请通过电子邮件向我们发送您的意见。
为了帮助我们将您的意见导向正确的部门,请在主题行中包括 产品名称、版本和操作系统。
如果希望在发布生产级文档时自动收到通知 或对现有的生产级文件进行重要更改, 关注twitter帐户@netappdoc。
您也可以通过以下方式与我们联系:
NetApp公司,地址:1395 Crossman Ave,Sunnyvale,CA 94089 U.S.
电话:+1(408)822-6000
传真:+1(408)822-4501
支持电话:+1(888)463-8277