netapp.ontap.na_ontap_rest_info 模块 – 使用 REST API 收集 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_rest_info

netapp.ontap 20.5.0 中的新增功能

概要

  • 此模块允许您使用 REST API 收集有关 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 或更高版本。

参数

参数

注释

cert_filepath

字符串

netapp.ontap 20.6.0 中新增

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

python 2.6 不支持。

feature_flags

字典

netapp.ontap 20.5.0 中新增

启用或禁用新功能。

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

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

fields

列表 / 元素=字符串

netapp.ontap 20.6.0 中新增

从子集中请求特定字段。

推荐 - ‘<字段列表>’ 以返回指定的字段,只允许一个子集。

不推荐 - ‘*’ 以返回所有字段,允许一个或多个子集。此选项可用于发现,但在生产环境中不推荐使用。

强烈不推荐 - ‘**’ 以返回所有字段,允许一个或多个子集。此选项可能会给系统带来额外的负载,不应在生产环境中使用。

有限制 - ‘’ 以返回默认字段,通常是唯一标识记录的属性(键)。默认情况下不返回其他数据,需要使用字段名称或 * 明确调用。

如果不存在此选项,则返回该 API 的默认字段(参见上面的 ‘’)。

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 的形式,每个元素都是整数。

gather_subset

列表 / 元素=字符串

提供此参数时,它会将收集的信息限制在给定的子集。

可以提供 REST API 或 ZAPI 信息名称。此参数的可能值包括

application/applications 或 application_info

application/consistency-groups

application/templates 或 application_template_info

cloud/targets 或 cloud_targets_info

cluster

cluster/chassis 或 cluster_chassis_info

cluster/counter/tables

cluster/firmware/history

cluster/jobs 或 cluster_jobs_info

cluster/licensing/capacity-pools

cluster/licensing/license-managers

cluster/licensing/licenses 或 license_info

cluster/mediators

cluster/metrics 或 cluster_metrics_info

cluster/metrocluster 或 metrocluster_info

cluster/metrocluster/diagnostics 或 cluster_metrocluster_diagnostics 或 metrocluster_check_info

cluster/metrocluster/dr-groups

cluster/metrocluster/interconnects

cluster/metrocluster/nodes 或 metrocluster-node-get-iter

cluster/metrocluster/operations

cluster/metrocluster/svms

cluster/nodes 或 cluster_node_info 或 sysconfig_info

cluster/ntp/keys

cluster/ntp/servers 或 ntp_server_info

cluster/peers 或 cluster_peer_info

cluster/schedules 或 cluster_schedules 或 job_schedule_cron_info

cluster/sensors

cluster/software 或 ontap_system_version 或 cluster_image_info

cluster/software/download 或 cluster_software_download

cluster/software/history 或 cluster_software_history

cluster/software/packages 或 cluster_software_packages

cluster/web

name-services/cache/group-membership/settings

name-services/cache/host/settings

name-services/cache/netgroup/settings

name-services/cache/setting

name-services/cache/unix-group/settings

name-services/dns 或 svm_dns_config_info 或 net_dns_info

name-services/ldap 或 svm_ldap_config_info 或 ldap_client 或 ldap_config

name-services/ldap-schemas

name-services/local-hosts

name-services/name-mappings 或 svm_name_mapping_config_info

name-services/nis 或 svm_nis_config_info

name-services/unix-groups

name-services/unix-users

network/ethernet/broadcast-domains 或 broadcast_domains_info 或 net_port_broadcast_domain_info

network/ethernet/ports 或 network_ports_info 或 net_port_info

network/ethernet/switch/ports

network/ethernet/switches 或 cluster_switch_info

network/fc/fabrics

network/fc/interfaces

network/fc/logins 或 san_fc_logins_info

network/fc/ports

network/fc/wwpn-aliases 或 san_fc_wppn-aliases 或 fcp_alias_info

network/http-proxy

network/ip/bgp/peer-groups

network/ip/interfaces 或 ip_interfaces_info 或 net_interface_info

network/ip/routes 或 ip_routes_info 或 net_routes_info

network/ip/service-policies 或 ip_service_policies 或 net_interface_service_policy_info

network/ip/subnets

network/ipspaces 或 network_ipspaces_info 或 net_ipspaces_info

