如何用NetApp ONTAP Python库创建Vault类型SnapMirror自定义策略
如何用ONTAP Python库创建Vault类型的SnapMirror策略
针对你使用9.11.1版本ONTAP Python库无法创建Vault类型SnapMirror策略的问题,直接通过显式指定type参数即可解决,具体方法如下:
核心思路
虽然SnapmirrorPolicy资源的官方文档未明确列出type参数,但底层REST API支持该字段。你可以在创建策略时直接传入type="vault"来覆盖默认的mirror-vault类型。
示例代码
方式1:通过资源对象设置参数
from netapp_ontap import HostConnection, NetAppRestError from netapp_ontap.resources import SnapmirrorPolicy # 建立集群连接 with HostConnection("<集群管理IP>", username="<用户名>", password="<密码>", verify=False): try: policy = SnapmirrorPolicy() policy.name = "自定义Vault策略名" policy.svm.name = "所属SVM名称" # 关键:指定策略类型为vault policy.type = "vault" # 添加备份规则(按需配置) policy.rules = [ {"keep": 7, "prefix": "daily", "schedule": "daily"} ] # 提交创建请求 policy.post() print(f"Vault类型策略 {policy.name} 创建成功") except NetAppRestError as err: print(f"创建失败:{err}")
方式2:直接构造请求体
如果资源对象的属性设置方式报错,也可以直接构造请求体调用POST方法:
from netapp_ontap import HostConnection, NetAppRestError, config # 全局配置连接信息 config.CONNECTION = HostConnection("<集群管理IP>", username="<用户名>", password="<密码>", verify=False) try: response = SnapmirrorPolicy.post( body={ "name": "自定义Vault策略名", "svm": {"name": "所属SVM名称"}, "type": "vault", "rules": [ {"keep": 7, "prefix": "daily", "schedule": "daily"} ] } ) if response.is_success(): print("Vault类型策略创建成功") except NetAppRestError as err: print(f"创建失败:{err}")
验证策略类型
创建完成后,可通过CLI命令确认:
snapmirror policy show -policy 自定义Vault策略名
输出中的Type字段应显示为vault。
内容的提问来源于stack exchange,提问作者RVid
相关产品推荐
相关产品推荐

