netapp.ontap.na_ontap_quotas 模块 – NetApp ONTAP 配额

注意

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

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

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

要在 playbook 中使用它,请指定:netapp.ontap.na_ontap_quotas

netapp.ontap 2.8.0 中的新增功能

概要

  • 在 ONTAP 上设置/修改/删除配额

要求

执行此模块的主机需要满足以下要求。

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

  • Python3 - 建议使用 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 或更高版本。

参数

参数

注释

activate_quota_on_change

字符串

在 netapp.ontap 20.12.0 中添加

用于在更改时激活配额的方法。

默认值为 ZAPI 中的“resize”。

使用 REST 时,对配额规则限制 file_limitdisk_limitsoft_file_limitsoft_disk_limit 的更改会自动应用,而无需配额调整操作。

选项

  • "resize"

  • "reinitialize"

  • "none"

cert_filepath

字符串

在 netapp.ontap 20.6.0 中添加

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

python 2.6 不支持。

disk_limit

字符串

为目标保留的磁盘空间量。

应为数字后跟 B(字节)、KB、MB、GB、TB。

如果未指定单位,则默认使用 KB。

示例 - 10MB、20GB、1TB、20B、10。

在 REST 中,如果限制小于 1024 字节,则该值将四舍五入为 1024 字节。

使用“-”重置磁盘限制。

feature_flags

字典

在 netapp.ontap 20.5.0 中添加

启用或禁用新功能。

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

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

file_limit

字符串

目标可以拥有的文件数。

使用“-”重置文件限制。

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 客户端密钥文件的路径。

ontapi

整数

要使用的 ontap api 版本

password

别名:pass

字符串

指定用户的密码。

perform_user_mapping

别名:user_mapping

布尔值

在 netapp.ontap 20.12.0 中添加

配额管理是否将对 quota-target 中指定的用户执行用户映射。

用户映射只能为用户配额规则指定。

选项

  • false

  • true

policy

字符串

应从中获取配额规则的配额策略的名称。

仅支持 ZAPI。

REST 不支持多个备用配额策略(活动和备份)。

REST 管理活动策略的配额规则。

qtree

字符串

配额的 qtree 名称。

对于用户或组规则,它可以是 qtree 名称,如果没有 qtree,则为“”。

对于树类型规则,此字段必须为“”。

默认: ""

quota_target

字符串

指定类型的配额目标。

创建或修改规则时必需。

用户和组在 REST 中采用 quota_target 值。

对于默认用户和组配额规则,quota_target 必须指定为“”。

set_quota_status

布尔值

指定卷是否应启用或禁用配额状态。

选项

  • false

  • true

soft_disk_limit

字符串

目标必须超过的磁盘空间量,之后才会记录消息并生成 SNMP 陷阱。

有关格式描述,请参阅 disk_limit

在 REST 中,如果限制小于 1024 字节,则该值将四舍五入为 1024 字节。

使用“-”重置软磁盘限制。

soft_file_limit

字符串

目标必须超过的文件数,之后才会记录消息并生成 SNMP 陷阱。

使用“-”重置软文件限制。

state

字符串

指定的配额是否应存在。

选项

  • "present" ←(默认)

  • "absent"

threshold

字符串

目标必须超过的磁盘空间量,之后才会记录消息。

有关格式描述,请参阅 disk_limit

仅支持 ZAPI。

type

字符串

配额规则的类型

创建或修改规则时必需。

选项

  • "user"

  • "group"

  • "tree"

use_rest

字符串

是否使用 REST 或 ZAPI。

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

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

auto – 如果模块支持 REST API 并且支持模块选项,则尝试使用 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 ← (默认)

volume

字符串 / 必需

配额所在的卷的名称。

vserver

字符串 / 必需

要使用的 vserver 的名称。

注释

注意

  • 以 na_ontap 为前缀的模块旨在支持 ONTAP 存储平台。

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

示例

- name: Create quota rule in ZAPI.
  netapp.ontap.na_ontap_quotas:
    state: present
    vserver: ansible
    volume: ansible
    quota_target: user1
    type: user
    policy: ansible
    file_limit: 2
    disk_limit: 3
    set_quota_status: True
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Resize quota
  netapp.ontap.na_ontap_quotas:
    state: present
    vserver: ansible
    volume: ansible
    quota_target: user1
    type: user
    policy: ansible
    file_limit: 2
    disk_limit: 3
    set_quota_status: True
    activate_quota_on_change: resize
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Reinitialize quota
  netapp.ontap.na_ontap_quotas:
    state: present
    vserver: ansible
    volume: ansible
    quota_target: user1
    type: user
    policy: ansible
    file_limit: 2
    disk_limit: 3
    set_quota_status: True
    activate_quota_on_change: reinitialize
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: modify quota
  netapp.ontap.na_ontap_quotas:
    state: present
    vserver: ansible
    volume: ansible
    quota_target: user1
    type: user
    policy: ansible
    file_limit: 2
    disk_limit: 3
    threshold: 3
    set_quota_status: False
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Delete quota
  netapp.ontap.na_ontap_quotas:
    state: absent
    vserver: ansible
    volume: ansible
    quota_target: /vol/ansible
    type: user
    policy: ansible
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Add/Set quota rule for type user in REST.
  netapp.ontap.na_ontap_quotas:
    state: present
    vserver: ansible
    volume: ansible
    quota_target: "user1,user2"
    qtree: qtree
    type: user
    file_limit: 2
    disk_limit: 3
    set_quota_status: True
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Modify quota reset file limit and modify disk limit.
  netapp.ontap.na_ontap_quotas:
    state: present
    vserver: ansible
    volume: ansible
    quota_target: "user1,user2"
    qtree: qtree
    type: user
    file_limit: "-"
    disk_limit: 100
    set_quota_status: True
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Add/Set quota rule for type group in REST.
  netapp.ontap.na_ontap_quotas:
    state: present
    vserver: ansible
    volume: ansible
    quota_target: group1
    qtree: qtree
    type: group
    file_limit: 2
    disk_limit: 3
    set_quota_status: True
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Add/Set quota rule for type qtree in REST.
  netapp.ontap.na_ontap_quotas:
    state: present
    vserver: ansible
    volume: ansible
    quota_target: qtree1
    type: qtree
    file_limit: 2
    disk_limit: 3
    set_quota_status: True
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

作者

  • NetApp Ansible 团队 (@carchi8py)