private/support/alerts 或 sys_cluster_alerts

private/cli/vserver/security/file-directory 或 file_directory_security

protocols/active-directory

protocols/audit

protocols/cifs/connections

protocols/cifs/domains

protocols/cifs/group-policies

protocols/cifs/home-directory/search-paths 或 cifs_home_directory_info

protocols/cifs/local-groups

protocols/cifs/local-users

protocols/cifs/netbios

protocols/cifs/services 或 cifs_services_info 或 cifs_options_info

protocols/cifs/session/files

protocols/cifs/sessions

protocols/cifs/shadow-copies

protocols/cifs/shadowcopy-sets

protocols/cifs/shares 或 cifs_share_info

protocols/cifs/users-and-groups/privileges

protocols/cifs/unix-symlink-mapping

protocols/fpolicy

protocols/locks

protocols/ndmp

protocols/ndmp/nodes

协议/NDMP/会话

协议/NDMP/SVM

协议/NFS/已连接客户端

协议/NFS/已连接客户端映射

协议/NFS/已连接客户端设置

协议/NFS/导出策略或export_policy_info

协议/NFS/导出策略/规则 **需要设置owning_resource**

协议/NFS/Kerberos/接口

协议/NFS/Kerberos/领域或kerberos_realm_info

协议/NFS/服务或vserver_nfs_info或nfs_info

协议/NVMe/接口或nvme_interface_info

协议/NVMe/服务或nvme_info

协议/NVMe/子系统或nvme_subsystem_info

协议/NVMe/子系统控制器

协议/NVMe/子系统映射

协议/S3/存储桶

协议/S3/服务

协议/SAN/FCP/服务或san_fcp_services或fcp_service_info

协议/SAN/i组或nitiator_groups_info或igroup_info

协议/SAN/iSCSI/凭据或san_iscsi_credentials

协议/SAN/iSCSI/服务或san_iscsi_services或iscsi_service_info

协议/SAN/iSCSI/会话

协议/SAN/LUN映射或san_lun_maps或lun_map_info

协议/SAN/端口集

协议/SAN/VVOL绑定

协议/Vscan或vscan_status_info或vscan_info

协议/Vscan/访问控制策略 **需要设置owning_resource**

协议/Vscan/按需策略 **需要设置owning_resource**

协议/Vscan/扫描程序池 **需要设置owning_resource**

协议/Vscan/服务器状态或vscan_connection_status_all_info

安全

安全/账户或security_login_info或security_login_account_info

安全/反勒索软件/可疑对象

安全/审计

安全/审计/目标或cluster_log_forwarding_info

安全/审计/消息

安全/身份验证/集群/AD代理

安全/身份验证/集群/LDAP

安全/身份验证/集群/NIS

安全/身份验证/集群/SAML-SP

安全/身份验证/公钥

安全/AWS KMS

安全/Azure密钥保管库

安全/证书

安全/GCP KMS

安全/IPsec

安全/IPsec/CA证书

安全/IPsec/策略

安全/IPsec/安全关联

安全/密钥管理器配置

安全/密钥管理器

安全/密钥存储

安全/登录/消息

安全/多管理员验证

安全/多管理员验证/审批组

安全/多管理员验证/请求

安全/多管理员验证/规则

安全/角色或security_login_rest_role_info

安全/SSH

安全/SSH/SVM

SnapMirror/策略或snapmirror_policy_info

SnapMirror/关系或snapmirror_info

存储/聚合或aggregate_info

存储/桥接或storage_bridge_info

存储/集群

存储/磁盘或disk_info

存储/文件/克隆/拆分负载

存储/文件/克隆/拆分状态

存储/文件/克隆/令牌

存储/文件/移动

存储/FlexCache/FlexCache或storage_flexcaches_info

存储/FlexCache/源或storage_flexcaches_origin_info

存储/LUN或storage_luns_info或lun_info(如果存在serial_number,则计算serial_hex和naa_id)

存储/命名空间或storage_NVMe_namespaces或nvme_namespace_info

存储/池

存储/端口或storage_ports_info

存储/QoS/策略或storage_qos_policies或qos_policy_info或qos_adaptive_policy_info

存储/QoS/工作负载

