netapp.ontap.na_ontap_license 模块 – NetApp ONTAP 协议和功能许可证包

注意

此模块是 netapp.ontap 集合 (版本 22.13.0) 的一部分。

如果您正在使用 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install netapp.ontap。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定:netapp.ontap.na_ontap_license

netapp.ontap 2.6.0 中的新增功能

概要

  • 在 NetApp ONTAP 上添加或删除许可证包。

  • 请注意,此模块是非对称的。

  • 它需要许可证代码来添加包,并且包名称不可见。

  • 它需要包名称和序列号才能删除包。

要求

在执行此模块的主机上需要以下要求。

  • Ansible 2.9 或更高版本 - 建议使用 2.12 或更高版本。

  • Python 3 - 建议使用 3.9 或更高版本。

  • 使用 ZAPI 时,需要 netapp-lib 2018.11.13 或更高版本(使用“pip install netapp-lib”安装),强烈建议使用 netapp-lib 2020.3.12,因为它可以提供更好的连接问题错误报告。

  • 物理或虚拟集群式 Data ONTAP 系统,模块支持 Data ONTAP 9.1 及更高版本,REST 支持需要 ONTAP 9.6 或更高版本。

参数

参数

注释

cert_filepath

字符串

netapp.ontap 20.6.0 中新增

SSL 客户端证书文件(.pem)的路径。

python 2.6 不支持。

feature_flags

字典

netapp.ontap 20.5.0 中新增

启用或禁用新功能。

这可用于启用实验性功能或禁用破坏向后兼容性的新功能。

支持的键和值可能会随时更改,恕不另行通知。未知键将被忽略。

force_ontap_version

字符串

netapp.ontap 21.23.0 中新增

使用 REST 时覆盖集群 ONTAP 版本。

如果版本与目标集群不匹配,则行为未定义。

这是在由于权限问题无法读取集群版本时提供的解决方法。请参阅 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues

这应采用 9.10 或 9.10.1 的形式,其中每个元素都是整数。

use_rest 设置为 auto 时,这可能会根据版本和平台功能强制切换到 ZAPI。

ZAPI 中忽略。

hostname

字符串 / 必需

ONTAP 实例的主机名或 IP 地址。

http_port

整数

使用此端口覆盖默认端口 (80 或 443)

https

布尔值

启用和禁用 https。

使用 REST 时忽略,因为仅支持 https。

使用 SSL 证书身份验证时忽略,因为它需要 SSL。

选项

  • false ← (默认)

  • true

key_filepath

字符串

netapp.ontap 20.6.0 中新增

SSL 客户端密钥文件的路径。

license_codes

列表 / 元素=字符串

要安装的许可证代码列表。

license_names

列表 / 元素=字符串

要删除的许可证包名称列表。

base

字符串

集群基础许可证

cdmi

字符串

CDMI 许可证

cifs

字符串

CIFS 许可证

fcp

字符串

FCP 许可证

flexclone

字符串

FlexClone 许可证

iscsi

字符串

iSCSI 许可证

nfs

字符串

NFS 许可证

snaplock

字符串

SnapLock 许可证

snapmanagersuite

字符串

SnapManagerSuite 许可证

snapmirror

字符串

SnapMirror 许可证

snapprotectapps

字符串

SnapProtectApp 许可证

snaprestore

字符串

SnapRestore 许可证

snapvault

字符串

SnapVault 许可证

v_storageattach

字符串

虚拟附加存储许可证

ontapi

整数

要使用的 ONTAP API 版本

password

别名:pass

字符串

指定用户的密码。

remove_expired

布尔值

删除集群中已过期的许可证包。

REST 不支持。

选项

  • false

  • true

remove_unused

布尔值

删除集群中没有控制器关联的许可证包。

REST 不支持。

选项

  • false

  • true

serial_number

字符串

与许可证包关联的节点或集群的序列号。

删除许可证包时,此参数是必需的。

使用 REST 时,接受“*”,并匹配任何序列号。

state

字符串

指定的许可证包是否应安装或删除。

选项

  • "present" ← (默认)

  • "absent"

use_rest

字符串

是否使用 REST 或 ZAPI。

always – 如果模块支持 REST,则始终使用 REST API。如果模块不支持 REST,则会发出警告。如果模块选项在 REST 中不受支持,则会发出错误。

never – 如果模块支持 ZAPI,则始终使用 ZAPI。如果 REST 选项在 ZAPI 中不受支持,则可能会发出错误。

auto – 如果模块支持 REST 并且支持模块选项,则将尝试使用 REST API。否则将还原为 ZAPI。

默认值: "auto"

username

别名:user

字符串

这可以是集群范围或 SVM 范围的帐户,具体取决于是否需要集群级别或 SVM 级别 API。

更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/

支持两种身份验证方法

  1. 基本身份验证,使用用户名和密码;

  2. SSL证书身份验证,使用SSL客户端证书文件,并可选地使用私钥文件。

要使用证书,必须已在ONTAP集群中安装证书,并且必须已启用证书身份验证。

validate_certs

布尔值

如果设置为 no,则不会验证SSL证书。

这应该只在使用自签名证书的个人控制站点上设置为 False

选项

  • false

  • true ← (默认)

备注

注意

  • 部分支持check_mode - 某些更改只有在执行添加或删除操作后才能检测到。

  • 支持使用ZAPI和REST的28个字符密钥许可证。

  • 支持使用REST的NetApp许可证文件版本2 (NLFv2)。

  • 目前不支持使用REST的NetApp许可证文件版本1 (NLFv1),但可能有效。

  • 由于许可证文件的内容类似于python,Ansible会尝试重新格式化这些文件。如果出现问题,请使用字符串过滤器来禁用此行为。

  • 当不使用字符串过滤器时,此模块需要python ast和json包。

  • 此模块需要json包来检查幂等性,并使用NLFv2文件删除许可证。

  • 此模块需要deepdiff包来检查幂等性。

  • 当使用字符串过滤器时,不需要这些包,但模块将不是幂等的。

  • 以na_ontap为前缀的模块构建用于支持ONTAP存储平台。

  • 默认情况下启用https,并且建议使用https。要在集群上启用http,必须运行以下命令“set -privilege advanced;”“system services web modify -http-enabled true;”。

示例

- name: Add licenses - 28 character keys
  netapp.ontap.na_ontap_license:
    state: present
    serial_number: #################
    license_codes: CODE1,CODE2

- name: Remove licenses
  netapp.ontap.na_ontap_license:
    state: absent
    remove_unused: false
    remove_expired: true
    serial_number: #################
    license_names: nfs,cifs

- name: Add NLF licenses
  netapp.ontap.na_ontap_license:
    state: present
    license_codes:
      - "{{ lookup('file', nlf_filepath) | string }}"

- name: Remove NLF license bundle - using license file
  netapp.ontap.na_ontap_license:
    state: absent
    license_codes:
      - "{{ lookup('file', nlf_filepath) | string }}"

- name: Remove NLF license bundle - using bundle name
  netapp.ontap.na_ontap_license:
    state: absent
    remove_unused: false
    remove_expired: true
    serial_number: #################
    license_names: "Enterprise Edition"

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

updated_licenses

字典

返回已更新的包名称列表

返回值: 始终

示例: "['nfs']"

作者

  • NetApp Ansible团队 (@carchi8py)