存储/qtree或storage_qtrees_config或qtree_info

存储/配额/报告或storage_quota_reports或quota_report_info

存储/配额/规则或storage_quota_policy_rules

存储/机架或storage_shelves_config或shelf_info

存储/SnapLock/审计日志

存储/SnapLock/合规时钟

存储/SnapLock/事件保留/操作

存储/SnapLock/事件保留/策略

存储/SnapLock/文件指纹

存储/SnapLock/诉讼

存储/快照策略或storage_snapshot_policies或snapshot_policy_info

存储/交换机

存储/磁带设备

存储/卷或volume_info

存储/卷/快照 **需要设置owning_resource**

存储/卷效率策略或sis_policy_info

支持/AutoSupport或autosupport_config_info

支持/AutoSupport/检查或autosupport_check_info

支持/AutoSupport/消息或autosupport_messages_history

支持/自动更新

支持/自动更新/配置

支持/自动更新/更新

支持/配置备份

支持/配置备份/备份

支持/coredump/coredumps

支持/EMS或support_ems_config

支持/EMS/目标或event_notification_info或event_notification_destination_info

支持/EMS/事件或support_ems_events

支持/EMS/过滤器或support_ems_filters

支持/EMS/消息

支持/SNMP

支持/SNMP/陷阱主机

支持/SNMP/用户

SVM/迁移

SVM/对等机或svm_peers_info或vserver_peer_info

SVM/对等权限或svm_peer-permissions_info

SVM/SVM或vserver_info

以下内容没有直接的REST API等效项

aggr_efficiency_info

cifs_vserver_security_info

clock_info

cluster_identity_info

net_vlan_info

sis_info

snapmirror_destination_info

system_node_info

volume_space_info

可以指定一个值列表以包含更大的子集。

REST API 自 ONTAP 9.6 版起受支持。

默认值: ["demo"]

hal_linking

布尔值

如果为false,则在REST调用中禁用HAL编码的链接。

选项

  • false

  • true ← (默认)

主机名

字符串 / 必需

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

HTTP端口

整数

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

HTTPS

布尔值

启用和禁用HTTPS。

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

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

选项

  • false ← (默认)

  • true

ignore_api_errors

列表 / 元素=字符串

netapp.ontap 21.23.0 中新增

子字符串列表。

如果在获取子集时错误消息中包含子字符串,则模块不会失败,并且错误会报告在子集中。

key_filepath

字符串

netapp.ontap 20.6.0 中新增

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

max_records

整数

单个调用中返回的记录最大数量。

默认值: 1024

owning_resource

字典

在netapp.ontap 21.19.0中添加

某些资源无法直接访问。您需要根据所有者或父项选择它们。例如,快照的卷。

以下子集需要拥有资源,以及uuid不存在时的以下子选项。

<storage/volumes/snapshots> **volume_name** 是卷名,**svm_name** 是卷的拥有vserver名称。

<protocols/nfs/export-policies/rules> **policy_name** 是策略的名称,**svm_name** 是策略的拥有vserver名称,**rule_index** 是规则索引。

<protocols/vscan/on-access-policies> **svm_name** 是vscan的拥有vserver名称

<protocols/vscan/on-demand-policies> **svm_name** 是vscan的拥有vserver名称

<protocols/vscan/scanner-pools> **svm_name** 是vscan的拥有vserver名称

参数

字典

在netapp.ontap 20.7.0中添加

允许传入任何REST选项

密码

别名:pass

字符串

指定用户的密码。

状态

字符串

自21.1.0版起已弃用。

此选项被忽略,并将继续被忽略。

use_python_keys

布尔值

在netapp.ontap 21.9.0中添加

如果为true,则返回字典键中的/将转换为_

这使得在处理输出时可以使用.表示法成为可能。

例如,可以访问ontap_info[“svm/svms”]作为ontap_info.svm_svms

选项

  • false ← (默认)

  • true

use_rest

字符串

此模块仅支持REST。

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

默认值: "always"

用户名

别名: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 ← (默认)

备注

注意

  • security_login_role_config_info 没有REST等效项。

  • security_login_role_info 没有REST等效项。

  • security_key_manager_key_info 没有REST等效项。

  • vserver_motd_info 没有REST等效项。

  • vserver_login_banner_info 没有REST等效项。

  • vscan_connection_extended_stats_info 没有REST等效项。

  • env_sensors_info 没有REST等效项。

  • fcp_adapter_info 没有REST等效项。

  • net_dev_discovery_info 没有REST等效项。

  • net_failover_group_info 没有REST等效项。

  • net_firewall_info 没有REST等效项。

  • ntfs_dacl_info 没有REST等效项。

  • ntfs_sd_info 没有REST等效项。

  • role_info 没有REST等效项。

  • subsys_health_info 没有REST等效项。

  • volume_move_target_aggr_info 没有REST等效项。

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

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

示例

- name: run ONTAP gather facts for vserver info
  netapp.ontap.na_ontap_rest_info:
      hostname: "1.2.3.4"
      username: "testuser"
      password: "test-password"
      https: true
      validate_certs: false
      use_rest: Always
      gather_subset:
        - svm/svms

- name: run ONTAP gather facts for aggregate info and volume info
  netapp.ontap.na_ontap_rest_info:
      hostname: "1.2.3.4"
      username: "testuser"
      password: "test-password"
      https: true
      validate_certs: false
      use_rest: Always
      gather_subset:
        - storage/aggregates
        - storage/volumes

- name: run ONTAP gather facts for aggregate info and volume info with fields section
  netapp.ontap.na_ontap_rest_info:
      hostname: "1.2.3.4"
      username: "testuser"
      password: "test-password"
      https: true
      fields:
        - '*'
      validate_certs: false
      use_rest: Always
      gather_subset:
        - storage/aggregates
        - storage/volumes

- name: run ONTAP gather facts for aggregate info with specified fields
  netapp.ontap.na_ontap_rest_info:
      hostname: "1.2.3.4"
      username: "testuser"
      password: "test-password"
      https: true
      fields:
        - 'uuid'
        - 'name'
        - 'node'
      validate_certs: false
      use_rest: Always
      gather_subset:
        - storage/aggregates
      parameters:
        recommend:
          true

- name: Get Snapshot info (owning_resource example)
  netapp.ontap.na_ontap_rest_info:
      hostname: "1.2.3.4"
      username: "testuser"
      password: "test-password"
      https: true
      fields:
        - '*'
      validate_certs: false
      use_rest: Always
      gather_subset:
        - storage/volumes/snapshots
      owning_resource:
        volume_name: volume_name
        svm_name: svm_name

- name: run ONTAP gather facts for volume info with query on name and state
  netapp.ontap.na_ontap_rest_info:
      hostname: "1.2.3.4"
      username: "testuser"
      password: "test-password"
      https: true
      validate_certs: false
      gather_subset:
        - storage/volumes
      parameters:
        name: ansible*
        state: online

- name: run ONTAP gather fact to get DACLs
  netapp.ontap.na_ontap_rest_info:
    hostname: "1.2.3.4"
    username: "testuser"
    password: "test-password"
    https: true
    validate_certs: false
    gather_subset:
      - file_directory_security
    parameters:
      vserver: svm1
      path: /vol1/qtree1
    use_python_keys: true

- name: get ip network interface info.
  netapp.ontap.na_ontap_rest_info:
    hostname: "1.2.3.4"
    username: "testuser"
    password: "test-password"
    https: true
    validate_certs: false
    gather_subset:
      - ip_interfaces_info
    parameters:
      location.failover: home_node_only
      location.node.name: ontap_cluster
      service_policy.name: default-data-files

- name: get aggregate info
  netapp.ontap.na_ontap_rest_info:
    hostname: "1.2.3.4"
    username: "testuser"
    password: "test-password"
    https: true
    validate_certs: false
    gather_subset:
      - aggregate_info
    parameters:
      node.name: ontap_cluster
      block_storage.primary.raid_type: raid_dp

# assuming module_defaults is used to set hostname, username, ...
- name: run demo subset using custom vsadmin role
  netapp.ontap.na_ontap_rest_info:
    gather_subset:
      - demo
    force_ontap_version: 9.8
    ignore_api_errors:
      - 'not authorized for that command'

# reports: {"cluster/nodes": {"error": {"code": "6", "message": "not authorized for that command"}}

作者

  • NetApp Ansible团队 (@carchi8py)