#compdef isi

#This file was auto-generated

# Copyright C 2008-2012 by Isilon Systems, Inc. All rights not expressly
# granted herein are reserved.
# Created in the United States of America.
#
# This digital media is protected by U.S. and international copyright and
# intellectual property laws. Unless otherwise specified, all information
# and screens appearing as part of this digital medium, including
# software, services, documents, text, images, icons, and logos design;
# the selection, assembly, arrangement, and design thereof; and the code
# that enables its presentation, are the sole property of Isilon Systems,
# Inc.
#
# Except as otherwise required by applicable law, no part of any
# copyrighted material may be reproduced, modified, translated,
# distributed, published, or transmitted by any means, electronic or
# mechanical, for any purpose, without the prior written consent of Isilon
# Systems.
#
# Isilon and Isilon Systems are registered trademarks of Isilon Systems,
# Inc.  Legion is a trademark of Isilon Systems, Inc.  All other
# trademarks and registered trademarks are the property of their
# respective holders.

(( $+functions[__isi] )) ||
_isi() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ audit auth cloud dedupe filepool hdfs job nfs quota remotesupport smb snapshot storagepool sync worm zone batterystatus ndmp stat servicelight set get update alert fc pkg exttools services networks target status ftp statistics license drivefirmware iscsi firmware snmp devices email readonly version avscan tape perfstat config events lun}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == audit ]]; then
      curcontext="${curcontext%:*:*}:isi-audit:"
      _isi_audit
    elif [[ $cmd == auth ]]; then
      curcontext="${curcontext%:*:*}:isi-auth:"
      _isi_auth
    elif [[ $cmd == cloud ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud:"
      _isi_cloud
    elif [[ $cmd == dedupe ]]; then
      curcontext="${curcontext%:*:*}:isi-dedupe:"
      _isi_dedupe
    elif [[ $cmd == filepool ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool:"
      _isi_filepool
    elif [[ $cmd == hdfs ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs:"
      _isi_hdfs
    elif [[ $cmd == job ]]; then
      curcontext="${curcontext%:*:*}:isi-job:"
      _isi_job
    elif [[ $cmd == nfs ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs:"
      _isi_nfs
    elif [[ $cmd == quota ]]; then
      curcontext="${curcontext%:*:*}:isi-quota:"
      _isi_quota
    elif [[ $cmd == remotesupport ]]; then
      curcontext="${curcontext%:*:*}:isi-remotesupport:"
      _isi_remotesupport
    elif [[ $cmd == smb ]]; then
      curcontext="${curcontext%:*:*}:isi-smb:"
      _isi_smb
    elif [[ $cmd == snapshot ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot:"
      _isi_snapshot
    elif [[ $cmd == storagepool ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool:"
      _isi_storagepool
    elif [[ $cmd == sync ]]; then
      curcontext="${curcontext%:*:*}:isi-sync:"
      _isi_sync
    elif [[ $cmd == worm ]]; then
      curcontext="${curcontext%:*:*}:isi-worm:"
      _isi_worm
    elif [[ $cmd == zone ]]; then
      curcontext="${curcontext%:*:*}:isi-zone:"
      _isi_zone
    elif [[ $cmd == batterystatus ]]; then
      curcontext="${curcontext%:*:*}:isi-batterystatus:"
      _isi_batterystatus
    elif [[ $cmd == ndmp ]]; then
      curcontext="${curcontext%:*:*}:isi-ndmp:"
      _isi_ndmp
    elif [[ $cmd == stat ]]; then
      curcontext="${curcontext%:*:*}:isi-stat:"
      _isi_stat
    elif [[ $cmd == servicelight ]]; then
      curcontext="${curcontext%:*:*}:isi-servicelight:"
      _isi_servicelight
    elif [[ $cmd == set ]]; then
      curcontext="${curcontext%:*:*}:isi-set:"
      _isi_set
    elif [[ $cmd == get ]]; then
      curcontext="${curcontext%:*:*}:isi-get:"
      _isi_get
    elif [[ $cmd == update ]]; then
      curcontext="${curcontext%:*:*}:isi-update:"
      _isi_update
    elif [[ $cmd == alert ]]; then
      curcontext="${curcontext%:*:*}:isi-alert:"
      _isi_alerts
    elif [[ $cmd == fc ]]; then
      curcontext="${curcontext%:*:*}:isi-fc:"
      _isi_fc
    elif [[ $cmd == pkg ]]; then
      curcontext="${curcontext%:*:*}:isi-pkg:"
      _isi_pkg
    elif [[ $cmd == exttools ]]; then
      curcontext="${curcontext%:*:*}:isi-exttools:"
      _isi_exttools
    elif [[ $cmd == services ]]; then
      curcontext="${curcontext%:*:*}:isi-services:"
      _isi_services
    elif [[ $cmd == networks ]]; then
      curcontext="${curcontext%:*:*}:isi-networks:"
      _isi_networks
    elif [[ $cmd == target ]]; then
      curcontext="${curcontext%:*:*}:isi-target:"
      _isi_target
    elif [[ $cmd == status ]]; then
      curcontext="${curcontext%:*:*}:isi-status:"
      _isi_status
    elif [[ $cmd == ftp ]]; then
      curcontext="${curcontext%:*:*}:isi-ftp:"
      _isi_ftp
    elif [[ $cmd == statistics ]]; then
      curcontext="${curcontext%:*:*}:isi-statistics:"
      _isi_statistics
    elif [[ $cmd == license ]]; then
      curcontext="${curcontext%:*:*}:isi-license:"
      _isi_license
    elif [[ $cmd == drivefirmware ]]; then
      curcontext="${curcontext%:*:*}:isi-drivefirmware:"
      _isi_drivefirmware
    elif [[ $cmd == iscsi ]]; then
      curcontext="${curcontext%:*:*}:isi-iscsi:"
      _isi_iscsi
    elif [[ $cmd == firmware ]]; then
      curcontext="${curcontext%:*:*}:isi-firmware:"
      _isi_firmware
    elif [[ $cmd == snmp ]]; then
      curcontext="${curcontext%:*:*}:isi-snmp:"
      _isi_snmp
    elif [[ $cmd == devices ]]; then
      curcontext="${curcontext%:*:*}:isi-devices:"
      _isi_devices
    elif [[ $cmd == email ]]; then
      curcontext="${curcontext%:*:*}:isi-email:"
      _isi_email
    elif [[ $cmd == readonly ]]; then
      curcontext="${curcontext%:*:*}:isi-readonly:"
      _isi_readonly
    elif [[ $cmd == version ]]; then
      curcontext="${curcontext%:*:*}:isi-version:"
      _isi_version
    elif [[ $cmd == avscan ]]; then
      curcontext="${curcontext%:*:*}:isi-avscan:"
      _isi_avscan
    elif [[ $cmd == tape ]]; then
      curcontext="${curcontext%:*:*}:isi-tape:"
      _isi_tape
    elif [[ $cmd == perfstat ]]; then
      curcontext="${curcontext%:*:*}:isi-perfstat:"
      _isi_perfstat
    elif [[ $cmd == config ]]; then
      curcontext="${curcontext%:*:*}:isi-config:"
      _isi_config
    elif [[ $cmd == events ]]; then
      curcontext="${curcontext%:*:*}:isi-events:"
      _isi_events
    elif [[ $cmd == lun ]]; then
      curcontext="${curcontext%:*:*}:isi-lun:"
      _isi_lun
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_audit] )) ||
_isi_audit() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ settings topics}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-audit-settings:"
      _isi_audit_settings
    elif [[ $cmd == topics ]]; then
      curcontext="${curcontext%:*:*}:isi-audit-topics:"
      _isi_audit_topics
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_audit_settings] )) ||
_isi_audit_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-audit-settings-view:"
      _isi_audit_settings_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-audit-settings-modify:"
      _isi_audit_settings_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_audit_settings_view] )) ||
_isi_audit_settings_view() {
}
(( $+functions[_isi_audit_settings_modify] )) ||
_isi_audit_settings_modify() {
_arguments \
"--add-audited-zones=[Add items to list of zones which will be audited when protocol auditing is enabled.]" \
"--add-cee-server-uris=[Add items to list of CEE server URIs to which audit logs are forwarded.]" \
"--audited-zones=[Specify a list of zones which will be audited when protocol auditing is enabled.]" \
"--cee-log-time=[Sets audit CEE forwarder to forward events past a specified date in 'Topic@YYYY-MM-DD HH:MM:SS' format]" \
"--cee-server-uris=[Specify a list of CEE server URIs to which audit logs are forwarded.]" \
"--clear-audited-zones[Clear list of zones which will be audited when protocol auditing is enabled.]" \
"--clear-cee-server-uris[Clear list of CEE server URIs to which audit logs are forwarded.]" \
"--config-auditing-enabled=[Enables/disables auditing of configuration change requests.]" \
"--config-syslog-enabled=[Enables/disables forwarding of config audit events to syslog.]" \
"--hostname=[Hostname of this cluster for reporting protocol events, typically the SmartConnect zone name.]" \
"--protocol-auditing-enabled=[Enables/disables auditing of I/O requests.]" \
"--remove-audited-zones=[Remove items from list of zones which will be audited when protocol auditing is enabled.]" \
"--remove-cee-server-uris=[Remove items from list of CEE server URIs to which audit logs are forwarded.]" \
"--syslog-log-time=[Sets audit syslog forwarder to forward events past a specified date in 'Topic@YYYY-MM-DD HH:MM:SS' format]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_audit_topics] )) ||
_isi_audit_topics() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view list modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-audit-topics-view:"
      _isi_audit_topics_view
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-audit-topics-list:"
      _isi_audit_topics_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-audit-topics-modify:"
      _isi_audit_topics_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_audit_topics_view] )) ||
_isi_audit_topics_view() {
_arguments \
"--name=[Name for the audit topic.]" \
}
(( $+functions[_isi_audit_topics_list] )) ||
_isi_audit_topics_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display audit topics in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of audit topics to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_audit_topics_modify] )) ||
_isi_audit_topics_modify() {
_arguments \
"--name=[Name for the audit topic.]" \
"--max-cached-messages=[Sets limit on how many audit messages can be cached internally before they are written to persistent store.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth] )) ||
_isi_auth() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ settings users groups roles ads file ldap local krb5 nis mapping netgroups refresh log-level privileges id error status access}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-settings:"
      _isi_auth_settings
    elif [[ $cmd == users ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-users:"
      _isi_auth_users
    elif [[ $cmd == groups ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-groups:"
      _isi_auth_groups
    elif [[ $cmd == roles ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-roles:"
      _isi_auth_roles
    elif [[ $cmd == ads ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads:"
      _isi_auth_ads
    elif [[ $cmd == file ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-file:"
      _isi_auth_file
    elif [[ $cmd == ldap ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ldap:"
      _isi_auth_ldap
    elif [[ $cmd == local ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-local:"
      _isi_auth_local
    elif [[ $cmd == krb5 ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5:"
      _isi_auth_krb5
    elif [[ $cmd == nis ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-nis:"
      _isi_auth_nis
    elif [[ $cmd == mapping ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-mapping:"
      _isi_auth_mapping
    elif [[ $cmd == netgroups ]]; then
      curcontext="${curcontext%:*:*}:isi_classic-auth-netgroups:"
      _isi_classic_auth_netgroups
    elif [[ $cmd == refresh ]]; then
      curcontext="${curcontext%:*:*}:isi_classic-auth-refresh:"
      _isi_classic_auth_refresh
    elif [[ $cmd == log-level ]]; then
      curcontext="${curcontext%:*:*}:isi_classic-auth-log-level:"
      _isi_classic_auth_log-level
    elif [[ $cmd == privileges ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-privileges:"
      _isi_auth_privileges
    elif [[ $cmd == id ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-id:"
      _isi_auth_id
    elif [[ $cmd == error ]]; then
      curcontext="${curcontext%:*:*}:isi_classic-auth-error:"
      _isi_classic_auth_error
    elif [[ $cmd == status ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-status:"
      _isi_auth_status
    elif [[ $cmd == access ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-access:"
      _isi_auth_access
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_settings] )) ||
_isi_auth_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ global krb5 mapping}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == global ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-settings-global:"
      _isi_auth_settings_global
    elif [[ $cmd == krb5 ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-settings-krb5:"
      _isi_auth_settings_krb5
    elif [[ $cmd == mapping ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-settings-mapping:"
      _isi_auth_settings_mapping
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_settings_global] )) ||
_isi_auth_settings_global() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-settings-global-view:"
      _isi_auth_settings_global_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-settings-global-modify:"
      _isi_auth_settings_global_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_settings_global_view] )) ||
_isi_auth_settings_global_view() {
_arguments \
}
(( $+functions[_isi_auth_settings_global_modify] )) ||
_isi_auth_settings_global_modify() {
_arguments \
"--cache-cred-lifetime=[Sets duration of time to cache credential responses from the ID mapper.]" \
"--cache-id-lifetime=[Sets duration of time to cache ID responses from the ID mapper.]" \
"--on-disk-identity=[Specifies type of identity stored on disk.]" \
"--provider-hostname-lookup=[Allow hostname lookup via authentication providers. Applies to NIS only.  Options are 'dns-first', 'nis-first', and 'disabled'.]" \
"--revert-cache-cred-lifetime[Set value to system default for --cache-cred-lifetime.]" \
"--revert-cache-id-lifetime[Set value to system default for --cache-id-lifetime.]" \
"--revert-on-disk-identity[Set value to system default for --on-disk-identity.]" \
"--revert-rpc-max-requests[Set value to system default for --rpc-max-requests.]" \
"--revert-send-ntlmv2[Set value to system default for --send-ntlmv2.]" \
"--revert-space-replacement[Set value to system default for --space-replacement.]" \
"--revert-unknown-gid[Set value to system default for --unknown-gid.]" \
"--revert-unknown-uid[Set value to system default for --unknown-uid.]" \
"--revert-workgroup[Set value to system default for --workgroup.]" \
"--rpc-max-requests=[Specifies maximum number of simultaneous ID Mapper requests.]" \
"--send-ntlmv2=[Specifies whether to send NTLMv2 responses.]" \
"--space-replacement=[Replacement character when specifying names which include spaces on the CLI.]" \
"--unknown-gid=[Specifies GID to use for the unknown (anonymous) group.]" \
"--unknown-uid=[Specifies UID to use for the unknown (anonymous, user.]" \
"--verbose[Display more detailed information.]" \
"--workgroup=[Sets NetBIOS workgroup name.]" \
}
(( $+functions[_isi_auth_settings_krb5] )) ||
_isi_auth_settings_krb5() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-settings-krb5-view:"
      _isi_auth_settings_krb5_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-settings-krb5-modify:"
      _isi_auth_settings_krb5_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_settings_krb5_view] )) ||
_isi_auth_settings_krb5_view() {
_arguments \
}
(( $+functions[_isi_auth_settings_krb5_modify] )) ||
_isi_auth_settings_krb5_modify() {
_arguments \
"--always-send-preauth=[Specifies whether to send preauth.]" \
"--default-realm=[Specifies the default realm by name.]" \
"--dns-lookup-kdc=[Enables use of DNS to find KDCs.]" \
"--dns-lookup-realm=[Enables use of DNS to find realm names.]" \
"--revert-always-send-preauth[Set value to system default for --always-send-preauth.]" \
"--revert-dns-lookup-kdc[Set value to system default for --dns-lookup-kdc.]" \
"--revert-dns-lookup-realm[Set value to system default for --dns-lookup-realm.]" \
}
(( $+functions[_isi_auth_settings_mapping] )) ||
_isi_auth_settings_mapping() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-settings-mapping-view:"
      _isi_auth_settings_mapping_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-settings-mapping-modify:"
      _isi_auth_settings_mapping_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_settings_mapping_view] )) ||
_isi_auth_settings_mapping_view() {
_arguments \
"--zone=[Specifies name of access zone in which to view mapping settings.]" \
}
(( $+functions[_isi_auth_settings_mapping_modify] )) ||
_isi_auth_settings_mapping_modify() {
_arguments \
"--gid-range-enabled=[Enables allocation of automatic GIDs in the ID mapper.]" \
"--gid-range-max=[Specifies ending number for allocating GIDs. Default is 2,000,000.]" \
"--gid-range-min=[Specifies starting number for allocating GIDs. Default is 1,000,000.]" \
"--revert-gid-range-enabled[Set value to system default for --gid-range-enabled.]" \
"--revert-gid-range-max[Set value to system default for --gid-range-max.]" \
"--revert-gid-range-min[Set value to system default for --gid-range-min.]" \
"--revert-uid-range-enabled[Set value to system default for --uid-range-enabled.]" \
"--revert-uid-range-max[Set value to system default for --uid-range-max.]" \
"--revert-uid-range-min[Set value to system default for --uid-range-min.]" \
"--uid-range-enabled=[Enables allocation of automatic UIDs in the ID mapper.]" \
"--uid-range-max=[Specifies ending number for allocating UIDs. Default is 2,000,000.]" \
"--uid-range-min=[Specifies starting number for allocating UIDs. Default is 1,000,000.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies name of access zone in which to modify mapping settings.]" \
}
(( $+functions[_isi_auth_users] )) ||
_isi_auth_users() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ create view list modify delete flush}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-users-create:"
      _isi_auth_users_create
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-users-view:"
      _isi_auth_users_view
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-users-list:"
      _isi_auth_users_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-users-modify:"
      _isi_auth_users_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-users-delete:"
      _isi_auth_users_delete
    elif [[ $cmd == flush ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-users-flush:"
      _isi_auth_users_flush
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_users_create] )) ||
_isi_auth_users_create() {
_arguments \
"--name=[Name for the user.]" \
"--email=[Specifies an Email address.]" \
"--enabled=[user is enabled.]" \
"--expiry=[Time at which the user account will expire.]" \
"--force[Ignore warnings when creating/modifying users and groups.]" \
"--gecos=[Sets GECOS value (usually full name).]" \
"--home-directory=[Specifies user's home directory.]" \
"--password=[Changes user's password.]" \
"--password-expires=[Specifies whether password is allowed to expire.]" \
"--primary-group=[Specifies the primary group by name.]" \
"--primary-group-gid=[Specifies the primary group by GID.]" \
"--primary-group-sid=[Specifies the primary group by SID.]" \
"--prompt-password-change=[Prompts the user to change their password on next login.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--shell=[Sets path to user's shell.]" \
"--uid=[Sets user UID.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies name of zone in which to create the user.]" \
}
(( $+functions[_isi_auth_users_view] )) ||
_isi_auth_users_view() {
_arguments \
"--user=[A user name.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--cached[Make command only returned cached information.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--resolve-names[Resolves names of all related groups and related personas.]" \
"--show-groups[Displays group memberships.]" \
"--zone=[Specifies a zone by name.]" \
}
(( $+functions[_isi_auth_users_list] )) ||
_isi_auth_users_list() {
_arguments \
"--domain=[Specifies the provider domain.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display users in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of users to display.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies a zone by name.]" \
}
(( $+functions[_isi_auth_users_modify] )) ||
_isi_auth_users_modify() {
_arguments \
"--user=[A user name.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--add-gid=[Specifies the group ID of the group to which to add the user.]" \
"--add-group=[Add user to a group by group name.]" \
"--email=[Specifies an Email address.]" \
"--enabled=[user is enabled.]" \
"--expiry=[Time at which the user account will expire.]" \
"--force[Ignore warnings when creating/modifying users and groups.]" \
"--gecos=[Sets GECOS value (usually full name).]" \
"--home-directory=[Specifies user's home directory.]" \
"--new-uid=[Sets new user UID.]" \
"--password=[Changes user's password.]" \
"--password-expires=[Specifies whether password is allowed to expire.]" \
"--primary-group=[Specifies the primary group by name.]" \
"--primary-group-gid=[Specifies the primary group by GID.]" \
"--primary-group-sid=[Specifies the primary group by SID.]" \
"--prompt-password-change=[Prompts the user to change their password on next login.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--remove-gid=[Specifies ID of group from which to remove the user.]" \
"--remove-group=[Specifies name of group from which to remove the user.]" \
"--shell=[Sets path to user's shell.]" \
"--unlock[Unlocks the user's account if locked.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies name of zone in which to modify the user.]" \
}
(( $+functions[_isi_auth_users_delete] )) ||
_isi_auth_users_delete() {
_arguments \
"--user=[A user name.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--force[Do not ask confirmation.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies name of zone in which to delete the user.]" \
}
(( $+functions[_isi_auth_users_flush] )) ||
_isi_auth_users_flush() {
}
(( $+functions[_isi_auth_groups] )) ||
_isi_auth_groups() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ members create view list modify delete flush}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == members ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-groups-members:"
      _isi_auth_groups_members
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-groups-create:"
      _isi_auth_groups_create
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-groups-view:"
      _isi_auth_groups_view
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-groups-list:"
      _isi_auth_groups_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-groups-modify:"
      _isi_auth_groups_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-groups-delete:"
      _isi_auth_groups_delete
    elif [[ $cmd == flush ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-groups-flush:"
      _isi_auth_groups_flush
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_groups_members] )) ||
_isi_auth_groups_members() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-groups-members-list:"
      _isi_auth_groups_members_list
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_groups_members_list] )) ||
_isi_auth_groups_members_list() {
_arguments \
"--group=[A group name.]" \
"--gid=[A numeric group identifier.]" \
"--sid=[A security identifier.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display groups in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of groups to display.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies a zone by name.]" \
}
(( $+functions[_isi_auth_groups_create] )) ||
_isi_auth_groups_create() {
_arguments \
"--name=[Name for the group.]" \
"--add-sid=[Specifies SID of the persona to add to the group.]" \
"--add-uid=[Specifies UID of the user to add to the group.]" \
"--add-user=[Specifies name of the user to add to the group.]" \
"--add-wellknown=[Specifies well-known persona to add to the group.]" \
"--force[Ignore warnings when creating/modifying users and groups.]" \
"--gid=[Sets group GID.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--sid=[Sets group security identifier (SID).]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies name of zone in which to create the group.]" \
}
(( $+functions[_isi_auth_groups_view] )) ||
_isi_auth_groups_view() {
_arguments \
"--group=[A group name.]" \
"--gid=[A numeric group identifier.]" \
"--sid=[A security identifier.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--show-groups[Displays groups that have this group as a member.]" \
"--zone=[Specifies a zone by name.]" \
}
(( $+functions[_isi_auth_groups_list] )) ||
_isi_auth_groups_list() {
_arguments \
"--domain=[Specifies the provider domain.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display groups in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of groups to display.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies a zone by name.]" \
}
(( $+functions[_isi_auth_groups_modify] )) ||
_isi_auth_groups_modify() {
_arguments \
"--group=[A group name.]" \
"--gid=[A numeric group identifier.]" \
"--sid=[A security identifier.]" \
"--add-sid=[Specifies SID of the persona to add to the group.]" \
"--add-uid=[Specifies UID of the user to add to the group.]" \
"--add-user=[Specifies name of the user to add to the group.]" \
"--add-wellknown=[Specifies well-known persona to add to the group.]" \
"--force[Ignore warnings when creating/modifying users and groups.]" \
"--new-gid=[Sets new group ID.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--remove-sid=[Specifies SID of the persona to remove from the group.]" \
"--remove-uid=[Specifies UID of the user to remove from the group.]" \
"--remove-user=[Specify name of the user to remove from the group.]" \
"--remove-wellknown=[Specifies well-known persona to remove from the group.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies name of zone in which to modify the group.]" \
}
(( $+functions[_isi_auth_groups_delete] )) ||
_isi_auth_groups_delete() {
_arguments \
"--group=[A group name.]" \
"--gid=[A numeric group identifier.]" \
"--sid=[A security identifier.]" \
"--force[Do not ask confirmation.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies name of zone in which to delete the group.]" \
}
(( $+functions[_isi_auth_groups_flush] )) ||
_isi_auth_groups_flush() {
}
(( $+functions[_isi_auth_roles] )) ||
_isi_auth_roles() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ members privileges create view list modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == members ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-roles-members:"
      _isi_auth_roles_members
    elif [[ $cmd == privileges ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-roles-privileges:"
      _isi_auth_roles_privileges
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-roles-create:"
      _isi_auth_roles_create
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-roles-view:"
      _isi_auth_roles_view
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-roles-list:"
      _isi_auth_roles_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-roles-modify:"
      _isi_auth_roles_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-roles-delete:"
      _isi_auth_roles_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_roles_members] )) ||
_isi_auth_roles_members() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-roles-members-list:"
      _isi_auth_roles_members_list
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_roles_members_list] )) ||
_isi_auth_roles_members_list() {
_arguments \
"--role=[Specifies an existing role name.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display members in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of members to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_roles_privileges] )) ||
_isi_auth_roles_privileges() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-roles-privileges-list:"
      _isi_auth_roles_privileges_list
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_roles_privileges_list] )) ||
_isi_auth_roles_privileges_list() {
_arguments \
"--role=[Specifies an existing role name.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display privileges in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of privileges to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_roles_create] )) ||
_isi_auth_roles_create() {
_arguments \
"--name=[Name for the role.]" \
"--description=[Description for this role.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_roles_view] )) ||
_isi_auth_roles_view() {
_arguments \
"--role=[Specifies an existing role name.]" \
}
(( $+functions[_isi_auth_roles_list] )) ||
_isi_auth_roles_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display roles in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of roles to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_roles_modify] )) ||
_isi_auth_roles_modify() {
_arguments \
"--role=[Specifies an existing role name.]" \
"--add-gid=[Specifies the GID of the group to add to the role.]" \
"--add-group=[Specifies the name of the group to add to the role.]" \
"--add-priv=[Specifies a privilege to add to the role (e.g. ISI_PRIV_NFS).]" \
"--add-priv-ro=[Specifies a privilege to add to the role as read-only.]" \
"--add-sid=[Specifies SID of the persona to add to the role.]" \
"--add-uid=[Specifies UID of the user to add to the role.]" \
"--add-user=[Specifies name of the user to add to the role.]" \
"--add-wellknown=[Specifies well-known persona to add to the role. E.g. 'Everyone'.]" \
"--description=[Description for this role.]" \
"--name=[Name for the role.]" \
"--remove-gid=[Specifies GID of the group to remove from the role.]" \
"--remove-group=[Specifies the name of the group to remove from the role.]" \
"--remove-priv=[Specifies a privilege to remove from the role.]" \
"--remove-sid=[Specifies SID of the persona to remove from the role.]" \
"--remove-uid=[Specifies UID of the user to remove from the role.]" \
"--remove-user=[Specifies name of the user to remove from the role.]" \
"--remove-wellknown=[Specifies well-known persona to remove from the role.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_roles_delete] )) ||
_isi_auth_roles_delete() {
_arguments \
"--role=[Specifies an existing role name.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_ads] )) ||
_isi_auth_ads() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ trusts spn create view list modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == trusts ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads-trusts:"
      _isi_auth_ads_trusts
    elif [[ $cmd == spn ]]; then
      curcontext="${curcontext%:*:*}:isi_classic-auth-ads-spn:"
      _isi_classic_auth_ads_spn
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads-create:"
      _isi_auth_ads_create
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads-view:"
      _isi_auth_ads_view
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads-list:"
      _isi_auth_ads_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads-modify:"
      _isi_auth_ads_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads-delete:"
      _isi_auth_ads_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_ads_trusts] )) ||
_isi_auth_ads_trusts() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ controllers list view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == controllers ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads-trusts-controllers:"
      _isi_auth_ads_trusts_controllers
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads-trusts-list:"
      _isi_auth_ads_trusts_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads-trusts-view:"
      _isi_auth_ads_trusts_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_ads_trusts_controllers] )) ||
_isi_auth_ads_trusts_controllers() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ads-trusts-controllers-list:"
      _isi_auth_ads_trusts_controllers_list
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_ads_trusts_controllers_list] )) ||
_isi_auth_ads_trusts_controllers_list() {
_arguments \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display providers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of providers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_ads_trusts_list] )) ||
_isi_auth_ads_trusts_list() {
_arguments \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
}
(( $+functions[_isi_auth_ads_trusts_view] )) ||
_isi_auth_ads_trusts_view() {
_arguments \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--domain=[Specifies the trusted domain.]" \
}
(( $+functions[_isi_auth_ads_create] )) ||
_isi_auth_ads_create() {
_arguments \
"--name=[Specifies fully qualified Active Directory domain name. This will also be used as the provider name.]" \
"--user=[Specifies a user name with permission to join machines to the given domain.]" \
"--account=[Machine account name to use in AD.  Default is the cluster name.]" \
"--allocate-gids=[Enables allocation of automatic GIDs for unmapped AD groups.]" \
"--allocate-uids=[Enables allocation of automatic UIDs for unmapped AD users.]" \
"--assume-default-domain=[Enables lookup of unqualified user names in the primary domain.]" \
"--cache-entry-expiry=[Specifies duration of time to cache a user/group.]" \
"--check-online-interval=[Specifies duration between provider online checks.]" \
"--create-home-directory=[Automatically create user home directory on first login.]" \
"--dns-domain=[Specifies the DNS search domain. Set if DNS search domain differs from required parameter <name>.]" \
"--domain-offline-alerts=[Send an alert if the domain goes offline.]" \
"--home-directory-template=[Specifies a template path used when creating user home directories.]" \
"--ignore-all-trusts=[Ignores all trusted domains.]" \
"--ignored-trusted-domains=[Specifies list of trusted domains to ignore.]" \
"--include-trusted-domains=[Specifies list of trusted domains to include when --ignore-all-trusts is true.]" \
"--kerberos-hdfs-spn=[Adds SPNs for using Kerberized HDFS.]" \
"--kerberos-nfs-spn=[Adds SPNs for using Kerberized NFS.]" \
"--ldap-sign-and-seal=[Uses encryption and signing on LDAP requests to a DC.]" \
"--login-shell=[Sets pathname of login shell.]" \
"--lookup-domains=[Specifies a list of domains to which user and group lookups are limited.]" \
"--lookup-groups=[Looks up AD groups in other providers before allocating a GID.]" \
"--lookup-normalize-groups=[Normalizes AD group names to lowercase before lookup.]" \
"--lookup-normalize-users=[Normalize AD user names to lowercase before lookup.]" \
"--lookup-users=[Looks up AD users in other providers before allocating a UID.]" \
"--machine-password-changes=[Enables periodic changes of machine password for security.]" \
"--machine-password-lifespan=[Sets maximum age of the machine account password.]" \
"--node-dc-affinity=[Specifies the domain contoller to which the node should affinitize]" \
"--node-dc-affinity-timeout=[Specifies the timeout for the local node affinity to a domain controller]" \
"--nss-enumeration=[Enables the Active Directory provider to respond to getpwent and getgrent requests.]" \
"--organizational-unit=[Specifies organizational unit.]" \
"--password=[Sets password used during domain join.]" \
"--sfu-support=[Specifies whether to support RFC 2307 attributes for Windows domain controllers.]" \
"--store-sfu-mappings=[Stores SFU mappings permanently in the ID mapper.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_ads_view] )) ||
_isi_auth_ads_view() {
_arguments \
"--provider-name=[Specifies Active Directory provider name.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_ads_list] )) ||
_isi_auth_ads_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display providers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of providers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_ads_modify] )) ||
_isi_auth_ads_modify() {
_arguments \
"--provider-name=[Specifies Active Directory provider name.]" \
"--add-ignored-trusted-domains=[Add items to list of ignored trusted domains.]" \
"--add-include-trusted-domains=[Add items to list of included trusted domains.]" \
"--add-lookup-domains=[Add items to list of lookup domains.]" \
"--allocate-gids=[Enables allocation of automatic GIDs for unmapped AD groups.]" \
"--allocate-uids=[Enables allocation of automatic UIDs for unmapped AD users.]" \
"--assume-default-domain=[Enables lookup of unqualified user names in the primary domain.]" \
"--cache-entry-expiry=[Specifies duration of time to cache a user/group.]" \
"--check-online-interval=[Specifies duration between provider online checks.]" \
"--clear-ignored-trusted-domains[Clear list of ignored trusted domains.]" \
"--clear-include-trusted-domains[Clear list of included trusted domains.]" \
"--clear-lookup-domains[Clear list of lookup domains.]" \
"--create-home-directory=[Automatically create user home directory on first login.]" \
"--domain-controller=[Specifies a preferred domain controller to which the authentication service should send requests.]" \
"--domain-offline-alerts=[Send an alert if the domain goes offline.]" \
"--home-directory-template=[Specifies a template path used when creating user home directories.]" \
"--ignore-all-trusts=[Ignores all trusted domains.]" \
"--ignored-trusted-domains=[Specifies list of trusted domains to ignore.]" \
"--include-trusted-domains=[Specifies list of trusted domains to include when --ignore-all-trusts is true.]" \
"--ldap-sign-and-seal=[Uses encryption and signing on LDAP requests to a DC.]" \
"--login-shell=[Sets pathname of login shell.]" \
"--lookup-domains=[Specifies a list of domains to which user and group lookups are limited.]" \
"--lookup-groups=[Looks up AD groups in other providers before allocating a GID.]" \
"--lookup-normalize-groups=[Normalizes AD group names to lowercase before lookup.]" \
"--lookup-normalize-users=[Normalize AD user names to lowercase before lookup.]" \
"--lookup-users=[Looks up AD users in other providers before allocating a UID.]" \
"--machine-password-changes=[Enables periodic changes of machine password for security.]" \
"--machine-password-lifespan=[Sets maximum age of the machine account password.]" \
"--node-dc-affinity=[Specifies the domain contoller to which the node should affinitize]" \
"--node-dc-affinity-timeout=[Specifies the timeout for the local node affinity to a domain controller]" \
"--nss-enumeration=[Enables the Active Directory provider to respond to getpwent and getgrent requests.]" \
"--remove-ignored-trusted-domains=[Remove items from list of ignored trusted domains.]" \
"--remove-include-trusted-domains=[Remove items from list of included trusted domains.]" \
"--remove-lookup-domains=[Remove items from list of lookup domains.]" \
"--reset-schannel=[Resets the secure channel to the primary domain.]" \
"--sfu-support=[Specifies whether to support RFC 2307 attributes for Windows domain controllers.]" \
"--store-sfu-mappings=[Stores SFU mappings permanently in the ID mapper.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_ads_delete] )) ||
_isi_auth_ads_delete() {
_arguments \
"--provider-name=[Specifies Active Directory provider name.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_file] )) ||
_isi_auth_file() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ create view list modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-file-create:"
      _isi_auth_file_create
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-file-view:"
      _isi_auth_file_view
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-file-list:"
      _isi_auth_file_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-file-modify:"
      _isi_auth_file_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-file-delete:"
      _isi_auth_file_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_file_create] )) ||
_isi_auth_file_create() {
_arguments \
"--name=[Specifies file provider name.]" \
"--authentication=[Enables use of provider for authentication as well as identity.]" \
"--cache-entry-expiry=[Specifies duration of time to cache a user/group.]" \
"--create-home-directory=[Automatically create user home directory on first login.]" \
"--enabled=[Enables the file provider.]" \
"--enumerate-groups=[Enables provider to enumerate groups.]" \
"--enumerate-users=[Enables provider to enumerate users.]" \
"--findable-groups=[Specifies a list of groups in this provider that can be resolved.]" \
"--findable-users=[Specifies a list of users in this provider that can be resolved.]" \
"--group-domain=[Domain used to qualify groups for this provider. Default is FILE_GROUPS.]" \
"--group-file=[Specifies groups replacement file.]" \
"--home-directory-template=[Specifies a template path used when creating user home directories.]" \
"--listable-groups=[Specifies a list of groups in this provider that can be viewed.]" \
"--listable-users=[Specifies a list of users in this provider that can be viewed.]" \
"--login-shell=[Sets pathname of login shell.]" \
"--modifiable-groups=[Specifies a list of groups in this provider that can be modified.]" \
"--modifiable-users=[Specifies a list of users in this provider that can be modified.]" \
"--netgroup-file=[Path to a netgroups replacement file.]" \
"--normalize-groups=[Normalizes group name to lowercase before lookup.]" \
"--normalize-users=[Normalizes user name to lowercase before lookup.]" \
"--ntlm-support=[For users with NTLM-compatible credentials, specify what NTLM versions to support.]" \
"--password-file=[Path to a passwd.db replacement file.]" \
"--provider-domain=[Domain used to qualify user and group names for this provider.]" \
"--restrict-findable=[Check the provider for filtered lists of findable and unfindable users and groups.]" \
"--restrict-listable=[Check the provider for filtered lists of listable and unlistable users and groups.]" \
"--restrict-modifiable=[Check the provider for filtered lists of modifiable and unmodifiable users and groups.]" \
"--unfindable-groups=[Specifies a list of groups that cannot be resolved by this provider.]" \
"--unfindable-users=[Specifies a list of users that cannot be resolved by this provider.]" \
"--unlistable-groups=[Specifies a list of groups in this provider that cannot be viewed.]" \
"--unlistable-users=[Specifies a list of users in this provider that cannot be viewed.]" \
"--unmodifiable-groups=[Specifies a list of groups in this provider that cannot be modified.]" \
"--unmodifiable-users=[Specifies a list of users in this provider that cannot be modified.]" \
"--user-domain=[Domain used to qualify users for this provider. Default is FILE_USERS.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_file_view] )) ||
_isi_auth_file_view() {
_arguments \
"--provider-name=[Specifies file provider name.]" \
}
(( $+functions[_isi_auth_file_list] )) ||
_isi_auth_file_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display providers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of providers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_file_modify] )) ||
_isi_auth_file_modify() {
_arguments \
"--provider-name=[Specifies file provider name.]" \
"--add-findable-groups=[Add items to list of findable groups.]" \
"--add-findable-users=[Add items to list of findable users.]" \
"--add-listable-groups=[Add items to list of viewable groups.]" \
"--add-listable-users=[Add items to list of viewable users.]" \
"--add-modifiable-groups=[Add items to list of modifiable groups.]" \
"--add-modifiable-users=[Add items to list of modifiable users.]" \
"--add-unfindable-groups=[Add items to  list of unfindable groups.]" \
"--add-unfindable-users=[Add items to list of unfindable users]" \
"--add-unlistable-groups=[Add items to list of unviewable groups.]" \
"--add-unlistable-users=[Add items to list of unviewable users.]" \
"--add-unmodifiable-groups=[Add items to list of unmodifiable groups]" \
"--add-unmodifiable-users=[Add items to list of unmodifiable users]" \
"--authentication=[Enables use of provider for authentication as well as identity.]" \
"--cache-entry-expiry=[Specifies duration of time to cache a user/group.]" \
"--clear-findable-groups[Clear list of findable groups.]" \
"--clear-findable-users[Clear list of findable users.]" \
"--clear-listable-groups[Clear list of viewable groups.]" \
"--clear-listable-users[Clear list of viewable users.]" \
"--clear-modifiable-groups[Clear list of modifiable groups.]" \
"--clear-modifiable-users[Clear list of modifiable users.]" \
"--clear-unfindable-groups[Clear  list of unfindable groups.]" \
"--clear-unfindable-users[Clear list of unfindable users]" \
"--clear-unlistable-groups[Clear list of unviewable groups.]" \
"--clear-unlistable-users[Clear list of unviewable users.]" \
"--clear-unmodifiable-groups[Clear list of unmodifiable groups]" \
"--clear-unmodifiable-users[Clear list of unmodifiable users]" \
"--create-home-directory=[Automatically create user home directory on first login.]" \
"--enabled=[Enables the file provider.]" \
"--enumerate-groups=[Enables provider to enumerate groups.]" \
"--enumerate-users=[Enables provider to enumerate users.]" \
"--findable-groups=[Specifies a list of groups in this provider that can be resolved.]" \
"--findable-users=[Specifies a list of users in this provider that can be resolved.]" \
"--group-domain=[Domain used to qualify groups for this provider. Default is FILE_GROUPS.]" \
"--group-file=[Specifies groups replacement file.]" \
"--home-directory-template=[Specifies a template path used when creating user home directories.]" \
"--listable-groups=[Specifies a list of groups in this provider that can be viewed.]" \
"--listable-users=[Specifies a list of users in this provider that can be viewed.]" \
"--login-shell=[Sets pathname of login shell.]" \
"--modifiable-groups=[Specifies a list of groups in this provider that can be modified.]" \
"--modifiable-users=[Specifies a list of users in this provider that can be modified.]" \
"--netgroup-file=[Path to a netgroups replacement file.]" \
"--normalize-groups=[Normalizes group name to lowercase before lookup.]" \
"--normalize-users=[Normalizes user name to lowercase before lookup.]" \
"--ntlm-support=[For users with NTLM-compatible credentials, specify what NTLM versions to support.]" \
"--password-file=[Path to a passwd.db replacement file.]" \
"--provider=[Specifies an authentication provider of the format 'type:instance'.  Valid provider types are 'ads', 'ldap', 'nis', 'file' and 'local'.  For example, an LDAP provider named 'auth1' can be specified as 'ldap:auth1'.]" \
"--provider-domain=[Domain used to qualify user and group names for this provider.]" \
"--remove-findable-groups=[Remove items from list of findable groups.]" \
"--remove-findable-users=[Remove items from list of findable users.]" \
"--remove-listable-groups=[Remove items from list of viewable groups.]" \
"--remove-listable-users=[Remove items from list of viewable users.]" \
"--remove-modifiable-groups=[Remove items from list of modifiable groups.]" \
"--remove-modifiable-users=[Remove items from list of modifiable users.]" \
"--remove-unfindable-groups=[Remove items from  list of unfindable groups.]" \
"--remove-unfindable-users=[Remove items from list of unfindable users]" \
"--remove-unlistable-groups=[Remove items from list of unviewable groups.]" \
"--remove-unlistable-users=[Remove items from list of unviewable users.]" \
"--remove-unmodifiable-groups=[Remove items from list of unmodifiable groups]" \
"--remove-unmodifiable-users=[Remove items from list of unmodifiable users]" \
"--restrict-findable=[Check the provider for filtered lists of findable and unfindable users and groups.]" \
"--restrict-listable=[Check the provider for filtered lists of listable and unlistable users and groups.]" \
"--restrict-modifiable=[Check the provider for filtered lists of modifiable and unmodifiable users and groups.]" \
"--unfindable-groups=[Specifies a list of groups that cannot be resolved by this provider.]" \
"--unfindable-users=[Specifies a list of users that cannot be resolved by this provider.]" \
"--unlistable-groups=[Specifies a list of groups in this provider that cannot be viewed.]" \
"--unlistable-users=[Specifies a list of users in this provider that cannot be viewed.]" \
"--unmodifiable-groups=[Specifies a list of groups in this provider that cannot be modified.]" \
"--unmodifiable-users=[Specifies a list of users in this provider that cannot be modified.]" \
"--user-domain=[Domain used to qualify users for this provider. Default is FILE_USERS.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_file_delete] )) ||
_isi_auth_file_delete() {
_arguments \
"--provider-name=[Specifies file provider name.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_ldap] )) ||
_isi_auth_ldap() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ create view list modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ldap-create:"
      _isi_auth_ldap_create
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ldap-view:"
      _isi_auth_ldap_view
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ldap-list:"
      _isi_auth_ldap_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ldap-modify:"
      _isi_auth_ldap_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-ldap-delete:"
      _isi_auth_ldap_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_ldap_create] )) ||
_isi_auth_ldap_create() {
_arguments \
"--name=[Specifies the name of the new LDAP provider.]" \
"--alternate-security-identities-attribute=[Specifies attribute name used when searching for alternate security identities.]" \
"--authentication=[Enables use of provider for authentication as well as identity.]" \
"--balance-servers=[Makes provider connect to a random server on each request.]" \
"--base-dn=[Sets root of tree in which to search for identities.]" \
"--bind-dn=[Sets distinguished name used when binding to LDAP server.]" \
"--bind-password=[Sets password for distinguished name used when binding to the LDAP server.]" \
"--bind-timeout=[Sets timeout in seconds when binding to LDAP server.]" \
"--cache-entry-expiry=[Specifies duration of time to cache a user/group.]" \
"--certificate-authority-file=[Sets path to root certificates file.]" \
"--check-online-interval=[Specifies duration between provider online checks.]" \
"--cn-attribute=[Specifies attribute name used when searching for canonical name.]" \
"--create-home-directory=[Automatically create user home directory on first login.]" \
"--crypt-password-attribute=[Sets attribute name used when searching for hashed password value.]" \
"--email-attribute=[Sets attribute name used when searching for the LDAP Email.]" \
"--enabled=[Enables the LDAP provider.]" \
"--enumerate-groups=[Enables provider to enumerate groups.]" \
"--enumerate-users=[Enables provider to enumerate users.]" \
"--findable-groups=[Specifies a list of groups in this provider that can be resolved.]" \
"--findable-users=[Specifies a list of users in this provider that can be resolved.]" \
"--gecos-attribute=[Sets the attribute name used when searching for GECOS data.]" \
"--gid-attribute=[Sets the attribute name used when searching for LDAP GID.]" \
"--group-base-dn=[Sets distinguished name of the entry at which to start LDAP searches for groups.]" \
"--group-domain=[Domain used to qualify groups for this provider. Default is LDAP_GROUPS.]" \
"--group-filter=[Sets LDAP filter for group objects.]" \
"--group-members-attribute=[Sets the attribute name used when searching for Group Members.]" \
"--group-search-scope=[Defines the depth from the base DN to perform LDAP searches for groups.]" \
"--home-directory-template=[Specifies a template path used when creating user home directories.]" \
"--homedir-attribute=[Sets the attribute name used when searching for Home Directory.]" \
"--ignore-tls-errors=[Continues over secure connection even if identity checks fail.]" \
"--listable-groups=[Specifies a list of groups in this provider that can be viewed.]" \
"--listable-users=[Specifies a list of users in this provider that can be viewed.]" \
"--login-shell=[Sets pathname of login shell.]" \
"--member-of-attribute=[Sets the attribute name used when searching reverse memberships in LDAP.]" \
"--name-attribute=[Sets the attribute name used when searching for UID, which is used as the login name.]" \
"--netgroup-base-dn=[Sets distinguished name of the entry at which to start the LDAP search for netgroups.]" \
"--netgroup-filter=[Sets LDAP filter for netgroup objects.]" \
"--netgroup-members-attribute=[Sets the attribute name used when searching for Netgroup Members.]" \
"--netgroup-search-scope=[Defines the depth from the base DN to perform LDAP searches for netgroups.]" \
"--netgroup-triple-attribute=[Sets the attribute name used when searching for Netgroup Triple.]" \
"--normalize-groups=[Normalizes group name to lowercase before lookup.]" \
"--normalize-users=[Normalizes user name to lowercase before lookup.]" \
"--nt-password-attribute=[Sets the attribute name used when searching for NT Password.]" \
"--ntlm-support=[For users with NTLM-compatible credentials, specify what NTLM versions to support.]" \
"--provider-domain=[Domain used to qualify user and group names for this provider.]" \
"--require-secure-connection=[Specifies whether to continue over non-TLS connection.]" \
"--restrict-findable=[Check the provider for filtered lists of findable and unfindable users and groups.]" \
"--restrict-listable=[Check the provider for filtered lists of listable and unlistable users and groups.]" \
"--search-scope=[Defines the default depth from the base DN to perform LDAP searches.]" \
"--search-timeout=[Sets search timeout period in seconds.]" \
"--server-uris=[Specifies a list of LDAP server URIs to use when accessing the LDAP server.]" \
"--shell-attribute=[Sets the attribute name used when searching for the user's shell.]" \
"--uid-attribute=[Sets the attribute name used when searching for LDAP UID Number.]" \
"--unfindable-groups=[Specifies a list of groups that cannot be resolved by this provider.]" \
"--unfindable-users=[Specifies a list of users that cannot be resolved by this provider.]" \
"--unique-group-members-attribute=[Sets the attribute name used when searching for Unique Group Members.]" \
"--unlistable-groups=[Specifies a list of groups in this provider that cannot be viewed.]" \
"--unlistable-users=[Specifies a list of users in this provider that cannot be viewed.]" \
"--user-base-dn=[Sets distinguished name of the entry at which to start LDAP searches for users.]" \
"--user-domain=[Domain used to qualify users for this provider. Default is LDAP_USERS.]" \
"--user-filter=[Sets LDAP filter for user objects.]" \
"--user-search-scope=[Defines the depth from the base DN to perform LDAP searches for users.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_ldap_view] )) ||
_isi_auth_ldap_view() {
_arguments \
"--provider-name=[Specifies the LDAP provider name.]" \
}
(( $+functions[_isi_auth_ldap_list] )) ||
_isi_auth_ldap_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display providers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of providers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_ldap_modify] )) ||
_isi_auth_ldap_modify() {
_arguments \
"--provider-name=[Specifies the LDAP provider name.]" \
"--add-findable-groups=[Add items to list of findable groups.]" \
"--add-findable-users=[Add items to list of findable users.]" \
"--add-listable-groups=[Add items to list of viewable groups.]" \
"--add-listable-users=[Add items to list of viewable users.]" \
"--add-server-uris=[Add items to list of LDAP server URIs.]" \
"--add-unfindable-groups=[Add items to  list of unfindable groups.]" \
"--add-unfindable-users=[Add items to list of unfindable users]" \
"--add-unlistable-groups=[Add items to list of unviewable groups.]" \
"--add-unlistable-users=[Add items to list of unviewable users.]" \
"--alternate-security-identities-attribute=[Specifies attribute name used when searching for alternate security identities.]" \
"--authentication=[Enables use of provider for authentication as well as identity.]" \
"--balance-servers=[Makes provider connect to a random server on each request.]" \
"--base-dn=[Sets root of tree in which to search for identities.]" \
"--bind-dn=[Sets distinguished name used when binding to LDAP server.]" \
"--bind-password=[Sets password for distinguished name used when binding to the LDAP server.]" \
"--bind-timeout=[Sets timeout in seconds when binding to LDAP server.]" \
"--cache-entry-expiry=[Specifies duration of time to cache a user/group.]" \
"--certificate-authority-file=[Sets path to root certificates file.]" \
"--check-online-interval=[Specifies duration between provider online checks.]" \
"--clear-findable-groups[Clear list of findable groups.]" \
"--clear-findable-users[Clear list of findable users.]" \
"--clear-listable-groups[Clear list of viewable groups.]" \
"--clear-listable-users[Clear list of viewable users.]" \
"--clear-server-uris[Clear list of LDAP server URIs.]" \
"--clear-unfindable-groups[Clear  list of unfindable groups.]" \
"--clear-unfindable-users[Clear list of unfindable users]" \
"--clear-unlistable-groups[Clear list of unviewable groups.]" \
"--clear-unlistable-users[Clear list of unviewable users.]" \
"--cn-attribute=[Specifies attribute name used when searching for canonical name.]" \
"--create-home-directory=[Automatically create user home directory on first login.]" \
"--crypt-password-attribute=[Sets attribute name used when searching for hashed password value.]" \
"--email-attribute=[Sets attribute name used when searching for the LDAP Email.]" \
"--enabled=[Enables the LDAP provider.]" \
"--enumerate-groups=[Enables provider to enumerate groups.]" \
"--enumerate-users=[Enables provider to enumerate users.]" \
"--findable-groups=[Specifies a list of groups in this provider that can be resolved.]" \
"--findable-users=[Specifies a list of users in this provider that can be resolved.]" \
"--gecos-attribute=[Sets the attribute name used when searching for GECOS data.]" \
"--gid-attribute=[Sets the attribute name used when searching for LDAP GID.]" \
"--group-base-dn=[Sets distinguished name of the entry at which to start LDAP searches for groups.]" \
"--group-domain=[Domain used to qualify groups for this provider. Default is LDAP_GROUPS.]" \
"--group-filter=[Sets LDAP filter for group objects.]" \
"--group-members-attribute=[Sets the attribute name used when searching for Group Members.]" \
"--group-search-scope=[Defines the depth from the base DN to perform LDAP searches for groups.]" \
"--home-directory-template=[Specifies a template path used when creating user home directories.]" \
"--homedir-attribute=[Sets the attribute name used when searching for Home Directory.]" \
"--ignore-tls-errors=[Continues over secure connection even if identity checks fail.]" \
"--listable-groups=[Specifies a list of groups in this provider that can be viewed.]" \
"--listable-users=[Specifies a list of users in this provider that can be viewed.]" \
"--login-shell=[Sets pathname of login shell.]" \
"--member-of-attribute=[Sets the attribute name used when searching reverse memberships in LDAP.]" \
"--name-attribute=[Sets the attribute name used when searching for UID, which is used as the login name.]" \
"--netgroup-base-dn=[Sets distinguished name of the entry at which to start the LDAP search for netgroups.]" \
"--netgroup-filter=[Sets LDAP filter for netgroup objects.]" \
"--netgroup-members-attribute=[Sets the attribute name used when searching for Netgroup Members.]" \
"--netgroup-search-scope=[Defines the depth from the base DN to perform LDAP searches for netgroups.]" \
"--netgroup-triple-attribute=[Sets the attribute name used when searching for Netgroup Triple.]" \
"--normalize-groups=[Normalizes group name to lowercase before lookup.]" \
"--normalize-users=[Normalizes user name to lowercase before lookup.]" \
"--nt-password-attribute=[Sets the attribute name used when searching for NT Password.]" \
"--ntlm-support=[For users with NTLM-compatible credentials, specify what NTLM versions to support.]" \
"--provider-domain=[Domain used to qualify user and group names for this provider.]" \
"--remove-findable-groups=[Remove items from list of findable groups.]" \
"--remove-findable-users=[Remove items from list of findable users.]" \
"--remove-listable-groups=[Remove items from list of viewable groups.]" \
"--remove-listable-users=[Remove items from list of viewable users.]" \
"--remove-server-uris=[Remove items from list of LDAP server URIs.]" \
"--remove-unfindable-groups=[Remove items from  list of unfindable groups.]" \
"--remove-unfindable-users=[Remove items from list of unfindable users]" \
"--remove-unlistable-groups=[Remove items from list of unviewable groups.]" \
"--remove-unlistable-users=[Remove items from list of unviewable users.]" \
"--require-secure-connection=[Specifies whether to continue over non-TLS connection.]" \
"--restrict-findable=[Check the provider for filtered lists of findable and unfindable users and groups.]" \
"--restrict-listable=[Check the provider for filtered lists of listable and unlistable users and groups.]" \
"--search-scope=[Defines the default depth from the base DN to perform LDAP searches.]" \
"--search-timeout=[Sets search timeout period in seconds.]" \
"--server-uris=[Specifies a list of LDAP server URIs to use when accessing the LDAP server.]" \
"--shell-attribute=[Sets the attribute name used when searching for the user's shell.]" \
"--uid-attribute=[Sets the attribute name used when searching for LDAP UID Number.]" \
"--unfindable-groups=[Specifies a list of groups that cannot be resolved by this provider.]" \
"--unfindable-users=[Specifies a list of users that cannot be resolved by this provider.]" \
"--unique-group-members-attribute=[Sets the attribute name used when searching for Unique Group Members.]" \
"--unlistable-groups=[Specifies a list of groups in this provider that cannot be viewed.]" \
"--unlistable-users=[Specifies a list of users in this provider that cannot be viewed.]" \
"--user-base-dn=[Sets distinguished name of the entry at which to start LDAP searches for users.]" \
"--user-domain=[Domain used to qualify users for this provider. Default is LDAP_USERS.]" \
"--user-filter=[Sets LDAP filter for user objects.]" \
"--user-search-scope=[Defines the depth from the base DN to perform LDAP searches for users.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_ldap_delete] )) ||
_isi_auth_ldap_delete() {
_arguments \
"--provider-name=[Specifies the LDAP provider name.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_local] )) ||
_isi_auth_local() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view list modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-local-view:"
      _isi_auth_local_view
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-local-list:"
      _isi_auth_local_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-local-modify:"
      _isi_auth_local_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_local_view] )) ||
_isi_auth_local_view() {
_arguments \
"--provider-name=[Specifies local provider name.]" \
}
(( $+functions[_isi_auth_local_list] )) ||
_isi_auth_local_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display providers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of providers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_local_modify] )) ||
_isi_auth_local_modify() {
_arguments \
"--provider-name=[Specifies local provider name.]" \
"--add-password-complexity=[Add items to list of parameters against which to validate new passwords]" \
"--authentication=[Enables use of provider for authentication as well as identity.]" \
"--clear-password-complexity[Clear list of parameters against which to validate new passwords]" \
"--create-home-directory=[Automatically create user home directory on first login.]" \
"--home-directory-template=[Specifies a template path used when creating user home directories.]" \
"--lockout-duration=[Sets duration of time that an account will be inaccessible after multiple failed login attempts.]" \
"--lockout-threshold=[Sets the number of failed login attempts necessary for an account to be locked out.]" \
"--lockout-window=[Sets the duration of time in which --lockout-threshold failed attempts must be made for an account to be locked out.]" \
"--login-shell=[Sets pathname of login shell.]" \
"--machine-name=[Specifies domain used to qualify user and group names for this provider.]" \
"--max-password-age=[Sets maximum password age.]" \
"--min-password-age=[Sets minimum password age.]" \
"--min-password-length=[Sets minimum password length.]" \
"--password-complexity=[Parameters against which to validate new passwords]" \
"--password-history-length=[Number of previous passwords stored]" \
"--password-prompt-time=[Specifies duration of time remaining before prompting user for password change.]" \
"--remove-password-complexity=[Remove items from list of parameters against which to validate new passwords]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5] )) ||
_isi_auth_krb5() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ realm domain spn create delete list view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == realm ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-realm:"
      _isi_auth_krb5_realm
    elif [[ $cmd == domain ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-domain:"
      _isi_auth_krb5_domain
    elif [[ $cmd == spn ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-spn:"
      _isi_auth_krb5_spn
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-create:"
      _isi_auth_krb5_create
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-delete:"
      _isi_auth_krb5_delete
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-list:"
      _isi_auth_krb5_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-view:"
      _isi_auth_krb5_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_krb5_realm] )) ||
_isi_auth_krb5_realm() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ create list view modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-realm-create:"
      _isi_auth_krb5_realm_create
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-realm-list:"
      _isi_auth_krb5_realm_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-realm-view:"
      _isi_auth_krb5_realm_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-realm-modify:"
      _isi_auth_krb5_realm_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-realm-delete:"
      _isi_auth_krb5_realm_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_krb5_realm_create] )) ||
_isi_auth_krb5_realm_create() {
_arguments \
"--realm=[Name of the realm.]" \
"--admin-server=[Administrative server (master KDC) hostname/IP.]" \
"--default-domain=[Default domain for this realm, used for translating v4 principal names]" \
"--is-default-realm=[Specifies whether realm will be treated as the default]" \
"--kdc=[Kdc hostname/IP.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_realm_list] )) ||
_isi_auth_krb5_realm_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display providers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of providers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_realm_view] )) ||
_isi_auth_krb5_realm_view() {
_arguments \
"--realm=[Specifies realm name]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_realm_modify] )) ||
_isi_auth_krb5_realm_modify() {
_arguments \
"--realm=[Specifies realm name]" \
"--admin-server=[Administrative server (master KDC) hostname/IP.]" \
"--default-domain=[Default domain for this realm, used for translating v4 principal names]" \
"--is-default-realm=[Specifies whether realm will be treated as the default]" \
"--kdc=[Kdc hostname/IP.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_realm_delete] )) ||
_isi_auth_krb5_realm_delete() {
_arguments \
"--realm=[Specifies realm name]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_domain] )) ||
_isi_auth_krb5_domain() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ create delete list modify view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-domain-create:"
      _isi_auth_krb5_domain_create
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-domain-delete:"
      _isi_auth_krb5_domain_delete
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-domain-list:"
      _isi_auth_krb5_domain_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-domain-modify:"
      _isi_auth_krb5_domain_modify
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-domain-view:"
      _isi_auth_krb5_domain_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_krb5_domain_create] )) ||
_isi_auth_krb5_domain_create() {
_arguments \
"--domain=[Name of the domain.]" \
"--realm=[Name of the realm.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_domain_delete] )) ||
_isi_auth_krb5_domain_delete() {
_arguments \
"--domain=[Name of the domain.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_domain_list] )) ||
_isi_auth_krb5_domain_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display providers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of providers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_domain_modify] )) ||
_isi_auth_krb5_domain_modify() {
_arguments \
"--domain=[Name of the domain.]" \
"--realm=[Name of the realm.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_domain_view] )) ||
_isi_auth_krb5_domain_view() {
_arguments \
"--domain=[Name of the domain.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_spn] )) ||
_isi_auth_krb5_spn() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ create check fix list delete import}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-spn-create:"
      _isi_auth_krb5_spn_create
    elif [[ $cmd == check ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-spn-check:"
      _isi_auth_krb5_spn_check
    elif [[ $cmd == fix ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-spn-fix:"
      _isi_auth_krb5_spn_fix
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-spn-list:"
      _isi_auth_krb5_spn_list
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-spn-delete:"
      _isi_auth_krb5_spn_delete
    elif [[ $cmd == import ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-krb5-spn-import:"
      _isi_auth_krb5_spn_import
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_krb5_spn_create] )) ||
_isi_auth_krb5_spn_create() {
_arguments \
"--provider-name=[Specifies the Kerberos provider name.]" \
"--spn=[Specifies the service principal name.]" \
"--user=[Specifies a user name with permission to create SPNs in the given Kerberos realm.]" \
"--password=[Specifies password used during realm modification.]" \
}
(( $+functions[_isi_auth_krb5_spn_check] )) ||
_isi_auth_krb5_spn_check() {
_arguments \
"--provider-name=[Specifies the Kerberos provider name.]" \
}
(( $+functions[_isi_auth_krb5_spn_fix] )) ||
_isi_auth_krb5_spn_fix() {
_arguments \
"--user=[Specifies a user name with permission to join machines to the given domain.]" \
"--provider-name=[Specifies the Kerberos provider name.]" \
"--force[Do not ask confirmation.]" \
"--password=[Specifies password used during realm modification.]" \
}
(( $+functions[_isi_auth_krb5_spn_list] )) ||
_isi_auth_krb5_spn_list() {
_arguments \
"--provider-name=[Specifies the Kerberos provider name.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display providers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of providers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_spn_delete] )) ||
_isi_auth_krb5_spn_delete() {
_arguments \
"--provider-name=[Specifies the Kerberos provider name.]" \
"--spn=[Specifies the service principal name.]" \
"--kvno=[Key version number.]" \
"--all[Delete all key versions.]" \
}
(( $+functions[_isi_auth_krb5_spn_import] )) ||
_isi_auth_krb5_spn_import() {
_arguments \
"--provider-name=[Specifies the Kerberos provider name.]" \
"--keytab-file=[Specifies keytab file to import.]" \
}
(( $+functions[_isi_auth_krb5_create] )) ||
_isi_auth_krb5_create() {
_arguments \
"--realm=[Name of the realm.]" \
"--user=[Specifies a user name with permission to create SPNs in the given Kerberos realm.]" \
"--keytab-file=[Specifies keytab file to import.]" \
"--admin-server=[Administrative server (master KDC) hostname/IP.]" \
"--default-domain=[Default domain for this realm, used for translating v4 principal names]" \
"--is-default-realm=[Specifies whether realm will be treated as the default]" \
"--kdc=[Kdc hostname/IP.]" \
"--password=[Specifies password used during realm join.]" \
"--spn=[Service principal name to register.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_delete] )) ||
_isi_auth_krb5_delete() {
_arguments \
"--provider-name=[Specifies the Kerberos provider name.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_list] )) ||
_isi_auth_krb5_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display providers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of providers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_krb5_view] )) ||
_isi_auth_krb5_view() {
_arguments \
"--provider-name=[Specifies the Kerberos provider name.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_nis] )) ||
_isi_auth_nis() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ create view list modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-nis-create:"
      _isi_auth_nis_create
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-nis-view:"
      _isi_auth_nis_view
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-nis-list:"
      _isi_auth_nis_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-nis-modify:"
      _isi_auth_nis_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-nis-delete:"
      _isi_auth_nis_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_nis_create] )) ||
_isi_auth_nis_create() {
_arguments \
"--name=[Specifies NIS provider name.]" \
"--authentication=[Enables use of provider for authentication as well as identity.]" \
"--balance-servers=[Makes provider connect to a random server on each request.]" \
"--cache-entry-expiry=[Specifies duration of time to cache a user/group.]" \
"--check-online-interval=[Specifies duration between provider online checks.]" \
"--create-home-directory=[Automatically create user home directory on first login.]" \
"--enabled=[Enables NIS provider.]" \
"--enumerate-groups=[Enables provider to enumerate groups.]" \
"--enumerate-users=[Enables provider to enumerate users.]" \
"--findable-groups=[Specifies a list of groups in this provider that can be resolved.]" \
"--findable-users=[Specifies a list of users in this provider that can be resolved.]" \
"--group-domain=[Domain used to qualify groups for this provider. Default is NIS_GROUPS.]" \
"--home-directory-template=[Specifies a template path used when creating user home directories.]" \
"--hostname-lookup=[Enables host name lookups. This option is ignored if --provider-hostname-lookup is set to 'disabled'.]" \
"--listable-groups=[Specifies a list of groups in this provider that can be viewed.]" \
"--listable-users=[Specifies a list of users in this provider that can be viewed.]" \
"--login-shell=[Sets pathname of login shell.]" \
"--nis-domain=[Specifies NIS domain name.]" \
"--normalize-groups=[Normalizes group name to lowercase before lookup.]" \
"--normalize-users=[Normalizes user name to lowercase before lookup.]" \
"--ntlm-support=[For users with NTLM-compatible credentials, specify what NTLM versions to support.]" \
"--provider-domain=[Domain used to qualify user and group names for this provider.]" \
"--request-timeout=[Specifies the request timeout interval in seconds.]" \
"--restrict-findable=[Check the provider for filtered lists of findable and unfindable users and groups.]" \
"--restrict-listable=[Check the provider for filtered lists of listable and unlistable users and groups.]" \
"--retry-time=[Sets timeout period in seconds after which a request will be retried.]" \
"--servers=[Specifies a list of NIS servers to be used by this provider.]" \
"--unfindable-groups=[Specifies a list of groups that cannot be resolved by this provider.]" \
"--unfindable-users=[Specifies a list of users that cannot be resolved by this provider.]" \
"--unlistable-groups=[Specifies a list of groups in this provider that cannot be viewed.]" \
"--unlistable-users=[Specifies a list of users in this provider that cannot be viewed.]" \
"--user-domain=[Domain used to qualify users for this provider. Default is NIS_USERS.]" \
"--verbose[Display more detailed information.]" \
"--ypmatch-using-tcp=[Uses TCP for YP Match operations.]" \
}
(( $+functions[_isi_auth_nis_view] )) ||
_isi_auth_nis_view() {
_arguments \
"--provider-name=[Specifies NIS provider name.]" \
}
(( $+functions[_isi_auth_nis_list] )) ||
_isi_auth_nis_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display providers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of providers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_nis_modify] )) ||
_isi_auth_nis_modify() {
_arguments \
"--provider-name=[Specifies NIS provider name.]" \
"--add-findable-groups=[Add items to list of findable groups.]" \
"--add-findable-users=[Add items to list of findable users.]" \
"--add-listable-groups=[Add items to list of viewable groups.]" \
"--add-listable-users=[Add items to list of viewable users.]" \
"--add-servers=[Add items to NIS server list.]" \
"--add-unfindable-groups=[Add items to  list of unfindable groups.]" \
"--add-unfindable-users=[Add items to list of unfindable users]" \
"--add-unlistable-groups=[Add items to list of unviewable groups.]" \
"--add-unlistable-users=[Add items to list of unviewable users.]" \
"--authentication=[Enables use of provider for authentication as well as identity.]" \
"--balance-servers=[Makes provider connect to a random server on each request.]" \
"--cache-entry-expiry=[Specifies duration of time to cache a user/group.]" \
"--check-online-interval=[Specifies duration between provider online checks.]" \
"--clear-findable-groups[Clear list of findable groups.]" \
"--clear-findable-users[Clear list of findable users.]" \
"--clear-listable-groups[Clear list of viewable groups.]" \
"--clear-listable-users[Clear list of viewable users.]" \
"--clear-servers[Clear NIS server list.]" \
"--clear-unfindable-groups[Clear  list of unfindable groups.]" \
"--clear-unfindable-users[Clear list of unfindable users]" \
"--clear-unlistable-groups[Clear list of unviewable groups.]" \
"--clear-unlistable-users[Clear list of unviewable users.]" \
"--create-home-directory=[Automatically create user home directory on first login.]" \
"--enabled=[Enables NIS provider.]" \
"--enumerate-groups=[Enables provider to enumerate groups.]" \
"--enumerate-users=[Enables provider to enumerate users.]" \
"--findable-groups=[Specifies a list of groups in this provider that can be resolved.]" \
"--findable-users=[Specifies a list of users in this provider that can be resolved.]" \
"--group-domain=[Domain used to qualify groups for this provider. Default is NIS_GROUPS.]" \
"--home-directory-template=[Specifies a template path used when creating user home directories.]" \
"--hostname-lookup=[Enables host name lookups. This option is ignored if --provider-hostname-lookup is set to 'disabled'.]" \
"--listable-groups=[Specifies a list of groups in this provider that can be viewed.]" \
"--listable-users=[Specifies a list of users in this provider that can be viewed.]" \
"--login-shell=[Sets pathname of login shell.]" \
"--nis-domain=[Specifies NIS domain name.]" \
"--normalize-groups=[Normalizes group name to lowercase before lookup.]" \
"--normalize-users=[Normalizes user name to lowercase before lookup.]" \
"--ntlm-support=[For users with NTLM-compatible credentials, specify what NTLM versions to support.]" \
"--provider-domain=[Domain used to qualify user and group names for this provider.]" \
"--remove-findable-groups=[Remove items from list of findable groups.]" \
"--remove-findable-users=[Remove items from list of findable users.]" \
"--remove-listable-groups=[Remove items from list of viewable groups.]" \
"--remove-listable-users=[Remove items from list of viewable users.]" \
"--remove-servers=[Remove items from NIS server list.]" \
"--remove-unfindable-groups=[Remove items from  list of unfindable groups.]" \
"--remove-unfindable-users=[Remove items from list of unfindable users]" \
"--remove-unlistable-groups=[Remove items from list of unviewable groups.]" \
"--remove-unlistable-users=[Remove items from list of unviewable users.]" \
"--request-timeout=[Specifies the request timeout interval in seconds.]" \
"--restrict-findable=[Check the provider for filtered lists of findable and unfindable users and groups.]" \
"--restrict-listable=[Check the provider for filtered lists of listable and unlistable users and groups.]" \
"--retry-time=[Sets timeout period in seconds after which a request will be retried.]" \
"--servers=[Specifies a list of NIS servers to be used by this provider.]" \
"--unfindable-groups=[Specifies a list of groups that cannot be resolved by this provider.]" \
"--unfindable-users=[Specifies a list of users that cannot be resolved by this provider.]" \
"--unlistable-groups=[Specifies a list of groups in this provider that cannot be viewed.]" \
"--unlistable-users=[Specifies a list of users in this provider that cannot be viewed.]" \
"--user-domain=[Domain used to qualify users for this provider. Default is NIS_USERS.]" \
"--verbose[Display more detailed information.]" \
"--ypmatch-using-tcp=[Uses TCP for YP Match operations.]" \
}
(( $+functions[_isi_auth_nis_delete] )) ||
_isi_auth_nis_delete() {
_arguments \
"--provider-name=[Specifies NIS provider name.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_mapping] )) ||
_isi_auth_mapping() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ create delete flush modify token view import dump}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-mapping-create:"
      _isi_auth_mapping_create
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-mapping-delete:"
      _isi_auth_mapping_delete
    elif [[ $cmd == flush ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-mapping-flush:"
      _isi_auth_mapping_flush
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-mapping-modify:"
      _isi_auth_mapping_modify
    elif [[ $cmd == token ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-mapping-token:"
      _isi_auth_mapping_token
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-auth-mapping-view:"
      _isi_auth_mapping_view
    elif [[ $cmd == import ]]; then
      curcontext="${curcontext%:*:*}:isi_classic-auth-mapping-import:"
      _isi_classic_auth_mapping_import
    elif [[ $cmd == dump ]]; then
      curcontext="${curcontext%:*:*}:isi_classic-auth-mapping-dump:"
      _isi_classic_auth_mapping_dump
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_auth_mapping_create] )) ||
_isi_auth_mapping_create() {
_arguments \
"--source=[Specify mapping source by persona.  A valid persona is of the form 'UID:<uid>', 'GID:<gid>', 'SID:<sid>'.]" \
"--source-uid=[Specify mapping source by UID.]" \
"--source-gid=[Specify mapping source by GID.]" \
"--source-sid=[Specify mapping source by SID.]" \
"--2way[Include reverse mapping as well.]" \
"--gid[Generate/retrieve the mapped GID.]" \
"--on-disk[Target persona should be used to represent the source on disk.]" \
"--sid[Generate/retrieve the mapped SID.]" \
"--target=[Specify mapping target by persona.  A valid persona is of the form 'UID:<uid>', 'GID:<gid>', 'SID:<sid>'.]" \
"--target-gid=[Specify mapping target by GID.]" \
"--target-sid=[Specify mapping target by SID.]" \
"--target-uid=[Specify mapping target by UID.]" \
"--uid[Generate/retrieve the mapped UID.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_auth_mapping_delete] )) ||
_isi_auth_mapping_delete() {
_arguments \
"--source=[Specify mapping source by persona.  A valid persona is of the form 'UID:<uid>', 'GID:<gid>', 'SID:<sid>'.]" \
"--source-uid=[Specify mapping source by UID.]" \
"--source-gid=[Specify mapping source by GID.]" \
"--source-sid=[Specify mapping source by SID.]" \
"--all[Delete all identity mappings in access zone.  Filters --only-external and --only-generated can also be used to restrict group of identity mappings to be deleted.]" \
"--2way[Include reverse mapping as well.]" \
"--force[Do not ask confirmation.]" \
"--only-external[Only delete automatically created identity mappings that include a mapping to a UID or GID from an external authentication source.  Used with --all.]" \
"--only-generated[Only delete automatically created identity mappings that include a generated UID or GID from internal UID/GID range.  Used with --all.]" \
"--target=[Specify mapping target by persona.  A valid persona is of the form 'UID:<uid>', 'GID:<gid>', 'SID:<sid>'.]" \
"--target-gid=[Specify mapping target by GID.]" \
"--target-sid=[Specify mapping target by SID.]" \
"--target-uid=[Specify mapping target by UID.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_auth_mapping_flush] )) ||
_isi_auth_mapping_flush() {
_arguments \
"--all[Flush all mappings.]" \
"--source=[Specify mapping source by persona.  A valid persona is of the form 'UID:<uid>', 'GID:<gid>', 'SID:<sid>'.]" \
"--source-gid=[Specify mapping source by GID.]" \
"--source-sid=[Specify mapping source by SID.]" \
"--source-uid=[Specify mapping source by UID.]" \
"--zone=[Access Zone. A source argument must also be specified to use this option.]" \
}
(( $+functions[_isi_auth_mapping_modify] )) ||
_isi_auth_mapping_modify() {
_arguments \
"--source=[Specify mapping source by persona.  A valid persona is of the form 'UID:<uid>', 'GID:<gid>', 'SID:<sid>'.]" \
"--source-uid=[Specify mapping source by UID.]" \
"--source-gid=[Specify mapping source by GID.]" \
"--source-sid=[Specify mapping source by SID.]" \
"--target=[Specify mapping target by persona.  A valid persona is of the form 'UID:<uid>', 'GID:<gid>', 'SID:<sid>'.]" \
"--target-uid=[Specify mapping target by UID.]" \
"--target-gid=[Specify mapping target by GID.]" \
"--target-sid=[Specify mapping target by SID.]" \
"--2way[Include reverse mapping as well.]" \
"--on-disk[Target persona should be used to represent the source on disk.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_auth_mapping_token] )) ||
_isi_auth_mapping_token() {
_arguments \
"--user=[User name.]" \
"--uid=[Specify user by UID.]" \
"--kerberos-principal=[Specify user by kerberos principal: e.g. 'user@realm.com']" \
"--gid=[Specify token GIDs.]" \
"--primary-gid=[Specify the primary GID.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_auth_mapping_view] )) ||
_isi_auth_mapping_view() {
_arguments \
"--id=[Specify mapping source by persona.  A valid persona is of the form 'UID:<uid>', 'GID:<gid>', 'SID:<sid>'.]" \
"--uid=[Specify mapping source by UID.]" \
"--gid=[Specify mapping source by GID.]" \
"--sid=[Specify mapping source by SID.]" \
"--nocreate[Do not create non-existent mappings.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_auth_privileges] )) ||
_isi_auth_privileges() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display privileges in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_auth_id] )) ||
_isi_auth_id() {
}
(( $+functions[_isi_auth_status] )) ||
_isi_auth_status() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display auths in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of auths to display.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Specifies a zone by name.]" \
}
(( $+functions[_isi_auth_access] )) ||
_isi_auth_access() {
_arguments \
"--user=[A user name.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--path=[Path of the file. Must be within /ifs.]" \
"--numeric[Show user's numeric identifier]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_cloud] )) ||
_isi_cloud() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ accounts pools jobs settings recall archive}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == accounts ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-accounts:"
      _isi_cloud_accounts
    elif [[ $cmd == pools ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-pools:"
      _isi_cloud_pools
    elif [[ $cmd == jobs ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-jobs:"
      _isi_cloud_jobs
    elif [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-settings:"
      _isi_cloud_settings
    elif [[ $cmd == recall ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-recall:"
      _isi_cloud_recall
    elif [[ $cmd == archive ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-archive:"
      _isi_cloud_archive
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_cloud_accounts] )) ||
_isi_cloud_accounts() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-accounts-list:"
      _isi_cloud_accounts_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-accounts-view:"
      _isi_cloud_accounts_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-accounts-create:"
      _isi_cloud_accounts_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-accounts-modify:"
      _isi_cloud_accounts_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-accounts-delete:"
      _isi_cloud_accounts_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_cloud_accounts_list] )) ||
_isi_cloud_accounts_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display cloud accounts in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of cloud accounts to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_accounts_view] )) ||
_isi_cloud_accounts_view() {
_arguments \
"--id=[An ID for a cloud account]" \
}
(( $+functions[_isi_cloud_accounts_create] )) ||
_isi_cloud_accounts_create() {
_arguments \
"--name=[Name of cloud account]" \
"--account-username=[Username for the cloud account]" \
"--key=[Cloud account access key or password]" \
"--uri=[Cloud account URI]" \
"--type=[Type of cloud account. One of 'ran' or 'azure']" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_accounts_modify] )) ||
_isi_cloud_accounts_modify() {
_arguments \
"--id=[An ID for a cloud account]" \
"--account-username=[Username for the cloud account]" \
"--key=[Cloud account access key or password]" \
"--name=[Name of cloud account]" \
"--uri=[Cloud account URI]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_accounts_delete] )) ||
_isi_cloud_accounts_delete() {
_arguments \
"--id=[An ID for a cloud account]" \
"--acknowledge=[Acknowledge account delete]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_pools] )) ||
_isi_cloud_pools() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-pools-list:"
      _isi_cloud_pools_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-pools-view:"
      _isi_cloud_pools_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-pools-create:"
      _isi_cloud_pools_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-pools-modify:"
      _isi_cloud_pools_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-pools-delete:"
      _isi_cloud_pools_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_cloud_pools_list] )) ||
_isi_cloud_pools_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display cloud pools in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of cloud pools to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_pools_view] )) ||
_isi_cloud_pools_view() {
_arguments \
"--id=[An ID for a cloud pool]" \
}
(( $+functions[_isi_cloud_pools_create] )) ||
_isi_cloud_pools_create() {
_arguments \
"--name=[Name for this cloud pool]" \
"--accounts=[Cloud account names to be associated with this pool.]" \
"--type=[Type of this cloud pool (one of ran or azure)]" \
"--description=[Description of this cloud pool]" \
"--vendor=[Name of the vendor for this cloud pool]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_pools_modify] )) ||
_isi_cloud_pools_modify() {
_arguments \
"--id=[An ID for a cloud pool]" \
"--accounts=[Cloud account names to be associated with this pool.]" \
"--add-accounts=[Add cloud account names to be associated with this pool.]" \
"--clear-accounts[Clear value for cloud account names to be associated with this pool.]" \
"--description=[Description of this cloud pool]" \
"--name=[Name for this cloud pool]" \
"--remove-accounts=[Remove cloud account names to be associated with this pool.]" \
"--vendor=[Name of the vendor for this cloud pool]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_pools_delete] )) ||
_isi_cloud_pools_delete() {
_arguments \
"--id=[An ID for a cloud pool]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_jobs] )) ||
_isi_cloud_jobs() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ files list view create cancel pause resume}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == files ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-jobs-files:"
      _isi_cloud_jobs_files
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-jobs-list:"
      _isi_cloud_jobs_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-jobs-view:"
      _isi_cloud_jobs_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-jobs-create:"
      _isi_cloud_jobs_create
    elif [[ $cmd == cancel ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-jobs-cancel:"
      _isi_cloud_jobs_cancel
    elif [[ $cmd == pause ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-jobs-pause:"
      _isi_cloud_jobs_pause
    elif [[ $cmd == resume ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-jobs-resume:"
      _isi_cloud_jobs_resume
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_cloud_jobs_files] )) ||
_isi_cloud_jobs_files() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-jobs-files-list:"
      _isi_cloud_jobs_files_list
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_cloud_jobs_files_list] )) ||
_isi_cloud_jobs_files_list() {
_arguments \
"--job-id=[An ID for a cloud job]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display cloud jobs files in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of cloud jobs files to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_jobs_list] )) ||
_isi_cloud_jobs_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display cloud jobs in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of cloud jobs to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_jobs_view] )) ||
_isi_cloud_jobs_view() {
_arguments \
"--id=[An ID for a cloud job]" \
}
(( $+functions[_isi_cloud_jobs_create] )) ||
_isi_cloud_jobs_create() {
_arguments \
"--type=[Type of cloud job. One of 'archive' or 'recall']" \
"--files=[File names to be acted on.]" \
"--policy=[Policy to be used with archiving]" \
"--recursive=[Whether the recall/archive should apply recursively to nested directories]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_jobs_cancel] )) ||
_isi_cloud_jobs_cancel() {
_arguments \
"--id=[An ID for a cloud job]" \
"--add-files=[Add file names to be acted on.]" \
"--clear-files[Clear value for file names to be acted on.]" \
"--files=[File names to be acted on.]" \
"--policy=[Policy to be used with archiving]" \
"--recursive=[Whether the recall/archive should apply recursively to nested directories]" \
"--remove-files=[Remove file names to be acted on.]" \
"--type=[Type of cloud job. One of 'archive' or 'recall']" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_jobs_pause] )) ||
_isi_cloud_jobs_pause() {
_arguments \
"--id=[An ID for a cloud job]" \
"--add-files=[Add file names to be acted on.]" \
"--clear-files[Clear value for file names to be acted on.]" \
"--files=[File names to be acted on.]" \
"--policy=[Policy to be used with archiving]" \
"--recursive=[Whether the recall/archive should apply recursively to nested directories]" \
"--remove-files=[Remove file names to be acted on.]" \
"--type=[Type of cloud job. One of 'archive' or 'recall']" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_jobs_resume] )) ||
_isi_cloud_jobs_resume() {
_arguments \
"--id=[An ID for a cloud job]" \
"--add-files=[Add file names to be acted on.]" \
"--clear-files[Clear value for file names to be acted on.]" \
"--files=[File names to be acted on.]" \
"--policy=[Policy to be used with archiving]" \
"--recursive=[Whether the recall/archive should apply recursively to nested directories]" \
"--remove-files=[Remove file names to be acted on.]" \
"--type=[Type of cloud job. One of 'archive' or 'recall']" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_settings] )) ||
_isi_cloud_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ access view modify regenerate-encryption-key}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == access ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-settings-access:"
      _isi_cloud_settings_access
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-settings-view:"
      _isi_cloud_settings_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-settings-modify:"
      _isi_cloud_settings_modify
    elif [[ $cmd == regenerate-encryption-key ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-settings-regenerate-encryption-key:"
      _isi_cloud_settings_regenerate-encryption-key
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_cloud_settings_access] )) ||
_isi_cloud_settings_access() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify list-available-clusters}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-settings-access-view:"
      _isi_cloud_settings_access_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-settings-access-modify:"
      _isi_cloud_settings_access_modify
    elif [[ $cmd == list-available-clusters ]]; then
      curcontext="${curcontext%:*:*}:isi-cloud-settings-access-list-available-clusters:"
      _isi_cloud_settings_access_list-available-clusters
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_cloud_settings_access_view] )) ||
_isi_cloud_settings_access_view() {
}
(( $+functions[_isi_cloud_settings_access_modify] )) ||
_isi_cloud_settings_access_modify() {
_arguments \
"--add-cluster-access=[Add GUIDs for remote clusters which have been restored on this cluster after a backup]" \
"--clear-cluster-access[Clear value for GUIDs for remote clusters which have been restored on this cluster after a backup]" \
"--cluster-access=[GUIDs for remote clusters which have been restored on this cluster after a backup]" \
"--remove-cluster-access=[Remove GUIDs for remote clusters which have been restored on this cluster after a backup]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_settings_access_list-available-clusters] )) ||
_isi_cloud_settings_access_list-available-clusters() {
}
(( $+functions[_isi_cloud_settings_view] )) ||
_isi_cloud_settings_view() {
}
(( $+functions[_isi_cloud_settings_modify] )) ||
_isi_cloud_settings_modify() {
_arguments \
"--archive-snapshot-files=[One of "disabled" or "enabled"]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_settings_regenerate-encryption-key] )) ||
_isi_cloud_settings_regenerate-encryption-key() {
_arguments \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_recall] )) ||
_isi_cloud_recall() {
_arguments \
"--files=[File names to be acted on.]" \
"--recursive=[Whether the recall/archive should apply recursively to nested directories]" \
"--type=[Type of cloud job. One of 'archive' or 'recall']" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_cloud_archive] )) ||
_isi_cloud_archive() {
_arguments \
"--files=[File names to be acted on.]" \
"--policy=[Policy to be used with archiving]" \
"--recursive=[Whether the recall/archive should apply recursively to nested directories]" \
"--type=[Type of cloud job. One of 'archive' or 'recall']" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_dedupe] )) ||
_isi_dedupe() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ settings reports stats}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-dedupe-settings:"
      _isi_dedupe_settings
    elif [[ $cmd == reports ]]; then
      curcontext="${curcontext%:*:*}:isi-dedupe-reports:"
      _isi_dedupe_reports
    elif [[ $cmd == stats ]]; then
      curcontext="${curcontext%:*:*}:isi-dedupe-stats:"
      _isi_dedupe_stats
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_dedupe_settings] )) ||
_isi_dedupe_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-dedupe-settings-view:"
      _isi_dedupe_settings_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-dedupe-settings-modify:"
      _isi_dedupe_settings_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_dedupe_settings_view] )) ||
_isi_dedupe_settings_view() {
}
(( $+functions[_isi_dedupe_settings_modify] )) ||
_isi_dedupe_settings_modify() {
_arguments \
"--add-assess-paths=[Add paths for dedupe assessment.]" \
"--add-paths=[Add paths to dedupe.]" \
"--assess-paths=[Paths for dedupe assessment.]" \
"--clear-assess-paths[Clear value for paths for dedupe assessment.]" \
"--clear-paths[Clear value for paths to dedupe.]" \
"--paths=[Paths to dedupe.]" \
"--remove-assess-paths=[Remove paths for dedupe assessment.]" \
"--remove-paths=[Remove paths to dedupe.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_dedupe_reports] )) ||
_isi_dedupe_reports() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-dedupe-reports-list:"
      _isi_dedupe_reports_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-dedupe-reports-view:"
      _isi_dedupe_reports_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_dedupe_reports_list] )) ||
_isi_dedupe_reports_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display dedupe reports in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of dedupe reports to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_dedupe_reports_view] )) ||
_isi_dedupe_reports_view() {
_arguments \
"--job-id=[View the dedupe report specified by job ID.]" \
}
(( $+functions[_isi_dedupe_stats] )) ||
_isi_dedupe_stats() {
}
(( $+functions[_isi_filepool] )) ||
_isi_filepool() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ default-policy policies templates apply}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == default-policy ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-default-policy:"
      _isi_filepool_default-policy
    elif [[ $cmd == policies ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-policies:"
      _isi_filepool_policies
    elif [[ $cmd == templates ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-templates:"
      _isi_filepool_templates
    elif [[ $cmd == apply ]]; then
      curcontext="${curcontext%:*:*}:isi-apply:"
      _isi_apply
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_filepool_default-policy] )) ||
_isi_filepool_default-policy() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-default-policy-view:"
      _isi_filepool_default-policy_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-default-policy-modify:"
      _isi_filepool_default-policy_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_filepool_default-policy_view] )) ||
_isi_filepool_default-policy_view() {
}
(( $+functions[_isi_filepool_default-policy_modify] )) ||
_isi_filepool_default-policy_modify() {
_arguments \
"--cloud-accessibility=[Accessibility of archived files (one of "cached" or "no-cache")]" \
"--cloud-cache-expiration=[Number of days until the cache expires]" \
"--cloud-compression-enabled=[Compress data moved to the cloud]" \
"--cloud-data-retention=[The minimum amount of time archived data will be retained in the cloud after deletion]" \
"--cloud-encryption-enabled=[Encrypt data moved to the cloud]" \
"--cloud-full-backup-retention=[The minimum amount of time cloud files will be retained after the creation of an full backup]" \
"--cloud-incremental-backup-retention=[The minimum amount of time cloud files will be retained after the creation of an incremental backup]" \
"--cloud-pool=[Move to the cloud pool with the given ID]" \
"--cloud-readahead=[Cache readahead strategy for cloud files (one of partial, full)]" \
"--cloud-writeback-frequency=[The minimum amount of time to wait before updating cloud data with local changes]" \
"--data-access-pattern=[data access pattern random, streaming or concurrent]" \
"--data-ssd-strategy=[SSD strategy of diskpool policy action. 'metadata' stores a single metadata mirror on SSD; 'metadata-write' stores all metadata on SSD; 'data' stores all metadata and data on SSD and 'avoid' stores no data or metadata on SSD]" \
"--data-storage-target=[Name of a storage pool or 'anywhere']" \
"--enable-coalescer=[Enable the coalescer]" \
"--set-requested-protection=[Set a requested protection for matching files]" \
"--snapshot-ssd-strategy=[SSD strategy of snapshot diskpool policy. 'metadata' stores a single metadata mirror on SSD; 'metadata-write' stores all metadata on SSD; 'data' stores all metadata and data on SSD and 'avoid' stores no data or metadata on SSD]" \
"--snapshot-storage-target=[Name of a storage pool or 'anywhere']" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_filepool_policies] )) ||
_isi_filepool_policies() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-policies-list:"
      _isi_filepool_policies_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-policies-view:"
      _isi_filepool_policies_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-policies-create:"
      _isi_filepool_policies_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-policies-modify:"
      _isi_filepool_policies_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-policies-delete:"
      _isi_filepool_policies_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_filepool_policies_list] )) ||
_isi_filepool_policies_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display filepool policies in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of filepool policies to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_filepool_policies_view] )) ||
_isi_filepool_policies_view() {
_arguments \
"--name=[Policy name]" \
}
(( $+functions[_isi_filepool_policies_create] )) ||
_isi_filepool_policies_create() {
_arguments \
"--name=[Policy name]" \
"--apply-order=[The order index for the execution of this policy]" \
"--cloud-accessibility=[Accessibility of archived files (one of "cached" or "no-cache")]" \
"--cloud-cache-expiration=[Number of days until the cache expires]" \
"--cloud-compression-enabled=[Compress data moved to the cloud]" \
"--cloud-data-retention=[The minimum amount of time archived data will be retained in the cloud after deletion]" \
"--cloud-encryption-enabled=[Encrypt data moved to the cloud]" \
"--cloud-full-backup-retention=[The minimum amount of time cloud files will be retained after the creation of an full backup]" \
"--cloud-incremental-backup-retention=[The minimum amount of time cloud files will be retained after the creation of an incremental backup]" \
"--cloud-pool=[Move to the cloud pool with the given ID]" \
"--cloud-readahead=[Cache readahead strategy for cloud files (one of partial, full)]" \
"--cloud-writeback-frequency=[The minimum amount of time to wait before updating cloud data with local changes]" \
"--data-access-pattern=[data access pattern random, streaming or concurrent]" \
"--data-ssd-strategy=[SSD strategy of diskpool policy action. 'metadata' stores a single metadata mirror on SSD; 'metadata-write' stores all metadata on SSD; 'data' stores all metadata and data on SSD and 'avoid' stores no data or metadata on SSD]" \
"--data-storage-target=[Name of a storage pool or 'anywhere']" \
"--description=[Policy description]" \
"--enable-coalescer=[Enable the coalescer]" \
"--set-requested-protection=[Set a requested protection for matching files]" \
"--snapshot-ssd-strategy=[SSD strategy of snapshot diskpool policy. 'metadata' stores a single metadata mirror on SSD; 'metadata-write' stores all metadata on SSD; 'data' stores all metadata and data on SSD and 'avoid' stores no data or metadata on SSD]" \
"--snapshot-storage-target=[Name of a storage pool or 'anywhere']" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_filepool_policies_modify] )) ||
_isi_filepool_policies_modify() {
_arguments \
"--id=[An ID for a filepool policy]" \
"--apply-order=[The order index for the execution of this policy]" \
"--cloud-accessibility=[Accessibility of archived files (one of "cached" or "no-cache")]" \
"--cloud-cache-expiration=[Number of days until the cache expires]" \
"--cloud-compression-enabled=[Compress data moved to the cloud]" \
"--cloud-data-retention=[The minimum amount of time archived data will be retained in the cloud after deletion]" \
"--cloud-encryption-enabled=[Encrypt data moved to the cloud]" \
"--cloud-full-backup-retention=[The minimum amount of time cloud files will be retained after the creation of an full backup]" \
"--cloud-incremental-backup-retention=[The minimum amount of time cloud files will be retained after the creation of an incremental backup]" \
"--cloud-pool=[Move to the cloud pool with the given ID]" \
"--cloud-readahead=[Cache readahead strategy for cloud files (one of partial, full)]" \
"--cloud-writeback-frequency=[The minimum amount of time to wait before updating cloud data with local changes]" \
"--data-access-pattern=[data access pattern random, streaming or concurrent]" \
"--data-ssd-strategy=[SSD strategy of diskpool policy action. 'metadata' stores a single metadata mirror on SSD; 'metadata-write' stores all metadata on SSD; 'data' stores all metadata and data on SSD and 'avoid' stores no data or metadata on SSD]" \
"--data-storage-target=[Name of a storage pool or 'anywhere']" \
"--description=[Policy description]" \
"--enable-coalescer=[Enable the coalescer]" \
"--name=[Policy name]" \
"--set-requested-protection=[Set a requested protection for matching files]" \
"--snapshot-ssd-strategy=[SSD strategy of snapshot diskpool policy. 'metadata' stores a single metadata mirror on SSD; 'metadata-write' stores all metadata on SSD; 'data' stores all metadata and data on SSD and 'avoid' stores no data or metadata on SSD]" \
"--snapshot-storage-target=[Name of a storage pool or 'anywhere']" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_filepool_policies_delete] )) ||
_isi_filepool_policies_delete() {
_arguments \
"--name=[Policy name]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_filepool_templates] )) ||
_isi_filepool_templates() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-templates-list:"
      _isi_filepool_templates_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-filepool-templates-view:"
      _isi_filepool_templates_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_filepool_templates_list] )) ||
_isi_filepool_templates_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display filepool templates in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of filepool templates to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_filepool_templates_view] )) ||
_isi_filepool_templates_view() {
_arguments \
"--name=[Policy name]" \
}
(( $+functions[_isi_hdfs] )) ||
_isi_hdfs() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ settings racks proxyusers}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-settings:"
      _isi_hdfs_settings
    elif [[ $cmd == racks ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-racks:"
      _isi_hdfs_racks
    elif [[ $cmd == proxyusers ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-proxyusers:"
      _isi_hdfs_proxyusers
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_hdfs_settings] )) ||
_isi_hdfs_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-settings-view:"
      _isi_hdfs_settings_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-settings-modify:"
      _isi_hdfs_settings_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_hdfs_settings_view] )) ||
_isi_hdfs_settings_view() {
}
(( $+functions[_isi_hdfs_settings_modify] )) ||
_isi_hdfs_settings_modify() {
_arguments \
"--default-block-size=[Specifies the block size (in bytes) reported by HDFS server. You may use suffices: K, M, G (for instance: 64M, 512M, 1G).]" \
"--default-checksum-type=[Specifies the checksum type reported by HDFS server.]" \
"--server-log-level=[Specifies log level of HDFS server.]" \
"--server-threads=[Specifies the number of worker threads in HDFS server. Use 'auto' to have the HDFS server determine the number of worker threads.]" \
"--default-sendbuf-size=[Specifies the send buffer size (in bytes) reported by HDFS server.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_hdfs_racks] )) ||
_isi_hdfs_racks() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-racks-list:"
      _isi_hdfs_racks_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-racks-view:"
      _isi_hdfs_racks_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-racks-create:"
      _isi_hdfs_racks_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-racks-modify:"
      _isi_hdfs_racks_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-racks-delete:"
      _isi_hdfs_racks_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_hdfs_racks_list] )) ||
_isi_hdfs_racks_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display hdfs racks in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_hdfs_racks_view] )) ||
_isi_hdfs_racks_view() {
_arguments \
"--rack=[Specifies rack id (name).]" \
}
(( $+functions[_isi_hdfs_racks_create] )) ||
_isi_hdfs_racks_create() {
_arguments \
"--rack=[Specifies rack id (name).]" \
"--client-ip-ranges=[External IP range.]" \
"--ip-pools=[IP pool name.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_hdfs_racks_modify] )) ||
_isi_hdfs_racks_modify() {
_arguments \
"--rack=[Specifies rack id (name).]" \
"--add-client-ip-ranges=[Add external IP range.]" \
"--add-ip-pools=[Add IP pool name.]" \
"--clear-client-ip-ranges[Clear value for external IP range.]" \
"--clear-ip-pools[Clear value for IP pool name.]" \
"--client-ip-ranges=[External IP range.]" \
"--ip-pools=[IP pool name.]" \
"--name=[Specifies new rack name. Rack name must start with '/'.]" \
"--remove-client-ip-ranges=[Remove external IP range.]" \
"--remove-ip-pools=[Remove IP pool name.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_hdfs_racks_delete] )) ||
_isi_hdfs_racks_delete() {
_arguments \
"--rack=[Specifies rack id (name).]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_hdfs_proxyusers] )) ||
_isi_hdfs_proxyusers() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ members create delete list modify view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == members ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-proxyusers-members:"
      _isi_hdfs_proxyusers_members
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-proxyusers-create:"
      _isi_hdfs_proxyusers_create
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-proxyusers-delete:"
      _isi_hdfs_proxyusers_delete
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-proxyusers-list:"
      _isi_hdfs_proxyusers_list
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-proxyusers-modify:"
      _isi_hdfs_proxyusers_modify
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-proxyusers-view:"
      _isi_hdfs_proxyusers_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_hdfs_proxyusers_members] )) ||
_isi_hdfs_proxyusers_members() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-hdfs-proxyusers-members-list:"
      _isi_hdfs_proxyusers_members_list
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_hdfs_proxyusers_members_list] )) ||
_isi_hdfs_proxyusers_members_list() {
_arguments \
"--proxyuser=[Specifies proxyuser (name).]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display members in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_hdfs_proxyusers_create] )) ||
_isi_hdfs_proxyusers_create() {
_arguments \
"--proxyuser=[Specifies proxyuser (name).]" \
"--add-gid=[Specifies the GID of the group to add to the proxyuser.]" \
"--add-group=[Specifies the name of the group to add to the proxyuser.]" \
"--add-sid=[Specifies SID of the persona to add to the proxyuser.]" \
"--add-uid=[Specifies UID of the user to add to the proxyuser.]" \
"--add-user=[Specifies name of the user to add to the proxyuser.]" \
"--add-wellknown=[Specifies well-known persona to add to the proxyuser. E.g. 'Everyone'.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_hdfs_proxyusers_delete] )) ||
_isi_hdfs_proxyusers_delete() {
_arguments \
"--proxyuser=[Specifies proxyuser (name).]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_hdfs_proxyusers_list] )) ||
_isi_hdfs_proxyusers_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display hdfs proxyusers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_hdfs_proxyusers_modify] )) ||
_isi_hdfs_proxyusers_modify() {
_arguments \
"--proxyuser=[Specifies proxyuser (name).]" \
"--add-gid=[Specifies the GID of the group to add to the proxyuser.]" \
"--add-group=[Specifies the name of the group to add to the proxyuser.]" \
"--add-sid=[Specifies SID of the persona to add to the proxyuser.]" \
"--add-uid=[Specifies UID of the user to add to the proxyuser.]" \
"--add-user=[Specifies name of the user to add to the proxyuser.]" \
"--add-wellknown=[Specifies well-known persona to add to the proxyuser. E.g. 'Everyone'.]" \
"--remove-gid=[Specifies GID of the group to remove from the proxyuser.]" \
"--remove-group=[Specifies the name of the group to remove from the proxyuser]" \
"--remove-sid=[Specifies SID of the persona to remove from the proxyuser.]" \
"--remove-uid=[Specifies UID of the user to remove from the proxyuser.]" \
"--remove-user=[Specifies name of the user to remove from the proxyuser.]" \
"--remove-wellknown=[Specifies well-known persona to remove from the proxyuser.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_hdfs_proxyusers_view] )) ||
_isi_hdfs_proxyusers_view() {
_arguments \
"--proxyuser=[Specifies proxyuser (name).]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_job] )) ||
_isi_job() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ types policies jobs reports events statistics status}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == types ]]; then
      curcontext="${curcontext%:*:*}:isi-job-types:"
      _isi_job_types
    elif [[ $cmd == policies ]]; then
      curcontext="${curcontext%:*:*}:isi-job-policies:"
      _isi_job_policies
    elif [[ $cmd == jobs ]]; then
      curcontext="${curcontext%:*:*}:isi-job-jobs:"
      _isi_job_jobs
    elif [[ $cmd == reports ]]; then
      curcontext="${curcontext%:*:*}:isi-job-reports:"
      _isi_job_reports
    elif [[ $cmd == events ]]; then
      curcontext="${curcontext%:*:*}:isi-job-events:"
      _isi_job_events
    elif [[ $cmd == statistics ]]; then
      curcontext="${curcontext%:*:*}:isi-job-statistics:"
      _isi_job_statistics
    elif [[ $cmd == status ]]; then
      curcontext="${curcontext%:*:*}:isi-job-status:"
      _isi_job_status
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_job_types] )) ||
_isi_job_types() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-job-types-list:"
      _isi_job_types_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-job-types-view:"
      _isi_job_types_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-job-types-modify:"
      _isi_job_types_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_job_types_list] )) ||
_isi_job_types_list() {
_arguments \
"--all[Show all jobs]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display job types in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_job_types_view] )) ||
_isi_job_types_view() {
_arguments \
"--id=[Job type ID.]" \
}
(( $+functions[_isi_job_types_modify] )) ||
_isi_job_types_modify() {
_arguments \
"--id=[Job type ID.]" \
"--clear-schedule[Clear schedule associated with a job type]" \
"--enabled=[job type is enabled.]" \
"--force[Do not ask confirmation.]" \
"--policy=[Set job policy. See 'isi job policies' for more info.]" \
"--priority=[Priority of job (lower is more important)]" \
"--schedule=[Recurring date pattern at which job runs.]" \
}
(( $+functions[_isi_job_policies] )) ||
_isi_job_policies() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-job-policies-list:"
      _isi_job_policies_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-job-policies-view:"
      _isi_job_policies_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-job-policies-create:"
      _isi_job_policies_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-job-policies-modify:"
      _isi_job_policies_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-job-policies-delete:"
      _isi_job_policies_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_job_policies_list] )) ||
_isi_job_policies_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display job policies in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of job policies to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_job_policies_view] )) ||
_isi_job_policies_view() {
_arguments \
"--id=[Job policy ID.]" \
}
(( $+functions[_isi_job_policies_create] )) ||
_isi_job_policies_create() {
_arguments \
"--name=[Name for the job policy.]" \
"--begin=[Interval begin.]" \
"--description=[Description for this job policy.]" \
"--end=[Interval end.]" \
"--impact=[Job policy interval impact: the given.]" \
}
(( $+functions[_isi_job_policies_modify] )) ||
_isi_job_policies_modify() {
_arguments \
"--id=[Job policy ID.]" \
"--begin=[Interval begin.]" \
"--description=[Description for this job policy.]" \
"--end=[Interval end.]" \
"--impact=[Job policy interval impact: the given.]" \
"--reset-intervals[Clear all policy intervals and set defaults.]" \
}
(( $+functions[_isi_job_policies_delete] )) ||
_isi_job_policies_delete() {
_arguments \
"--id=[Job policy ID.]" \
"--force[Do not ask confirmation.]" \
}
(( $+functions[_isi_job_jobs] )) ||
_isi_job_jobs() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view start pause resume cancel modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-job-jobs-list:"
      _isi_job_jobs_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-job-jobs-view:"
      _isi_job_jobs_view
    elif [[ $cmd == start ]]; then
      curcontext="${curcontext%:*:*}:isi-job-jobs-start:"
      _isi_job_jobs_start
    elif [[ $cmd == pause ]]; then
      curcontext="${curcontext%:*:*}:isi-job-jobs-pause:"
      _isi_job_jobs_pause
    elif [[ $cmd == resume ]]; then
      curcontext="${curcontext%:*:*}:isi-job-jobs-resume:"
      _isi_job_jobs_resume
    elif [[ $cmd == cancel ]]; then
      curcontext="${curcontext%:*:*}:isi-job-jobs-cancel:"
      _isi_job_jobs_cancel
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-job-jobs-modify:"
      _isi_job_jobs_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_job_jobs_list] )) ||
_isi_job_jobs_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display jobs in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of jobs to display.]" \
"--state=[State of job: the given.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_job_jobs_view] )) ||
_isi_job_jobs_view() {
_arguments \
"--job=[Specifies a job.  May be a job ID or a job type; if a job type is specified, there must be only one running or queued instance of that type.]" \
}
(( $+functions[_isi_job_jobs_start] )) ||
_isi_job_jobs_start() {
_arguments \
"--type=[Type of job.]" \
"--delete[Whether to delete the domain mark.]" \
"--dm-type=[The type of domain mark.]" \
"--no-dup[Do not allow the job to start if another is running or queued.]" \
"--mapping-type=[The type of permissions.  Used only with '--mode convert'.]" \
"--mode=[The type of PermissionRepair operation.]" \
"--newer-snapid=[Newer snapshot ID.]" \
"--older-snapid=[Older snapshot ID.]" \
"--paths=[Path of the job. Must be within /ifs. Valid only for the following job types: CloudPoolsTreewalk, PermissionRepair, TreeDelete, Undedupe.]" \
"--policy=[Policy to use.]" \
"--priority=[Job priority.]" \
"--retain-repstate[Whether to retain the replication record after a changelist is created.  Retaining a replication record allows a changelist to be recreated later.]" \
"--root=[Base path to associate with the domain.  Must be within /ifs.]" \
"--snapid=[Snapshot to revert.]" \
"--template=[File or directory to use as a template.  Must be within /ifs.  Required for '--mode clone' or '--mode inherit'.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.  Used only with '--mode convert'.]" \
}
(( $+functions[_isi_job_jobs_pause] )) ||
_isi_job_jobs_pause() {
_arguments \
"--job=[Specifies a job.  May be a job ID or a job type; if a job type is specified, there must be only one running or queued instance of that type.]" \
}
(( $+functions[_isi_job_jobs_resume] )) ||
_isi_job_jobs_resume() {
_arguments \
"--job=[Specifies a job.  May be a job ID or a job type; if a job type is specified, there must be only one running or queued instance of that type.]" \
}
(( $+functions[_isi_job_jobs_cancel] )) ||
_isi_job_jobs_cancel() {
_arguments \
"--job=[Specifies a job.  May be a job ID or a job type; if a job type is specified, there must be only one running or queued instance of that type.]" \
}
(( $+functions[_isi_job_jobs_modify] )) ||
_isi_job_jobs_modify() {
_arguments \
"--job=[Specifies a job.  May be a job ID or a job type; if a job type is specified, there must be only one running or queued instance of that type.]" \
"--policy=[Policy to use.]" \
"--priority=[Job priority.]" \
}
(( $+functions[_isi_job_reports] )) ||
_isi_job_reports() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-job-reports-list:"
      _isi_job_reports_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-job-reports-view:"
      _isi_job_reports_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_job_reports_list] )) ||
_isi_job_reports_list() {
_arguments \
"--begin=[Limit to job reports after this date and time.]" \
"--end=[Limit to job reports before this date and time.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display job reports in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--job-id=[Job ID.]" \
"--job-type=[Job type name.]" \
"--limit=[Number of job reports to display.]" \
}
(( $+functions[_isi_job_reports_view] )) ||
_isi_job_reports_view() {
_arguments \
"--id=[ID of the job report to view.]" \
}
(( $+functions[_isi_job_events] )) ||
_isi_job_events() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-job-events-list:"
      _isi_job_events_list
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_job_events_list] )) ||
_isi_job_events_list() {
_arguments \
"--begin=[Limit to job events after this date and time.]" \
"--end=[Limit to job events before this date and time.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display job events in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--job-id=[Job ID.]" \
"--job-type=[Job type name.]" \
"--limit=[Number of job events to display.]" \
"--state=[Event state.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_job_statistics] )) ||
_isi_job_statistics() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-job-statistics-list:"
      _isi_job_statistics_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-job-statistics-view:"
      _isi_job_statistics_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_job_statistics_list] )) ||
_isi_job_statistics_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display job statistics in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_job_statistics_view] )) ||
_isi_job_statistics_view() {
_arguments \
"--devid=[Node devid.]" \
"--format=[Display job statistics in the given format]" \
"--job-id=[Job ID.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_job_status] )) ||
_isi_job_status() {
_arguments \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_nfs] )) ||
_isi_nfs() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ exports nlm settings netgroup aliases log-level}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == exports ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-exports:"
      _isi_nfs_exports
    elif [[ $cmd == nlm ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-nlm:"
      _isi_nfs_nlm
    elif [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-settings:"
      _isi_nfs_settings
    elif [[ $cmd == netgroup ]]; then
      curcontext="${curcontext%:*:*}:isi_classic-nfs-netgroup:"
      _isi_classic_nfs_netgroup
    elif [[ $cmd == aliases ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-aliases:"
      _isi_nfs_aliases
    elif [[ $cmd == log-level ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-log-level:"
      _isi_nfs_log-level
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_nfs_exports] )) ||
_isi_nfs_exports() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list check view create delete modify reload}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-exports-list:"
      _isi_nfs_exports_list
    elif [[ $cmd == check ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-exports-check:"
      _isi_nfs_exports_check
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-exports-view:"
      _isi_nfs_exports_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-exports-create:"
      _isi_nfs_exports_create
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-exports-delete:"
      _isi_nfs_exports_delete
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-exports-modify:"
      _isi_nfs_exports_modify
    elif [[ $cmd == reload ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-exports-reload:"
      _isi_nfs_exports_reload
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_nfs_exports_list] )) ||
_isi_nfs_exports_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display nfs exports in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of nfs exports to display.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone in which the export was created.]" \
}
(( $+functions[_isi_nfs_exports_check] )) ||
_isi_nfs_exports_check() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display nfs exports in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of nfs exports to display.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone in which the export was created.]" \
}
(( $+functions[_isi_nfs_exports_view] )) ||
_isi_nfs_exports_view() {
_arguments \
"--id=[ID of the nfs export to view.]" \
"--zone=[Access zone in which the export was created.]" \
}
(( $+functions[_isi_nfs_exports_create] )) ||
_isi_nfs_exports_create() {
_arguments \
"--paths=[Path of the nfs export. Must be within /ifs. Valid only for the following job types: CloudPoolsTreewalk, PermissionRepair, TreeDelete, Undedupe.]" \
"--all-dirs=[Implicitly export all subdirectories below the rule's path.]" \
"--block-size=[Block size.]" \
"--can-set-time=[Report that file times can be set via this export.]" \
"--case-insensitive=[Report that the server ignores case for file names.]" \
"--case-preserving=[Report that the server always preserves case for file names.]" \
"--chown-restricted=[Report that only the superuser may change file ownership.]" \
"--clients=[Replaces list of clients to be allowed access via this export.]" \
"--commit-asynchronous=[Perform commit data operations asynchronously.]" \
"--description=[Description for this nfs export.]" \
"--directory-transfer-size=[Preferred directory transfer size.]" \
"--encoding=[Character encoding of filenames via this export.]" \
"--force[Ignore conflicts while creating/modifying the export.]" \
"--link-max=[The reported maximum number of links to a file.]" \
"--map-all=[Map all incoming users to a specific user and/or group ID.]" \
"--map-failure=[Map users to a specific user and/or group ID after a failed auth attempt.]" \
"--map-failure-enabled=[Enable/disable mapping users a specific account after failing an auth lookup.]" \
"--map-full=[Use full identity mapping resolution of mapped user.]" \
"--map-lookup-uid=[Lookup incoming UIDs using local authentication database.]" \
"--map-non-root=[Map non-root users to a specific user and/or group ID.]" \
"--map-non-root-enabled=[Enable/disable mapping incoming non-root users to a specific account.]" \
"--map-retry=[Retry failed user mapping lookups.]" \
"--map-root=[Map incoming root users to a specific user and/or group ID.]" \
"--map-root-enabled=[Enable/disable mapping incoming root users to a specific account.]" \
"--max-file-size=[Maximum file size.]" \
"--name-max-size=[The reported maximum length of a filename.]" \
"--no-truncate=[Report that too-long file names result in an error.]" \
"--read-only=[Set nfs export as read-only.]" \
"--read-only-clients=[Replaces list of clients to be allowed read-only access via this export. When applied to a non-read-only export, takes precedence over --clients and will provide read-only access. Otherwise will behave as normal clients.]" \
"--read-transfer-max-size=[Maximum NFSv3/4 read transfer size.]" \
"--read-transfer-multiple=[NFSv3/4 read transfer multiplier.]" \
"--read-transfer-size=[Preferred NFSv3/4 read transfer size.]" \
"--read-write-clients=[Replaces list of clients to be allowed read and write access via this export. When applied to a read-only export, takes precedence over --clients and will provide read and write access. Otherwise will behave as normal clients.]" \
"--readdirplus=[Enable NFSv3 readdirplus.]" \
"--readdirplus-prefetch=[Deprecated. This option currently does nothing.]" \
"--return-32bit-file-ids=[Return 32-bit file identifiers from NFSv3/4 readdir.]" \
"--root-clients=[Replaces list of clients to be allowed root access via this export. Takes precedence over --clients and can be combined with --read-only-clients or --read-write-clients.]" \
"--security-flavors=[Replaces list of supported security flavors.]" \
"--setattr-asynchronous=[Perform set attributes operations asynchronously.]" \
"--snapshot=[Use this snapshot for all mounts.]" \
"--symlinks=[Advertise support for symlinks.]" \
"--time-delta=[Server time granularity in seconds.]" \
"--verbose[Display more detailed information.]" \
"--write-datasync-action=[Specify alternate NFSv3/4 datasync write method.]" \
"--write-datasync-reply=[Specify alternate NFSv3/4 datasync reply method.]" \
"--write-filesync-action=[Specify alternate NFSv3/4 filesync write method.]" \
"--write-filesync-reply=[Specify alternate NFSv3/4 filesync reply method.]" \
"--write-transfer-max-size=[Maximum NFSv3/4 write transfer size.]" \
"--write-transfer-multiple=[NFSv3/4 write transfer multiplier.]" \
"--write-transfer-size=[Preferred NFSv3/4 write transfer size.]" \
"--write-unstable-action=[Specify alternate NFSv3/4 unstable write method.]" \
"--write-unstable-reply=[Specify alternate unstable reply method.]" \
"--zone=[Access zone in which the export should be created.]" \
}
(( $+functions[_isi_nfs_exports_delete] )) ||
_isi_nfs_exports_delete() {
_arguments \
"--id=[ID of the nfs export to delete.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone in which the export was created.]" \
}
(( $+functions[_isi_nfs_exports_modify] )) ||
_isi_nfs_exports_modify() {
_arguments \
"--id=[ID of the nfs export to modify.]" \
"--add-clients=[Add items to list of clients to be allowed access via this export.]" \
"--add-paths=[Add path of the nfs export. Must be within /ifs. Valid only for the following job types: CloudPoolsTreewalk, PermissionRepair, TreeDelete, Undedupe.]" \
"--add-read-only-clients=[Add items to list of clients to be allowed read-only access via this export.]" \
"--add-read-write-clients=[Add items to list of clients to be allowed read and write access via this export.]" \
"--add-root-clients=[Add items to list of clients to be allowed root access via this export.]" \
"--add-security-flavors=[Add items to list of supported security flavors.]" \
"--all-dirs=[Implicitly export all subdirectories below the rule's path.]" \
"--block-size=[Block size.]" \
"--can-set-time=[Report that file times can be set via this export.]" \
"--case-insensitive=[Report that the server ignores case for file names.]" \
"--case-preserving=[Report that the server always preserves case for file names.]" \
"--chown-restricted=[Report that only the superuser may change file ownership.]" \
"--clear-clients[Clear list of clients to be allowed access via this export.]" \
"--clear-paths[Clear value for path of the nfs export. Must be within /ifs. Valid only for the following job types: CloudPoolsTreewalk, PermissionRepair, TreeDelete, Undedupe.]" \
"--clear-read-only-clients[Clear list of clients to be allowed read-only access via this export.]" \
"--clear-read-write-clients[Clear list of clients to be allowed read and write access via this export.]" \
"--clear-root-clients[Clear list of clients to be allowed root access via this export.]" \
"--clear-security-flavors[Clear list of supported security flavors.]" \
"--clients=[Replaces list of clients to be allowed access via this export.]" \
"--commit-asynchronous=[Perform commit data operations asynchronously.]" \
"--description=[Description for this nfs export.]" \
"--directory-transfer-size=[Preferred directory transfer size.]" \
"--encoding=[Character encoding of filenames via this export.]" \
"--force[Ignore conflicts while creating/modifying the export.]" \
"--link-max=[The reported maximum number of links to a file.]" \
"--map-all=[Map all incoming users to a specific user and/or group ID.]" \
"--map-failure=[Map users to a specific user and/or group ID after a failed auth attempt.]" \
"--map-failure-enabled=[Enable/disable mapping users a specific account after failing an auth lookup.]" \
"--map-full=[Use full identity mapping resolution of mapped user.]" \
"--map-lookup-uid=[Lookup incoming UIDs using local authentication database.]" \
"--map-non-root=[Map non-root users to a specific user and/or group ID.]" \
"--map-non-root-enabled=[Enable/disable mapping incoming non-root users to a specific account.]" \
"--map-retry=[Retry failed user mapping lookups.]" \
"--map-root=[Map incoming root users to a specific user and/or group ID.]" \
"--map-root-enabled=[Enable/disable mapping incoming root users to a specific account.]" \
"--max-file-size=[Maximum file size.]" \
"--name-max-size=[The reported maximum length of a filename.]" \
"--new-zone=[New access zone.]" \
"--no-truncate=[Report that too-long file names result in an error.]" \
"--paths=[Path of the nfs export. Must be within /ifs. Valid only for the following job types: CloudPoolsTreewalk, PermissionRepair, TreeDelete, Undedupe.]" \
"--read-only=[Set nfs export as read-only.]" \
"--read-only-clients=[Replaces list of clients to be allowed read-only access via this export. When applied to a non-read-only export, takes precedence over --clients and will provide read-only access. Otherwise will behave as normal clients.]" \
"--read-transfer-max-size=[Maximum NFSv3/4 read transfer size.]" \
"--read-transfer-multiple=[NFSv3/4 read transfer multiplier.]" \
"--read-transfer-size=[Preferred NFSv3/4 read transfer size.]" \
"--read-write-clients=[Replaces list of clients to be allowed read and write access via this export. When applied to a read-only export, takes precedence over --clients and will provide read and write access. Otherwise will behave as normal clients.]" \
"--readdirplus=[Enable NFSv3 readdirplus.]" \
"--readdirplus-prefetch=[Deprecated. This option currently does nothing.]" \
"--remove-clients=[Remove items from list of clients to be allowed access via this export.]" \
"--remove-paths=[Remove path of the nfs export. Must be within /ifs. Valid only for the following job types: CloudPoolsTreewalk, PermissionRepair, TreeDelete, Undedupe.]" \
"--remove-read-only-clients=[Remove items from list of clients to be allowed read-only access via this export.]" \
"--remove-read-write-clients=[Remove items from list of clients to be allowed read and write access via this export.]" \
"--remove-root-clients=[Remove items from list of clients to be allowed root access via this export.]" \
"--remove-security-flavors=[Remove items from list of supported security flavors.]" \
"--return-32bit-file-ids=[Return 32-bit file identifiers from NFSv3/4 readdir.]" \
"--revert-all-dirs[Set value to system default for --all-dirs.]" \
"--revert-block-size[Set value to system default for --block-size.]" \
"--revert-can-set-time[Set value to system default for --can-set-time.]" \
"--revert-case-insensitive[Set value to system default for --case-insensitive.]" \
"--revert-case-preserving[Set value to system default for --case-preserving.]" \
"--revert-chown-restricted[Set value to system default for --chown-restricted.]" \
"--revert-commit-asynchronous[Set value to system default for --commit-asynchronous.]" \
"--revert-directory-transfer-size[Set value to system default for --directory-transfer-size.]" \
"--revert-encoding[Set value to system default for --encoding.]" \
"--revert-link-max[Set value to system default for --link-max.]" \
"--revert-map-all[Set value to system default for --map-all.]" \
"--revert-map-failure[Set value to system default for --map-failure.]" \
"--revert-map-failure-enabled[Set value to system default for --map-failure-enabled.]" \
"--revert-map-full[Set value to system default for --map-full.]" \
"--revert-map-lookup-uid[Set value to system default for --map-lookup-uid.]" \
"--revert-map-non-root[Set value to system default for --map-non-root.]" \
"--revert-map-non-root-enabled[Set value to system default for --map-non-root-enabled.]" \
"--revert-map-retry[Set value to system default for --map-retry.]" \
"--revert-map-root[Set value to system default for --map-root.]" \
"--revert-map-root-enabled[Set value to system default for --map-root-enabled.]" \
"--revert-max-file-size[Set value to system default for --max-file-size.]" \
"--revert-name-max-size[Set value to system default for --name-max-size.]" \
"--revert-no-truncate[Set value to system default for --no-truncate.]" \
"--revert-read-only[Set value to system default for --read-only.]" \
"--revert-read-transfer-max-size[Set value to system default for --read-transfer-max-size.]" \
"--revert-read-transfer-multiple[Set value to system default for --read-transfer-multiple.]" \
"--revert-read-transfer-size[Set value to system default for --read-transfer-size.]" \
"--revert-readdirplus[Set value to system default for --readdirplus.]" \
"--revert-readdirplus-prefetch[Set value to system default for --readdirplus-prefetch.]" \
"--revert-return-32bit-file-ids[Set value to system default for --return-32bit-file-ids.]" \
"--revert-security-flavors[Set value to system default for --security-flavors.]" \
"--revert-setattr-asynchronous[Set value to system default for --setattr-asynchronous.]" \
"--revert-snapshot[Set value to system default for --snapshot.]" \
"--revert-symlinks[Set value to system default for --symlinks.]" \
"--revert-time-delta[Set value to system default for --time-delta.]" \
"--revert-write-datasync-action[Set value to system default for --write-datasync-action.]" \
"--revert-write-datasync-reply[Set value to system default for --write-datasync-reply.]" \
"--revert-write-filesync-action[Set value to system default for --write-filesync-action.]" \
"--revert-write-transfer-max-size[Set value to system default for --write-transfer-max-size.]" \
"--revert-write-transfer-multiple[Set value to system default for --write-transfer-multiple.]" \
"--revert-write-transfer-size[Set value to system default for --write-transfer-size.]" \
"--revert-write-unstable-action[Set value to system default for --write-unstable-action.]" \
"--revert-write-unstable-reply[Set value to system default for --write-unstable-reply.]" \
"--root-clients=[Replaces list of clients to be allowed root access via this export. Takes precedence over --clients and can be combined with --read-only-clients or --read-write-clients.]" \
"--security-flavors=[Replaces list of supported security flavors.]" \
"--setattr-asynchronous=[Perform set attributes operations asynchronously.]" \
"--snapshot=[Use this snapshot for all mounts.]" \
"--symlinks=[Advertise support for symlinks.]" \
"--time-delta=[Server time granularity in seconds.]" \
"--verbose[Display more detailed information.]" \
"--write-datasync-action=[Specify alternate NFSv3/4 datasync write method.]" \
"--write-datasync-reply=[Specify alternate NFSv3/4 datasync reply method.]" \
"--write-filesync-action=[Specify alternate NFSv3/4 filesync write method.]" \
"--write-filesync-reply=[Specify alternate NFSv3/4 filesync reply method.]" \
"--write-transfer-max-size=[Maximum NFSv3/4 write transfer size.]" \
"--write-transfer-multiple=[NFSv3/4 write transfer multiplier.]" \
"--write-transfer-size=[Preferred NFSv3/4 write transfer size.]" \
"--write-unstable-action=[Specify alternate NFSv3/4 unstable write method.]" \
"--write-unstable-reply=[Specify alternate unstable reply method.]" \
"--zone=[Access zone in which the export was created.]" \
}
(( $+functions[_isi_nfs_exports_reload] )) ||
_isi_nfs_exports_reload() {
}
(( $+functions[_isi_nfs_nlm] )) ||
_isi_nfs_nlm() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ locks sessions}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == locks ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-nlm-locks:"
      _isi_nfs_nlm_locks
    elif [[ $cmd == sessions ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-nlm-sessions:"
      _isi_nfs_nlm_sessions
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_nfs_nlm_locks] )) ||
_isi_nfs_nlm_locks() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list waiters}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-nlm-locks-list:"
      _isi_nfs_nlm_locks_list
    elif [[ $cmd == waiters ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-nlm-locks-waiters:"
      _isi_nfs_nlm_locks_waiters
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_nfs_nlm_locks_list] )) ||
_isi_nfs_nlm_locks_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display nfs nlm locks in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of nfs nlm locks to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_nfs_nlm_locks_waiters] )) ||
_isi_nfs_nlm_locks_waiters() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display nfs nlm locks in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of nfs nlm locks to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_nfs_nlm_sessions] )) ||
_isi_nfs_nlm_sessions() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list disconnect}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-nlm-sessions-list:"
      _isi_nfs_nlm_sessions_list
    elif [[ $cmd == disconnect ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-nlm-sessions-disconnect:"
      _isi_nfs_nlm_sessions_disconnect
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_nfs_nlm_sessions_list] )) ||
_isi_nfs_nlm_sessions_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display nfs nlm sessions in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of nfs nlm sessions to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_nfs_nlm_sessions_disconnect] )) ||
_isi_nfs_nlm_sessions_disconnect() {
_arguments \
"--client=[Client to disconnect.]" \
"--force[Do not ask confirmation.]" \
}
(( $+functions[_isi_nfs_settings] )) ||
_isi_nfs_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ global export zone}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == global ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-settings-global:"
      _isi_nfs_settings_global
    elif [[ $cmd == export ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-settings-export:"
      _isi_nfs_settings_export
    elif [[ $cmd == zone ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-settings-zone:"
      _isi_nfs_settings_zone
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_nfs_settings_global] )) ||
_isi_nfs_settings_global() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-settings-global-view:"
      _isi_nfs_settings_global_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-settings-global-modify:"
      _isi_nfs_settings_global_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_nfs_settings_global_view] )) ||
_isi_nfs_settings_global_view() {
_arguments \
}
(( $+functions[_isi_nfs_settings_global_modify] )) ||
_isi_nfs_settings_global_modify() {
_arguments \
"--force[Do not ask confirmation.]" \
"--lock-protection=[Lock protection level.]" \
"--nfsv3-enabled=[NFSv3 enabled.]" \
"--nfsv4-enabled=[NFSv4 enabled.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_nfs_settings_export] )) ||
_isi_nfs_settings_export() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-settings-export-view:"
      _isi_nfs_settings_export_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-settings-export-modify:"
      _isi_nfs_settings_export_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_nfs_settings_export_view] )) ||
_isi_nfs_settings_export_view() {
_arguments \
"--zone=[Access zone in which the export was created.]" \
}
(( $+functions[_isi_nfs_settings_export_modify] )) ||
_isi_nfs_settings_export_modify() {
_arguments \
"--add-security-flavors=[Add items to list of supported security flavors.]" \
"--all-dirs=[Implicitly export all subdirectories below the rule's path.]" \
"--block-size=[Block size.]" \
"--can-set-time=[Report that file times can be set via this export.]" \
"--case-insensitive=[Report that the server ignores case for file names.]" \
"--case-preserving=[Report that the server always preserves case for file names.]" \
"--chown-restricted=[Report that only the superuser may change file ownership.]" \
"--clear-security-flavors[Clear list of supported security flavors.]" \
"--commit-asynchronous=[Perform commit data operations asynchronously.]" \
"--directory-transfer-size=[Preferred directory transfer size.]" \
"--encoding=[Character encoding of filenames via this export.]" \
"--link-max=[The reported maximum number of links to a file.]" \
"--map-all=[Map all incoming users to a specific user and/or group ID.]" \
"--map-failure=[Map users to a specific user and/or group ID after a failed auth attempt.]" \
"--map-failure-enabled=[Enable/disable mapping users a specific account after failing an auth lookup.]" \
"--map-full=[Use full identity mapping resolution of mapped user.]" \
"--map-lookup-uid=[Lookup incoming UIDs using local authentication database.]" \
"--map-non-root=[Map non-root users to a specific user and/or group ID.]" \
"--map-non-root-enabled=[Enable/disable mapping incoming non-root users to a specific account.]" \
"--map-retry=[Retry failed user mapping lookups.]" \
"--map-root=[Map incoming root users to a specific user and/or group ID.]" \
"--map-root-enabled=[Enable/disable mapping incoming root users to a specific account.]" \
"--max-file-size=[Maximum file size.]" \
"--name-max-size=[The reported maximum length of a filename.]" \
"--no-truncate=[Report that too-long file names result in an error.]" \
"--read-only=[Set nfs export setting as read-only.]" \
"--read-transfer-max-size=[Maximum NFSv3/4 read transfer size.]" \
"--read-transfer-multiple=[NFSv3/4 read transfer multiplier.]" \
"--read-transfer-size=[Preferred NFSv3/4 read transfer size.]" \
"--readdirplus=[Enable NFSv3 readdirplus.]" \
"--readdirplus-prefetch=[Deprecated. This option currently does nothing.]" \
"--remove-security-flavors=[Remove items from list of supported security flavors.]" \
"--return-32bit-file-ids=[Return 32-bit file identifiers from NFSv3/4 readdir.]" \
"--revert-all-dirs[Set value to system default for --all-dirs.]" \
"--revert-block-size[Set value to system default for --block-size.]" \
"--revert-can-set-time[Set value to system default for --can-set-time.]" \
"--revert-case-insensitive[Set value to system default for --case-insensitive.]" \
"--revert-case-preserving[Set value to system default for --case-preserving.]" \
"--revert-chown-restricted[Set value to system default for --chown-restricted.]" \
"--revert-commit-asynchronous[Set value to system default for --commit-asynchronous.]" \
"--revert-directory-transfer-size[Set value to system default for --directory-transfer-size.]" \
"--revert-encoding[Set value to system default for --encoding.]" \
"--revert-link-max[Set value to system default for --link-max.]" \
"--revert-map-all[Set value to system default for --map-all.]" \
"--revert-map-failure[Set value to system default for --map-failure.]" \
"--revert-map-failure-enabled[Set value to system default for --map-failure-enabled.]" \
"--revert-map-full[Set value to system default for --map-full.]" \
"--revert-map-lookup-uid[Set value to system default for --map-lookup-uid.]" \
"--revert-map-non-root[Set value to system default for --map-non-root.]" \
"--revert-map-non-root-enabled[Set value to system default for --map-non-root-enabled.]" \
"--revert-map-retry[Set value to system default for --map-retry.]" \
"--revert-map-root[Set value to system default for --map-root.]" \
"--revert-map-root-enabled[Set value to system default for --map-root-enabled.]" \
"--revert-max-file-size[Set value to system default for --max-file-size.]" \
"--revert-name-max-size[Set value to system default for --name-max-size.]" \
"--revert-no-truncate[Set value to system default for --no-truncate.]" \
"--revert-read-only[Set value to system default for --read-only.]" \
"--revert-read-transfer-max-size[Set value to system default for --read-transfer-max-size.]" \
"--revert-read-transfer-multiple[Set value to system default for --read-transfer-multiple.]" \
"--revert-read-transfer-size[Set value to system default for --read-transfer-size.]" \
"--revert-readdirplus[Set value to system default for --readdirplus.]" \
"--revert-readdirplus-prefetch[Set value to system default for --readdirplus-prefetch.]" \
"--revert-return-32bit-file-ids[Set value to system default for --return-32bit-file-ids.]" \
"--revert-security-flavors[Set value to system default for --security-flavors.]" \
"--revert-setattr-asynchronous[Set value to system default for --setattr-asynchronous.]" \
"--revert-snapshot[Set value to system default for --snapshot.]" \
"--revert-symlinks[Set value to system default for --symlinks.]" \
"--revert-time-delta[Set value to system default for --time-delta.]" \
"--revert-write-datasync-action[Set value to system default for --write-datasync-action.]" \
"--revert-write-datasync-reply[Set value to system default for --write-datasync-reply.]" \
"--revert-write-filesync-action[Set value to system default for --write-filesync-action.]" \
"--revert-write-transfer-max-size[Set value to system default for --write-transfer-max-size.]" \
"--revert-write-transfer-multiple[Set value to system default for --write-transfer-multiple.]" \
"--revert-write-transfer-size[Set value to system default for --write-transfer-size.]" \
"--revert-write-unstable-action[Set value to system default for --write-unstable-action.]" \
"--revert-write-unstable-reply[Set value to system default for --write-unstable-reply.]" \
"--security-flavors=[Replaces list of supported security flavors.]" \
"--setattr-asynchronous=[Perform set attributes operations asynchronously.]" \
"--snapshot=[Use this snapshot for all mounts.]" \
"--symlinks=[Advertise support for symlinks.]" \
"--time-delta=[Server time granularity in seconds.]" \
"--verbose[Display more detailed information.]" \
"--write-datasync-action=[Specify alternate NFSv3/4 datasync write method.]" \
"--write-datasync-reply=[Specify alternate NFSv3/4 datasync reply method.]" \
"--write-filesync-action=[Specify alternate NFSv3/4 filesync write method.]" \
"--write-filesync-reply=[Specify alternate NFSv3/4 filesync reply method.]" \
"--write-transfer-max-size=[Maximum NFSv3/4 write transfer size.]" \
"--write-transfer-multiple=[NFSv3/4 write transfer multiplier.]" \
"--write-transfer-size=[Preferred NFSv3/4 write transfer size.]" \
"--write-unstable-action=[Specify alternate NFSv3/4 unstable write method.]" \
"--write-unstable-reply=[Specify alternate unstable reply method.]" \
"--zone=[Access zone in which the export was created.]" \
}
(( $+functions[_isi_nfs_settings_zone] )) ||
_isi_nfs_settings_zone() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-settings-zone-view:"
      _isi_nfs_settings_zone_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-settings-zone-modify:"
      _isi_nfs_settings_zone_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_nfs_settings_zone_view] )) ||
_isi_nfs_settings_zone_view() {
_arguments \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_nfs_settings_zone_modify] )) ||
_isi_nfs_settings_zone_modify() {
_arguments \
"--nfsv4-allow-numeric-ids=[Send owners/groups as UIDs/GIDs when lookups fail or if no_names=1 (v4)]" \
"--nfsv4-domain=[NFSv4 domain name.]" \
"--nfsv4-no-domain=[Send owners/groups without domainname (v4)]" \
"--nfsv4-no-domain-uids=[Send UIDs/GIDs without domainname (v4)]" \
"--nfsv4-no-names=[Always send owners/groups as UIDs/GIDs (v4)]" \
"--nfsv4-replace-domain=[Replace owner/group domain with nfs domainname. (v4)]" \
"--revert-nfsv4-allow-numeric-ids[Set value to system default for --nfsv4-allow-numeric-ids.]" \
"--revert-nfsv4-domain[Set value to system default for --nfsv4-domain.]" \
"--revert-nfsv4-no-domain[Set value to system default for --nfsv4-no-domain.]" \
"--revert-nfsv4-no-domain-uids[Set value to system default for --nfsv4-no-domain-uids.]" \
"--revert-nfsv4-no-names[Set value to system default for --nfsv4-no-names.]" \
"--revert-nfsv4-replace-domain[Set value to system default for --nfsv4-replace-domain.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_nfs_aliases] )) ||
_isi_nfs_aliases() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create delete modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-aliases-list:"
      _isi_nfs_aliases_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-aliases-view:"
      _isi_nfs_aliases_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-aliases-create:"
      _isi_nfs_aliases_create
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-aliases-delete:"
      _isi_nfs_aliases_delete
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-nfs-aliases-modify:"
      _isi_nfs_aliases_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_nfs_aliases_list] )) ||
_isi_nfs_aliases_list() {
_arguments \
"--check[Check alias health]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display nfs aliases in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of nfs aliases to display.]" \
"--zone=[Access zone in which the alias is active.]" \
}
(( $+functions[_isi_nfs_aliases_view] )) ||
_isi_nfs_aliases_view() {
_arguments \
"--name=[Name by which the alias is referenced.]" \
"--check[Check alias health]" \
"--zone=[Access zone in which the alias is active.]" \
}
(( $+functions[_isi_nfs_aliases_create] )) ||
_isi_nfs_aliases_create() {
_arguments \
"--name=[Name by which the alias is referenced.]" \
"--path=[On-disk path to which the alias points.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone in which the alias is active.]" \
}
(( $+functions[_isi_nfs_aliases_delete] )) ||
_isi_nfs_aliases_delete() {
_arguments \
"--name=[Name by which the alias is referenced.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone in which the alias is active.]" \
}
(( $+functions[_isi_nfs_aliases_modify] )) ||
_isi_nfs_aliases_modify() {
_arguments \
"--alias=[Name by which the alias is referenced.]" \
"--force[Do not ask confirmation.]" \
"--name=[New name for the alias.]" \
"--new-zone=[New access zone for alias.]" \
"--path=[On-disk path to which the alias points.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone in which the alias is active.]" \
}
(( $+functions[_isi_nfs_log-level] )) ||
_isi_nfs_log-level() {
_arguments \
"--reset[Reset the log level on this node.]" \
"--set=[Set the log level for this node.]" \
}
(( $+functions[_isi_quota] )) ||
_isi_quota() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ quotas reports settings}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == quotas ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas:"
      _isi_quota_quotas
    elif [[ $cmd == reports ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-reports:"
      _isi_quota_reports
    elif [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings:"
      _isi_quota_settings
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_quota_quotas] )) ||
_isi_quota_quotas() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ notifications list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == notifications ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-notifications:"
      _isi_quota_quotas_notifications
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-list:"
      _isi_quota_quotas_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-view:"
      _isi_quota_quotas_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-create:"
      _isi_quota_quotas_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-modify:"
      _isi_quota_quotas_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-delete:"
      _isi_quota_quotas_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_quota_quotas_notifications] )) ||
_isi_quota_quotas_notifications() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete clear disable}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-notifications-list:"
      _isi_quota_quotas_notifications_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-notifications-view:"
      _isi_quota_quotas_notifications_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-notifications-create:"
      _isi_quota_quotas_notifications_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-notifications-modify:"
      _isi_quota_quotas_notifications_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-notifications-delete:"
      _isi_quota_quotas_notifications_delete
    elif [[ $cmd == clear ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-notifications-clear:"
      _isi_quota_quotas_notifications_clear
    elif [[ $cmd == disable ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-quotas-notifications-disable:"
      _isi_quota_quotas_notifications_disable
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_quota_quotas_notifications_list] )) ||
_isi_quota_quotas_notifications_list() {
_arguments \
"--path=[Path of the quota.  Must be within /ifs/]" \
"--type=[Quota type.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display notification rules in the given format]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--include-snapshots=[SnapshotIQ filesystem snapshots count towards usage.]" \
"--limit=[Number of notification rules to display.]" \
"--sid=[A security identifier.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--verbose[Display more detailed information.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
}
(( $+functions[_isi_quota_quotas_notifications_view] )) ||
_isi_quota_quotas_notifications_view() {
_arguments \
"--path=[Path of the quota.  Must be within /ifs/]" \
"--type=[Quota type.]" \
"--threshold=[Type of threshold.]" \
"--condition=[Notification condition.]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--include-snapshots=[SnapshotIQ filesystem snapshots count towards usage.]" \
"--sid=[A security identifier.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
}
(( $+functions[_isi_quota_quotas_notifications_create] )) ||
_isi_quota_quotas_notifications_create() {
_arguments \
"--path=[Path of the quota.  Must be within /ifs/]" \
"--type=[Quota type.]" \
"--threshold=[Type of threshold.]" \
"--condition=[Notification condition.]" \
"--action-alert=[Generate a OneFS alert when the notification condition is met.]" \
"--action-email-address=[Address of user to notify.]" \
"--action-email-owner=[Email user when threshold is crossed.]" \
"--email-template=[Path in /ifs to the email template.]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--holdoff=[A length of time to holdoff before generating a notification.]" \
"--include-snapshots=[SnapshotIQ filesystem snapshots count towards usage.]" \
"--schedule=[Date pattern at which recurring notifications are made.]" \
"--sid=[A security identifier.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--verbose[Display more detailed information.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
}
(( $+functions[_isi_quota_quotas_notifications_modify] )) ||
_isi_quota_quotas_notifications_modify() {
_arguments \
"--path=[Path of the quota.  Must be within /ifs/]" \
"--type=[Quota type.]" \
"--threshold=[Type of threshold.]" \
"--condition=[Notification condition.]" \
"--action-alert=[Generate a OneFS alert when the notification condition is met.]" \
"--action-email-address=[Address of user to notify.]" \
"--action-email-owner=[Email user when threshold is crossed.]" \
"--clear-email-template[Clear value for path in /ifs to the email template.]" \
"--clear-holdoff[Clear value for a length of time to holdoff before generating a notification.]" \
"--email-template=[Path in /ifs to the email template.]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--holdoff=[A length of time to holdoff before generating a notification.]" \
"--include-snapshots=[SnapshotIQ filesystem snapshots count towards usage.]" \
"--schedule=[Date pattern at which recurring notifications are made.]" \
"--sid=[A security identifier.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--verbose[Display more detailed information.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
}
(( $+functions[_isi_quota_quotas_notifications_delete] )) ||
_isi_quota_quotas_notifications_delete() {
_arguments \
"--path=[Path of the quota.  Must be within /ifs/]" \
"--type=[Quota type.]" \
"--threshold=[Type of threshold.]" \
"--condition=[Notification condition.]" \
"--force[Do not ask confirmation.]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--include-snapshots=[SnapshotIQ filesystem snapshots count towards usage.]" \
"--sid=[A security identifier.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--verbose[Display more detailed information.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
}
(( $+functions[_isi_quota_quotas_notifications_clear] )) ||
_isi_quota_quotas_notifications_clear() {
_arguments \
"--path=[Path of the quota.  Must be within /ifs/]" \
"--type=[Quota type.]" \
"--force[Do not ask confirmation.]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--include-snapshots=[SnapshotIQ filesystem snapshots count towards usage.]" \
"--sid=[A security identifier.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
}
(( $+functions[_isi_quota_quotas_notifications_disable] )) ||
_isi_quota_quotas_notifications_disable() {
_arguments \
"--path=[Path of the quota.  Must be within /ifs/]" \
"--type=[Quota type.]" \
"--force[Do not ask confirmation.]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--include-snapshots=[SnapshotIQ filesystem snapshots count towards usage.]" \
"--sid=[A security identifier.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
}
(( $+functions[_isi_quota_quotas_list] )) ||
_isi_quota_quotas_list() {
_arguments \
"--enforced=[Search for quotas that have an enforced threshold.]" \
"--exceeded[Search only for quotas that have an exceeded threshold.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display quotas in the given format]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--include-snapshots=[Search for quotas that include snapshot data usage.]" \
"--limit=[Number of quotas to display.]" \
"--path=[Display quotas set on the specified path.]" \
"--recurse-path-children[Search child paths for quotas.]" \
"--recurse-path-parents[Search parent paths for quotas.]" \
"--sid=[A security identifier.]" \
"--type=[Display quotas of the specified type.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--verbose[Display more detailed information.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
"--zone=[This zone is used only to resolve personas used by the quota.]" \
}
(( $+functions[_isi_quota_quotas_view] )) ||
_isi_quota_quotas_view() {
_arguments \
"--path=[Path of the quota.  Must be within /ifs/]" \
"--type=[Quota type.]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--include-snapshots=[SnapshotIQ filesystem snapshots count towards usage.]" \
"--sid=[A security identifier.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
"--zone=[This zone is used only to resolve personas used by the quota.]" \
}
(( $+functions[_isi_quota_quotas_create] )) ||
_isi_quota_quotas_create() {
_arguments \
"--path=[Path of the quota. Must be within /ifs.]" \
"--type=[Quota type.]" \
"--advisory-threshold=[Advisory threshold.]" \
"--container=[Show hard threshold as the available space on the SMB share, instead of the whole cluster.]" \
"--enforced=[Enforce this quota.]" \
"--force[Do not fail when creating quota on root /ifs directory.]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--hard-threshold=[Hard threshold.]" \
"--include-snapshots=[SnapshotIQ filesystem snapshots count towards usage.]" \
"--sid=[A security identifier.]" \
"--soft-grace=[Soft threshold grace period.]" \
"--soft-threshold=[Soft threshold.]" \
"--thresholds-include-overhead=[OneFS storage overhead counts towards usage.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--verbose[Display more detailed information.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
"--zone=[This zone is used only to resolve personas used by the quota.]" \
}
(( $+functions[_isi_quota_quotas_modify] )) ||
_isi_quota_quotas_modify() {
_arguments \
"--path=[Path of the quota. Must be within /ifs.]" \
"--type=[Quota type.]" \
"--advisory-threshold=[Advisory threshold.]" \
"--clear-advisory-threshold[Clear value for advisory threshold.]" \
"--clear-hard-threshold[Clear value for hard threshold.]" \
"--clear-soft-threshold[Clear value for soft threshold.]" \
"--container=[Show hard threshold as the available space on the SMB share, instead of the whole cluster.]" \
"--enforced=[Enforce this quota.]" \
"--gid=[A numeric group identifier.]" \
"--group=[A group name.]" \
"--hard-threshold=[Hard threshold.]" \
"--include-snapshots=[SnapshotIQ filesystem snapshots count towards usage.]" \
"--linked=[Unlink an automatically created quota.]" \
"--sid=[A security identifier.]" \
"--soft-grace=[Soft threshold grace period.]" \
"--soft-threshold=[Soft threshold.]" \
"--thresholds-include-overhead=[OneFS storage overhead counts towards usage.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--verbose[Display more detailed information.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
"--zone=[This zone is used only to resolve personas used by the quota.]" \
}
(( $+functions[_isi_quota_quotas_delete] )) ||
_isi_quota_quotas_delete() {
_arguments \
"--type=[Delete quotas of the specified type. Argument must be specified with --path.]" \
"--path=[Delete quotas set on the specified path. Argument must be specified with --type.]" \
"--all[delete all quotas. Flag may not be specified with --type or --path.]" \
"--force[Do not ask confirmation.]" \
"--gid=[Delete quotas associated with the group identified by GID.]" \
"--group=[Delete quotas associated with the group identified by name.]" \
"--include-snapshots=[Delete quotas that include snapshot data usage.]" \
"--recurse-path-children[Search child paths for quotas.]" \
"--recurse-path-parents[Search parent paths for quotas.]" \
"--sid=[Delete quotas associated with the persona identified by SID.]" \
"--uid=[Delete quotas associated with the user identified by UID.]" \
"--user=[Delete quotas associated with the user identified by name.]" \
"--verbose[Display more detailed information.]" \
"--wellknown=[Delete quotas associated with the well-known persona.]" \
"--zone=[This zone is used only to resolve personas used by the quota.]" \
}
(( $+functions[_isi_quota_reports] )) ||
_isi_quota_reports() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list create delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-reports-list:"
      _isi_quota_reports_list
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-reports-create:"
      _isi_quota_reports_create
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-reports-delete:"
      _isi_quota_reports_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_quota_reports_list] )) ||
_isi_quota_reports_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display quota reports in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of quota reports to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_quota_reports_create] )) ||
_isi_quota_reports_create() {
_arguments \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_quota_reports_delete] )) ||
_isi_quota_reports_delete() {
_arguments \
"--time=[Report timestamp.]" \
"--generated=[Report was created the given]" \
"--type=[Report type.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_quota_settings] )) ||
_isi_quota_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ notifications reports}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == notifications ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings-notifications:"
      _isi_quota_settings_notifications
    elif [[ $cmd == reports ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings-reports:"
      _isi_quota_settings_reports
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_quota_settings_notifications] )) ||
_isi_quota_settings_notifications() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete clear}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings-notifications-list:"
      _isi_quota_settings_notifications_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings-notifications-view:"
      _isi_quota_settings_notifications_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings-notifications-create:"
      _isi_quota_settings_notifications_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings-notifications-modify:"
      _isi_quota_settings_notifications_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings-notifications-delete:"
      _isi_quota_settings_notifications_delete
    elif [[ $cmd == clear ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings-notifications-clear:"
      _isi_quota_settings_notifications_clear
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_quota_settings_notifications_list] )) ||
_isi_quota_settings_notifications_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display quota notifications settings in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of quota notifications settings to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_quota_settings_notifications_view] )) ||
_isi_quota_settings_notifications_view() {
_arguments \
"--threshold=[Type of threshold.]" \
"--condition=[Notification condition.]" \
}
(( $+functions[_isi_quota_settings_notifications_create] )) ||
_isi_quota_settings_notifications_create() {
_arguments \
"--threshold=[Type of threshold.]" \
"--condition=[Notification condition.]" \
"--schedule=[Date pattern at which recurring notifications are made.]" \
"--holdoff=[A length of time to holdoff before generating a notification.]" \
"--action-alert=[Generate a OneFS alert when the notification condition is met.]" \
"--action-email-address=[Address of user to notify.]" \
"--action-email-owner=[Email user when threshold is crossed.]" \
"--email-template=[Path in /ifs to the email template.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_quota_settings_notifications_modify] )) ||
_isi_quota_settings_notifications_modify() {
_arguments \
"--threshold=[Type of threshold.]" \
"--condition=[Notification condition.]" \
"--action-alert=[Generate a OneFS alert when the notification condition is met.]" \
"--action-email-address=[Address of user to notify.]" \
"--action-email-owner=[Email user when threshold is crossed.]" \
"--clear-email-template[Clear value for path in /ifs to the email template.]" \
"--clear-holdoff[Clear value for a length of time to holdoff before generating a notification.]" \
"--email-template=[Path in /ifs to the email template.]" \
"--holdoff=[A length of time to holdoff before generating a notification.]" \
"--schedule=[Date pattern at which recurring notifications are made.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_quota_settings_notifications_delete] )) ||
_isi_quota_settings_notifications_delete() {
_arguments \
"--threshold=[Type of threshold.]" \
"--condition=[Notification condition.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_quota_settings_notifications_clear] )) ||
_isi_quota_settings_notifications_clear() {
_arguments \
"--force[Do not ask confirmation.]" \
}
(( $+functions[_isi_quota_settings_reports] )) ||
_isi_quota_settings_reports() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings-reports-view:"
      _isi_quota_settings_reports_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-quota-settings-reports-modify:"
      _isi_quota_settings_reports_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_quota_settings_reports_view] )) ||
_isi_quota_settings_reports_view() {
}
(( $+functions[_isi_quota_settings_reports_modify] )) ||
_isi_quota_settings_reports_modify() {
_arguments \
"--live-dir=[Location where live quota reports are stored.]" \
"--live-retain=[Maximum number of live quota reports to keep.]" \
"--revert-live-dir[Set value to system default for --live-dir.]" \
"--revert-live-retain[Set value to system default for --live-retain.]" \
"--revert-schedule[Set value to system default for --schedule.]" \
"--revert-scheduled-dir[Set value to system default for --scheduled-dir.]" \
"--revert-scheduled-retain[Set value to system default for --scheduled-retain.]" \
"--schedule=[Frequency at which quota reports are generated.]" \
"--scheduled-dir=[Location where scheduled quota reports are stored.]" \
"--scheduled-retain=[Maximum number of scheduled reports to keep.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_remotesupport] )) ||
_isi_remotesupport() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ connectemc}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == connectemc ]]; then
      curcontext="${curcontext%:*:*}:isi-remotesupport-connectemc:"
      _isi_remotesupport_connectemc
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_remotesupport_connectemc] )) ||
_isi_remotesupport_connectemc() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ modify view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-remotesupport-connectemc-modify:"
      _isi_remotesupport_connectemc_modify
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-remotesupport-connectemc-view:"
      _isi_remotesupport_connectemc_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_remotesupport_connectemc_modify] )) ||
_isi_remotesupport_connectemc_modify() {
_arguments \
"--email-customer-on-failure=[Email the customer if all transmission methods fail.]" \
"--enabled=[Enable ConnectEMC.]" \
"--primary-esrs-gateway=[Primary ESRS Gateway.]" \
"--remote-support-subnet=[Network subnet to use for remote support.]" \
"--secondary-esrs-gateway=[Secondary ESRS Gateway.]" \
"--use-smtp-failover=[Use SMTP on ESRS transmission failure.]" \
}
(( $+functions[_isi_remotesupport_connectemc_view] )) ||
_isi_remotesupport_connectemc_view() {
_arguments \
}
(( $+functions[_isi_smb] )) ||
_isi_smb() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ shares settings openfiles sessions log-level}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == shares ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares:"
      _isi_smb_shares
    elif [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-settings:"
      _isi_smb_settings
    elif [[ $cmd == openfiles ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-openfiles:"
      _isi_smb_openfiles
    elif [[ $cmd == sessions ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-sessions:"
      _isi_smb_sessions
    elif [[ $cmd == log-level ]]; then
      curcontext="${curcontext%:*:*}:isi_classic-smb-log-level:"
      _isi_classic_smb_log-level
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_smb_shares] )) ||
_isi_smb_shares() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ permission list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == permission ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-permission:"
      _isi_smb_shares_permission
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-list:"
      _isi_smb_shares_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-view:"
      _isi_smb_shares_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-create:"
      _isi_smb_shares_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-modify:"
      _isi_smb_shares_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-delete:"
      _isi_smb_shares_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_smb_shares_permission] )) ||
_isi_smb_shares_permission() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list create modify view delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-permission-list:"
      _isi_smb_shares_permission_list
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-permission-create:"
      _isi_smb_shares_permission_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-permission-modify:"
      _isi_smb_shares_permission_modify
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-permission-view:"
      _isi_smb_shares_permission_view
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-shares-permission-delete:"
      _isi_smb_shares_permission_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_smb_shares_permission_list] )) ||
_isi_smb_shares_permission_list() {
_arguments \
"--share=[An SMB share name.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display smb shares permissions in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_shares_permission_create] )) ||
_isi_smb_shares_permission_create() {
_arguments \
"--share=[An SMB share name.]" \
"--user=[A user name.]" \
"--group=[A group name.]" \
"--gid=[A numeric group identifier.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
"--permission=[Permission level.]" \
"--permission-type=[Allow or deny access.]" \
"--run-as-root[Allow account to run as root.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_shares_permission_modify] )) ||
_isi_smb_shares_permission_modify() {
_arguments \
"--share=[An SMB share name.]" \
"--user=[A user name.]" \
"--group=[A group name.]" \
"--gid=[A numeric group identifier.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
"--permission=[Permission level.]" \
"--permission-type=[Allow or deny access.]" \
"--run-as-root[Allow account to run as root.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_shares_permission_view] )) ||
_isi_smb_shares_permission_view() {
_arguments \
"--share=[An SMB share name.]" \
"--user=[A user name.]" \
"--group=[A group name.]" \
"--gid=[A numeric group identifier.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_shares_permission_delete] )) ||
_isi_smb_shares_permission_delete() {
_arguments \
"--share=[An SMB share name.]" \
"--user=[A user name.]" \
"--group=[A group name.]" \
"--gid=[A numeric group identifier.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_shares_list] )) ||
_isi_smb_shares_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display smb shares in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of smb shares to display.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_shares_view] )) ||
_isi_smb_shares_view() {
_arguments \
"--share=[An SMB share name.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_shares_create] )) ||
_isi_smb_shares_create() {
_arguments \
"--name=[Name for the smb share.]" \
"--path=[Path of the smb share. Must be within /ifs.]" \
"--access-based-enumeration=[Only enumerate files and folders the requesting user has access to.]" \
"--access-based-enumeration-root-only=[Access-based enumeration on only the root directory of the share.]" \
"--allow-delete-readonly=[Allow deletion of read-only files in the share.]" \
"--allow-execute-always=[Allows users to execute files they have read rights for.]" \
"--allow-variable-expansion=[Allow automatic expansion of variables for home directories.]" \
"--auto-create-directory=[Automatically create home directories.]" \
"--browsable=[Share is visible in net view and the browse list.]" \
"--change-notify=[Specify level of change notification alerts on the share.]" \
"--create-path[Create SMB share path if it doesn't already exist.]" \
"--create-permissions=[Set the create permissions for new files and directories in share.]" \
"--csc-policy=[Client-side caching policy for the shares.]" \
"--description=[Description for this smb share.]" \
"--directory-create-mask=[Directory create mask bits.]" \
"--directory-create-mode=[Directory create mode bits.]" \
"--file-create-mask=[File create mask bits.]" \
"--file-create-mode=[File create mode bits.]" \
"--hide-dot-files=[Hide files and directories that begin with a period '.']" \
"--host-acl=[An ACL expressing which hosts are allowed access.]" \
"--impersonate-guest=[Specify the condition in which user access is done as the guest account.]" \
"--impersonate-user=[User account to be used as guest account.]" \
"--inheritable-path-acl=[Set the inheritable ACL on the share path.]" \
"--mangle-byte-start=[Specifies the wchar_t starting point for automatic byte mangling.]" \
"--mangle-map=[Replaces the character mangle map settings.]" \
"--ntfs-acl-support=[Support NTFS ACLs on files and directories.]" \
"--oplocks=[Support oplocks.]" \
"--strict-flush=[Handle SMB flush operations.]" \
"--strict-locking=[Specifies whether byte range locks contend against SMB I/O.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_shares_modify] )) ||
_isi_smb_shares_modify() {
_arguments \
"--share=[An SMB share name.]" \
"--access-based-enumeration=[Only enumerate files and folders the requesting user has access to.]" \
"--access-based-enumeration-root-only=[Access-based enumeration on only the root directory of the share.]" \
"--add-host-acl=[Add an ACL expressing which hosts are allowed access.]" \
"--add-mangle-map=[Add items to character mangle map.]" \
"--allow-delete-readonly=[Allow deletion of read-only files in the share.]" \
"--allow-execute-always=[Allows users to execute files they have read rights for.]" \
"--allow-variable-expansion=[Allow automatic expansion of variables for home directories.]" \
"--auto-create-directory=[Automatically create home directories.]" \
"--browsable=[Share is visible in net view and the browse list.]" \
"--change-notify=[Specify level of change notification alerts on the share.]" \
"--clear-host-acl[Clear value for an ACL expressing which hosts are allowed access.]" \
"--clear-mangle-map[Clear character mangle map.]" \
"--create-permissions=[Set the create permissions for new files and directories in share.]" \
"--csc-policy=[Client-side caching policy for the shares.]" \
"--description=[Description for this smb share.]" \
"--directory-create-mask=[Directory create mask bits.]" \
"--directory-create-mode=[Directory create mode bits.]" \
"--file-create-mask=[File create mask bits.]" \
"--file-create-mode=[File create mode bits.]" \
"--hide-dot-files=[Hide files and directories that begin with a period '.']" \
"--host-acl=[An ACL expressing which hosts are allowed access.]" \
"--impersonate-guest=[Specify the condition in which user access is done as the guest account.]" \
"--impersonate-user=[User account to be used as guest account.]" \
"--mangle-byte-start=[Specifies the wchar_t starting point for automatic byte mangling.]" \
"--mangle-map=[Replaces the character mangle map settings.]" \
"--name=[Name for the smb share.]" \
"--new-zone=[New access zone to which to move share.]" \
"--ntfs-acl-support=[Support NTFS ACLs on files and directories.]" \
"--oplocks=[Support oplocks.]" \
"--path=[Path of the smb share. Must be within /ifs.]" \
"--remove-host-acl=[Remove an ACL expressing which hosts are allowed access.]" \
"--remove-mangle-map=[Remove items from character mangle map.]" \
"--revert-access-based-enumeration[Set value to system default for --access-based-enumeration.]" \
"--revert-access-based-enumeration-root-only[Set value to system default for --access-based-enumeration-root-only.]" \
"--revert-allow-delete-readonly[Set value to system default for --allow-delete-readonly.]" \
"--revert-allow-execute-always[Set value to system default for --allow-execute-always.]" \
"--revert-allow-variable-expansion[Set value to system default for --allow-variable-expansion.]" \
"--revert-auto-create-directory[Set value to system default for --auto-create-directory.]" \
"--revert-browsable[Set value to system default for --browsable.]" \
"--revert-change-notify[Set value to system default for --change-notify.]" \
"--revert-create-permissions[Set value to system default for --create-permissions.]" \
"--revert-csc-policy[Set value to system default for --csc-policy.]" \
"--revert-directory-create-mask[Set value to system default for --directory-create-mask.]" \
"--revert-directory-create-mode[Set value to system default for --directory-create-mode.]" \
"--revert-file-create-mask[Set value to system default for --file-create-mask.]" \
"--revert-file-create-mode[Set value to system default for --file-create-mode.]" \
"--revert-hide-dot-files[Set value to system default for --hide-dot-files.]" \
"--revert-host-acl[Set value to system default for --host-acl.]" \
"--revert-impersonate-guest[Set value to system default for --impersonate-guest.]" \
"--revert-impersonate-user[Set value to system default for --impersonate-user.]" \
"--revert-mangle-byte-start[Set value to system default for --mangle-byte-start.]" \
"--revert-mangle-map[Set value to system default for --mangle-map.]" \
"--revert-ntfs-acl-support[Set value to system default for --ntfs-acl-support.]" \
"--revert-oplocks[Set value to system default for --oplocks.]" \
"--revert-strict-flush[Set value to system default for --strict-flush.]" \
"--revert-strict-locking[Set value to system default for --strict-locking.]" \
"--strict-flush=[Handle SMB flush operations.]" \
"--strict-locking=[Specifies whether byte range locks contend against SMB I/O.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_shares_delete] )) ||
_isi_smb_shares_delete() {
_arguments \
"--share=[An SMB share name.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_settings] )) ||
_isi_smb_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ global shares}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == global ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-settings-global:"
      _isi_smb_settings_global
    elif [[ $cmd == shares ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-settings-shares:"
      _isi_smb_settings_shares
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_smb_settings_global] )) ||
_isi_smb_settings_global() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-settings-global-view:"
      _isi_smb_settings_global_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-settings-global-modify:"
      _isi_smb_settings_global_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_smb_settings_global_view] )) ||
_isi_smb_settings_global_view() {
_arguments \
}
(( $+functions[_isi_smb_settings_global_modify] )) ||
_isi_smb_settings_global_modify() {
_arguments \
"--access-based-share-enum=[Only enumerate shares to which the requesting user has access.]" \
"--dot-snap-accessible-child=[Allow access to .snapshot directories in share subdirectories.]" \
"--dot-snap-accessible-root=[Allow access to the .snapshot directory in the root of the share.]" \
"--dot-snap-visible-child=[Show .snapshot directories in share subdirectories.]" \
"--dot-snap-visible-root=[Show the .snapshot directory in the root of a share. ]" \
"--enable-security-signatures=[Indicates whether the server supports signed SMB packets.]" \
"--guest-user=[Specifies the fully-qualified user to use for guest access.]" \
"--ignore-eas=[Specify whether to ignore EAs on files.]" \
"--onefs-cpu-multiplier=[Specify the number of OneFS driver worker threads per CPU.]" \
"--onefs-num-workers=[Set the maximum number of OneFS driver worker threads.]" \
"--require-security-signatures=[Indicates whether the server requires signed SMB packets.]" \
"--revert-access-based-share-enum[Set value to system default for --access-based-share-enum.]" \
"--revert-dot-snap-accessible-child[Set value to system default for --dot-snap-accessible-child.]" \
"--revert-dot-snap-accessible-root[Set value to system default for --dot-snap-accessible-root.]" \
"--revert-dot-snap-visible-child[Set value to system default for --dot-snap-visible-child.]" \
"--revert-dot-snap-visible-root[Set value to system default for --dot-snap-visible-root.]" \
"--revert-enable-security-signatures[Set value to system default for --enable-security-signatures.]" \
"--revert-guest-user[Set value to system default for --guest-user.]" \
"--revert-ignore-eas[Set value to system default for --ignore-eas.]" \
"--revert-onefs-cpu-multiplier[Set value to system default for --onefs-cpu-multiplier.]" \
"--revert-onefs-num-workers[Set value to system default for --onefs-num-workers.]" \
"--revert-require-security-signatures[Set value to system default for --require-security-signatures.]" \
"--revert-server-string[Set value to system default for --server-string.]" \
"--revert-srv-cpu-multiplier[Set value to system default for --srv-cpu-multiplier.]" \
"--revert-srv-num-workers[Set value to system default for --srv-num-workers.]" \
"--revert-support-multichannel[Set value to system default for --support-multichannel.]" \
"--revert-support-netbios[Set value to system default for --support-netbios.]" \
"--revert-support-smb2[Set value to system default for --support-smb2.]" \
"--server-string=[Provides a description of the server.]" \
"--srv-cpu-multiplier=[Specify the number of SRV service worker threads per CPU.]" \
"--srv-num-workers=[Set the maximum number of SRV service worker threads.]" \
"--support-multichannel=[Support multichannel.]" \
"--support-netbios=[Support NetBIOS.]" \
"--support-smb2=[Support the SMB2 protocol on the server.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_smb_settings_shares] )) ||
_isi_smb_settings_shares() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-settings-shares-view:"
      _isi_smb_settings_shares_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-settings-shares-modify:"
      _isi_smb_settings_shares_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_smb_settings_shares_view] )) ||
_isi_smb_settings_shares_view() {
_arguments \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_settings_shares_modify] )) ||
_isi_smb_settings_shares_modify() {
_arguments \
"--access-based-enumeration=[Only enumerate files and folders to which the requesting user has access.]" \
"--access-based-enumeration-root-only=[Access-based enumeration on only the root directory of the share.]" \
"--add-host-acl=[Add an ACL expressing which hosts are allowed access.]" \
"--add-mangle-map=[Add items to character mangle map.]" \
"--allow-delete-readonly=[Allow deletion of read-only files in the share.]" \
"--allow-execute-always=[Allows users to execute files they have read rights for.]" \
"--change-notify=[Specify level of change notification alerts on the share.]" \
"--clear-host-acl[Clear value for an ACL expressing which hosts are allowed access.]" \
"--clear-mangle-map[Clear character mangle map.]" \
"--create-permissions=[Set the create permissions for new files and directories in share.]" \
"--directory-create-mask=[Directory create mask bits.]" \
"--directory-create-mode=[Directory create mode bits.]" \
"--file-create-mask=[File create mask bits.]" \
"--file-create-mode=[File create mode bits.]" \
"--hide-dot-files=[Hide files and directories that begin with a period '.']" \
"--host-acl=[An ACL expressing which hosts are allowed access.]" \
"--impersonate-guest=[Specify the condition in which user access is done as the guest account.]" \
"--impersonate-user=[User account to be used as guest account.]" \
"--mangle-byte-start=[Specifies the wchar_t starting point for automatic byte mangling.]" \
"--mangle-map=[Replaces the character mangle map settings.]" \
"--ntfs-acl-support=[Support NTFS ACLs on files and directories.]" \
"--oplocks=[Allow oplock requests.]" \
"--remove-host-acl=[Remove an ACL expressing which hosts are allowed access.]" \
"--remove-mangle-map=[Remove items from character mangle map.]" \
"--revert-access-based-enumeration[Set value to system default for --access-based-enumeration.]" \
"--revert-access-based-enumeration-root-only[Set value to system default for --access-based-enumeration-root-only.]" \
"--revert-allow-delete-readonly[Set value to system default for --allow-delete-readonly.]" \
"--revert-allow-execute-always[Set value to system default for --allow-execute-always.]" \
"--revert-change-notify[Set value to system default for --change-notify.]" \
"--revert-create-permissions[Set value to system default for --create-permissions.]" \
"--revert-directory-create-mask[Set value to system default for --directory-create-mask.]" \
"--revert-directory-create-mode[Set value to system default for --directory-create-mode.]" \
"--revert-file-create-mask[Set value to system default for --file-create-mask.]" \
"--revert-file-create-mode[Set value to system default for --file-create-mode.]" \
"--revert-hide-dot-files[Set value to system default for --hide-dot-files.]" \
"--revert-host-acl[Set value to system default for --host-acl.]" \
"--revert-impersonate-guest[Set value to system default for --impersonate-guest.]" \
"--revert-impersonate-user[Set value to system default for --impersonate-user.]" \
"--revert-mangle-byte-start[Set value to system default for --mangle-byte-start.]" \
"--revert-mangle-map[Set value to system default for --mangle-map.]" \
"--revert-ntfs-acl-support[Set value to system default for --ntfs-acl-support.]" \
"--revert-oplocks[Set value to system default for --oplocks.]" \
"--revert-strict-flush[Set value to system default for --strict-flush.]" \
"--revert-strict-locking[Set value to system default for --strict-locking.]" \
"--strict-flush=[Handle SMB flush operations.]" \
"--strict-locking=[Specifies whether byte range locks contend against SMB I/O.]" \
"--verbose[Display more detailed information.]" \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_smb_openfiles] )) ||
_isi_smb_openfiles() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list close}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-openfiles-list:"
      _isi_smb_openfiles_list
    elif [[ $cmd == close ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-openfiles-close:"
      _isi_smb_openfiles_close
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_smb_openfiles_list] )) ||
_isi_smb_openfiles_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display smb openfiles in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of smb openfiles to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_smb_openfiles_close] )) ||
_isi_smb_openfiles_close() {
_arguments \
"--id=[ID of the smb openfile to close.]" \
"--force[Do not ask confirmation.]" \
}
(( $+functions[_isi_smb_sessions] )) ||
_isi_smb_sessions() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list delete delete-user}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-sessions-list:"
      _isi_smb_sessions_list
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-sessions-delete:"
      _isi_smb_sessions_delete
    elif [[ $cmd == delete-user ]]; then
      curcontext="${curcontext%:*:*}:isi-smb-sessions-delete-user:"
      _isi_smb_sessions_delete-user
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_smb_sessions_list] )) ||
_isi_smb_sessions_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display smb sessions in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of smb sessions to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_smb_sessions_delete] )) ||
_isi_smb_sessions_delete() {
_arguments \
"--computer-name=[Disconnect all sessions associated with the specified computer.]" \
"--force[Do not ask confirmation.]" \
"--sid=[A security identifier.]" \
"--uid=[A numeric user identifier.]" \
"--user=[A user name.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_smb_sessions_delete-user] )) ||
_isi_smb_sessions_delete-user() {
_arguments \
"--user=[A user name.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--computer-name=[Disconnect all sessions associated with the specified computer.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot] )) ||
_isi_snapshot() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ snapshots schedules locks settings aliases}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == snapshots ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-snapshots:"
      _isi_snapshot_snapshots
    elif [[ $cmd == schedules ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-schedules:"
      _isi_snapshot_schedules
    elif [[ $cmd == locks ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-locks:"
      _isi_snapshot_locks
    elif [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-settings:"
      _isi_snapshot_settings
    elif [[ $cmd == aliases ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-aliases:"
      _isi_snapshot_aliases
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_snapshot_snapshots] )) ||
_isi_snapshot_snapshots() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-snapshots-list:"
      _isi_snapshot_snapshots_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-snapshots-view:"
      _isi_snapshot_snapshots_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-snapshots-create:"
      _isi_snapshot_snapshots_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-snapshots-modify:"
      _isi_snapshot_snapshots_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-snapshots-delete:"
      _isi_snapshot_snapshots_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_snapshot_snapshots_list] )) ||
_isi_snapshot_snapshots_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display snapshots in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of snapshots to display.]" \
"--state=[List snapshots in a particular state]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_snapshots_view] )) ||
_isi_snapshot_snapshots_view() {
_arguments \
"--snapshot=[Snapshot name or ID]" \
}
(( $+functions[_isi_snapshot_snapshots_create] )) ||
_isi_snapshot_snapshots_create() {
_arguments \
"--path=[Path of the snapshot. Must be within /ifs.]" \
"--alias=[Alternate name for this snapshot.]" \
"--expires=[Duration until or time at which the snapshot will expire.]" \
"--name=[Name for the snapshot. If this field is omitted, the snapshot will be named automatically by the system.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_snapshots_modify] )) ||
_isi_snapshot_snapshots_modify() {
_arguments \
"--snapshot=[Snapshot name or ID]" \
"--alias=[Alternate name for this snapshot.]" \
"--clear-expires[Clear value for duration until or time at which the snapshot will expire.]" \
"--expires=[Duration until or time at which the snapshot will expire.]" \
"--name=[Name for the snapshot.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_snapshots_delete] )) ||
_isi_snapshot_snapshots_delete() {
_arguments \
"--all[delete all snapshots.]" \
"--snapshot=[Delete a single snapshot.]" \
"--schedule=[Delete all snapshots created by the given schedule]" \
"--type=[Delete all snapshots of the specified type]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_schedules] )) ||
_isi_snapshot_schedules() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ pending list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == pending ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-schedules-pending:"
      _isi_snapshot_schedules_pending
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-schedules-list:"
      _isi_snapshot_schedules_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-schedules-view:"
      _isi_snapshot_schedules_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-schedules-create:"
      _isi_snapshot_schedules_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-schedules-modify:"
      _isi_snapshot_schedules_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-schedules-delete:"
      _isi_snapshot_schedules_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_snapshot_schedules_pending] )) ||
_isi_snapshot_schedules_pending() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-schedules-pending-list:"
      _isi_snapshot_schedules_pending_list
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_snapshot_schedules_pending_list] )) ||
_isi_snapshot_schedules_pending_list() {
_arguments \
"--begin=[Limit to scheduled snapshots after this date and time.]" \
"--end=[Limit to scheduled snapshots before this date and time.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display scheduled snapshots in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of scheduled snapshots to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_schedules_list] )) ||
_isi_snapshot_schedules_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display snapshot schedules in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of snapshot schedules to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_schedules_view] )) ||
_isi_snapshot_schedules_view() {
_arguments \
"--schedule-name=[Snapshot schedule name]" \
}
(( $+functions[_isi_snapshot_schedules_create] )) ||
_isi_snapshot_schedules_create() {
_arguments \
"--name=[Name for the snapshot schedule.]" \
"--path=[Path of the snapshot schedule.  Must be in /ifs]" \
"--pattern=[Format string pattern for naming created snapshots]" \
"--schedule=[Recurring date pattern at which snapshots are created]" \
"--alias=[Alias for created snapshots]" \
"--duration=[Duration until created snapshots expire]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_schedules_modify] )) ||
_isi_snapshot_schedules_modify() {
_arguments \
"--schedule-name=[Snapshot schedule name]" \
"--alias=[Alias for created snapshots]" \
"--clear-duration[Clear value for duration until created snapshots expire]" \
"--duration=[Duration until created snapshots expire]" \
"--name=[Name for the snapshot schedule.]" \
"--path=[Path of the snapshot schedule.  Must be in /ifs]" \
"--pattern=[Format string pattern for naming created snapshots]" \
"--schedule=[Recurring date pattern at which snapshots are created]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_schedules_delete] )) ||
_isi_snapshot_schedules_delete() {
_arguments \
"--schedule-name=[Snapshot schedule name]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_locks] )) ||
_isi_snapshot_locks() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list create delete view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-locks-list:"
      _isi_snapshot_locks_list
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-locks-create:"
      _isi_snapshot_locks_create
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-locks-delete:"
      _isi_snapshot_locks_delete
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-locks-view:"
      _isi_snapshot_locks_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-locks-modify:"
      _isi_snapshot_locks_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_snapshot_locks_list] )) ||
_isi_snapshot_locks_list() {
_arguments \
"--snapshot=[Snapshot name or ID]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display locks in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of locks to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_locks_create] )) ||
_isi_snapshot_locks_create() {
_arguments \
"--snapshot=[Snapshot name or ID]" \
"--comment=[A comment to describe this lock.]" \
"--expires=[Duration until or time at which the lock will expire.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_locks_delete] )) ||
_isi_snapshot_locks_delete() {
_arguments \
"--snapshot=[Snapshot name or ID]" \
"--id=[ID of the lock to delete.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_locks_view] )) ||
_isi_snapshot_locks_view() {
_arguments \
"--snapshot=[Snapshot name or ID]" \
"--id=[ID of the lock to view.]" \
}
(( $+functions[_isi_snapshot_locks_modify] )) ||
_isi_snapshot_locks_modify() {
_arguments \
"--snapshot=[Snapshot name or ID]" \
"--id=[ID of the lock to modify.]" \
"--clear-expires[Clear value for duration until or time at which the lock will expire.]" \
"--expires=[Duration until or time at which the lock will expire.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_settings] )) ||
_isi_snapshot_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ modify view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-settings-modify:"
      _isi_snapshot_settings_modify
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-settings-view:"
      _isi_snapshot_settings_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_snapshot_settings_modify] )) ||
_isi_snapshot_settings_modify() {
_arguments \
"--autocreate=[Enable automatic creation of scheduled snapshots.]" \
"--autodelete=[Enable automatic deletion of expired locks and snapshots.]" \
"--global-visible-accessible=[Enable all other visibility and accessibility settings]" \
"--local-root-accessible=[Allow local file system access to the snapshot directory.]" \
"--local-root-visible=[Allow the local file system to see the snapshot directory.]" \
"--local-subdir-accessible=[Allow the local file system to access subdirectories of the snapshot
directory.]" \
"--nfs-root-accessible=[Allow NFS clients to access to the snapshot directory.]" \
"--nfs-root-visible=[Allow NFS clients to see the snapshot directory.]" \
"--nfs-subdir-accessible=[Allow NFS clients to access subdirectories of the snapshot directory.]" \
"--reserve=[Percentage of /ifs to reserve for use by snapshot data.]" \
"--service=[Enable or disable all manual and scheduled snapshot creation]" \
"--smb-root-accessible=[Allow SMB clients to access the snapshot directory.]" \
"--smb-root-visible=[Allow SMB clients to see the snapshot directory.]" \
"--smb-subdir-accessible=[Allow SMB clients to access subdirectories of the snapshot directory.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_settings_view] )) ||
_isi_snapshot_settings_view() {
_arguments \
}
(( $+functions[_isi_snapshot_aliases] )) ||
_isi_snapshot_aliases() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-aliases-list:"
      _isi_snapshot_aliases_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-aliases-view:"
      _isi_snapshot_aliases_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-aliases-create:"
      _isi_snapshot_aliases_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-aliases-modify:"
      _isi_snapshot_aliases_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-snapshot-aliases-delete:"
      _isi_snapshot_aliases_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_snapshot_aliases_list] )) ||
_isi_snapshot_aliases_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display snapshot aliases in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of snapshot aliases to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_aliases_view] )) ||
_isi_snapshot_aliases_view() {
_arguments \
"--alias=[Snapshot alias name or ID]" \
}
(( $+functions[_isi_snapshot_aliases_create] )) ||
_isi_snapshot_aliases_create() {
_arguments \
"--name=[Name for the snapshot alias]" \
"--target=[Target snapshot name or ID; or 'LIVE' to target the live file system]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_aliases_modify] )) ||
_isi_snapshot_aliases_modify() {
_arguments \
"--alias=[Snapshot alias name or ID]" \
"--name=[Name for the snapshot alias]" \
"--target=[Target snapshot name or ID; or 'LIVE' to target the live file system]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_snapshot_aliases_delete] )) ||
_isi_snapshot_aliases_delete() {
_arguments \
"--all[Delete all snapshot aliases.]" \
"--alias=[Delete a snapshot alias.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool] )) ||
_isi_storagepool() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ tiers nodepools settings compatibilities unprovisioned list health}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == tiers ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-tiers:"
      _isi_storagepool_tiers
    elif [[ $cmd == nodepools ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-nodepools:"
      _isi_storagepool_nodepools
    elif [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-settings:"
      _isi_storagepool_settings
    elif [[ $cmd == compatibilities ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-compatibilities:"
      _isi_storagepool_compatibilities
    elif [[ $cmd == unprovisioned ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-unprovisioned:"
      _isi_storagepool_unprovisioned
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-list:"
      _isi_storagepool_list
    elif [[ $cmd == health ]]; then
      curcontext="${curcontext%:*:*}:isi-smartpools-health:"
      _isi_smartpools_health
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_storagepool_tiers] )) ||
_isi_storagepool_tiers() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list create modify delete view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-tiers-list:"
      _isi_storagepool_tiers_list
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-tiers-create:"
      _isi_storagepool_tiers_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-tiers-modify:"
      _isi_storagepool_tiers_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-tiers-delete:"
      _isi_storagepool_tiers_delete
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-tiers-view:"
      _isi_storagepool_tiers_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_storagepool_tiers_list] )) ||
_isi_storagepool_tiers_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display storagepool tiers in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of storagepool tiers to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_tiers_create] )) ||
_isi_storagepool_tiers_create() {
_arguments \
"--name=[Name for the storagepool tier.]" \
"--children=[Node pools that are children of the tier.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_tiers_modify] )) ||
_isi_storagepool_tiers_modify() {
_arguments \
"--name=[Name for the storagepool tier.]" \
"--add-children=[Add node pools that are children of the tier.]" \
"--children=[Node pools that are children of the tier.]" \
"--clear-children[Clear value for node pools that are children of the tier.]" \
"--remove-children=[Remove node pools that are children of the tier.]" \
"--set-name=[New name for the tier.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_tiers_delete] )) ||
_isi_storagepool_tiers_delete() {
_arguments \
"--name=[Name for the storagepool tier.]" \
"--all[delete all storagepool tiers.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_tiers_view] )) ||
_isi_storagepool_tiers_view() {
_arguments \
"--name=[Name for the storagepool tier.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_nodepools] )) ||
_isi_storagepool_nodepools() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list create modify delete view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-nodepools-list:"
      _isi_storagepool_nodepools_list
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-nodepools-create:"
      _isi_storagepool_nodepools_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-nodepools-modify:"
      _isi_storagepool_nodepools_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-nodepools-delete:"
      _isi_storagepool_nodepools_delete
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-nodepools-view:"
      _isi_storagepool_nodepools_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_storagepool_nodepools_list] )) ||
_isi_storagepool_nodepools_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display storagepool nodepools in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of storagepool nodepools to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_nodepools_create] )) ||
_isi_storagepool_nodepools_create() {
_arguments \
"--name=[Name for the storagepool nodepool.]" \
"--lnns=[Nodes for the manually managed node pool.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_nodepools_modify] )) ||
_isi_storagepool_nodepools_modify() {
_arguments \
"--name=[Name for the storagepool nodepool.]" \
"--add-lnns=[Add nodes for the manually managed node pool.]" \
"--clear-lnns[Clear value for nodes for the manually managed node pool.]" \
"--clear-tier[Clear value for set parent for the node pool.]" \
"--force[Do not ask confirmation.]" \
"--l3=[Use SSDs in this node pool for L3 Cache.]" \
"--lnns=[Nodes for the manually managed node pool.]" \
"--protection-policy=[Requested protection for the node pool.]" \
"--remove-lnns=[Remove nodes for the manually managed node pool.]" \
"--set-name=[New name for the manually managed node pool.]" \
"--tier=[Set parent for the node pool.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_nodepools_delete] )) ||
_isi_storagepool_nodepools_delete() {
_arguments \
"--name=[Name for the storagepool nodepool.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_nodepools_view] )) ||
_isi_storagepool_nodepools_view() {
_arguments \
"--name=[Name for the storagepool nodepool.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_settings] )) ||
_isi_storagepool_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-settings-view:"
      _isi_storagepool_settings_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-settings-modify:"
      _isi_storagepool_settings_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_storagepool_settings_view] )) ||
_isi_storagepool_settings_view() {
}
(( $+functions[_isi_storagepool_settings_modify] )) ||
_isi_storagepool_settings_modify() {
_arguments \
"--automatically-manage-io-optimization=[Set whether SmartPools manages files' I/O optimization settings]" \
"--automatically-manage-protection=[Set whether SmartPools manages files' protection settings]" \
"--global-namespace-acceleration-enabled=[Global namespace acceleration enabled]" \
"--no-spillover[Disable global spillover]" \
"--protect-directories-one-level-higher=[Protect directories at one level higher]" \
"--spillover-anywhere[Set global spillover to anywhere]" \
"--spillover-target=[Spillover target]" \
"--ssd-l3-cache-default-enabled=[Default setting for enabling L3 on new Node Pools]" \
"--verbose[Display more detailed information.]" \
"--virtual-hot-spare-deny-writes=[Virtual hot spare: deny new data writes]" \
"--virtual-hot-spare-hide-spare=[Virtual hot spare: reduce amount of available space]" \
"--virtual-hot-spare-limit-drives=[Virtual hot spare: number of virtual drives]" \
"--virtual-hot-spare-limit-percent=[Virtual hot spare: percent of total storage]" \
}
(( $+functions[_isi_storagepool_compatibilities] )) ||
_isi_storagepool_compatibilities() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ active available}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == active ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-compatibilities-active:"
      _isi_storagepool_compatibilities_active
    elif [[ $cmd == available ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-compatibilities-available:"
      _isi_storagepool_compatibilities_available
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_storagepool_compatibilities_active] )) ||
_isi_storagepool_compatibilities_active() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list create view delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-compatibilities-active-list:"
      _isi_storagepool_compatibilities_active_list
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-compatibilities-active-create:"
      _isi_storagepool_compatibilities_active_create
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-compatibilities-active-view:"
      _isi_storagepool_compatibilities_active_view
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-compatibilities-active-delete:"
      _isi_storagepool_compatibilities_active_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_storagepool_compatibilities_active_list] )) ||
_isi_storagepool_compatibilities_active_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display storagepool compatibilities actives in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of storagepool compatibilities actives to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_compatibilities_active_create] )) ||
_isi_storagepool_compatibilities_active_create() {
_arguments \
"--class-1=[The first class in the node compatibility]" \
"--class-2=[The second class in the node compatibility]" \
"--assess=[Do not perform action, only test that it is possible]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_compatibilities_active_view] )) ||
_isi_storagepool_compatibilities_active_view() {
_arguments \
"--id=[ID of the storagepool compatibilities active to view.]" \
}
(( $+functions[_isi_storagepool_compatibilities_active_delete] )) ||
_isi_storagepool_compatibilities_active_delete() {
_arguments \
"--id=[ID of the storagepool compatibilities active to delete.]" \
"--assess=[Do not perform action, only test that it is possible]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_compatibilities_available] )) ||
_isi_storagepool_compatibilities_available() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-compatibilities-available-list:"
      _isi_storagepool_compatibilities_available_list
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_storagepool_compatibilities_available_list] )) ||
_isi_storagepool_compatibilities_available_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display storagepool compatibilities availables in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of storagepool compatibilities availables to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_unprovisioned] )) ||
_isi_storagepool_unprovisioned() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-storagepool-unprovisioned-view:"
      _isi_storagepool_unprovisioned_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_storagepool_unprovisioned_view] )) ||
_isi_storagepool_unprovisioned_view() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display storagepool unprovisioneds in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of storagepool unprovisioneds to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_storagepool_list] )) ||
_isi_storagepool_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display storagepools in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_smartpools_health] )) ||
_isi_smartpools_health() {
_arguments \
"--verbose[Print settings to be applied.]" \
"--help[Print usage help and exit.]"\
}
(( $+functions[_isi_sync] )) ||
_isi_sync() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ policies jobs settings target reports recovery rules}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == policies ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-policies:"
      _isi_sync_policies
    elif [[ $cmd == jobs ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-jobs:"
      _isi_sync_jobs
    elif [[ $cmd == settings ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-settings:"
      _isi_sync_settings
    elif [[ $cmd == target ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target:"
      _isi_sync_target
    elif [[ $cmd == reports ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-reports:"
      _isi_sync_reports
    elif [[ $cmd == recovery ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-recovery:"
      _isi_sync_recovery
    elif [[ $cmd == rules ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-rules:"
      _isi_sync_rules
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_policies] )) ||
_isi_sync_policies() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete enable disable reset resolve}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-policies-list:"
      _isi_sync_policies_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-policies-view:"
      _isi_sync_policies_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-policies-create:"
      _isi_sync_policies_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-policies-modify:"
      _isi_sync_policies_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-policies-delete:"
      _isi_sync_policies_delete
    elif [[ $cmd == enable ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-policies-enable:"
      _isi_sync_policies_enable
    elif [[ $cmd == disable ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-policies-disable:"
      _isi_sync_policies_disable
    elif [[ $cmd == reset ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-policies-reset:"
      _isi_sync_policies_reset
    elif [[ $cmd == resolve ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-policies-resolve:"
      _isi_sync_policies_resolve
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_policies_list] )) ||
_isi_sync_policies_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display sync policies in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of sync policies to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_policies_view] )) ||
_isi_sync_policies_view() {
_arguments \
"--policy=[A sync policy name.]" \
}
(( $+functions[_isi_sync_policies_create] )) ||
_isi_sync_policies_create() {
_arguments \
"--name=[Sets the name of the sync policy.]" \
"--source-root-path=[Specifies the root path to be used in the source cluster.]" \
"--action=[Identifies the action to run on the given files: copy or sync.]" \
"--target-host=[Hostname of the target cluster.]" \
"--target-path=[Path to use on the target cluster.]" \
"--check-integrity=[Validate file integrity during copy|sync actions.]" \
"--description=[Description for this sync policy.]" \
"--enabled=[Policy is enabled.]" \
"--log-level=[Log level.]" \
"--log-removed-files=[Keep a log of removed files for sync action.]" \
"--password=[Password for the target cluster.]" \
"--report-max-age=[Maximum age of reports to keep.]" \
"--report-max-count=[Maximum number of reports to keep.]" \
"--resolve=[Allows one to resolve a conflict.]" \
"--restrict-target-network=[Sets if the target network is restricted.]" \
"--schedule=[Schedule for executing the sync policy, or the string value When-Source-Modified.]" \
"--source-exclude-directories=[Directories on source cluster to be excluded from sync|copy action.]" \
"--source-include-directories=[Directories on source cluster to be included in sync|copy action.]" \
"--source-pool=[Restricts replication policies on the local cluster to this pool (you must also specify --source-subnet).]" \
"--source-snapshot-archive=[Create archival snapshots on the source cluster.]" \
"--source-snapshot-expiration=[The duration at which archival snapshots on the source cluster expire.]" \
"--source-snapshot-pattern=[Sets new name for archival snapshots on the source cluster.]" \
"--source-subnet=[Restricts replication policies on the local cluster to this subnet (you must also specify --source-pool).]" \
"--target-compare-initial-sync=[Compare files on destination cluster before copy|sync action.]" \
"--target-detect-modifications=[Detects any modifications on the destination cluster.]" \
"--target-snapshot-alias=[The alias for snapshots on the destination cluster.]" \
"--target-snapshot-archive=[Create archival snapshots on the destination cluster.]" \
"--target-snapshot-expiration=[The duration at which archival snapshots on the destination cluster expire.]" \
"--target-snapshot-pattern=[The naming pattern for snapshot on the destination cluster.]" \
"--verbose[Display more detailed information.]" \
"--workers-per-node=[Sets number of workers per node.]" \
}
(( $+functions[_isi_sync_policies_modify] )) ||
_isi_sync_policies_modify() {
_arguments \
"--policy=[A sync policy name.]" \
"--action=[Identifies the action to run on the given files: copy or sync.]" \
"--add-source-exclude-directories=[Add directories on source cluster to be excluded from sync|copy action.]" \
"--add-source-include-directories=[Add directories on source cluster to be included in sync|copy action.]" \
"--check-integrity=[Validate file integrity during copy|sync actions.]" \
"--clear-source-exclude-directories[Clear value for directories on source cluster to be excluded from sync|copy action.]" \
"--clear-source-include-directories[Clear value for directories on source cluster to be included in sync|copy action.]" \
"--clear-source-network[Clear source subnet and pool.]" \
"--description=[Description for this sync policy.]" \
"--enabled=[Policy is enabled.]" \
"--force[Do not ask confirmation.]" \
"--log-level=[Log level.]" \
"--log-removed-files=[Keep a log of removed files for sync action.]" \
"--name=[Sets the name of the sync policy.]" \
"--password=[Password for the target cluster.]" \
"--remove-source-exclude-directories=[Remove directories on source cluster to be excluded from sync|copy action.]" \
"--remove-source-include-directories=[Remove directories on source cluster to be included in sync|copy action.]" \
"--report-max-age=[Maximum age of reports to keep.]" \
"--report-max-count=[Maximum number of reports to keep.]" \
"--resolve=[Allows one to resolve a conflict.]" \
"--restrict-target-network=[Sets if the target network is restricted.]" \
"--schedule=[Schedule for executing the sync policy, or the string value When-Source-Modified.]" \
"--source-exclude-directories=[Directories on source cluster to be excluded from sync|copy action.]" \
"--source-include-directories=[Directories on source cluster to be included in sync|copy action.]" \
"--source-pool=[Restricts replication policies on the local cluster to this pool (you must also specify --source-subnet).]" \
"--source-root-path=[Specifies the root path to be used in the source cluster.]" \
"--source-snapshot-archive=[Create archival snapshots on the source cluster.]" \
"--source-snapshot-expiration=[The duration at which archival snapshots on the source cluster expire.]" \
"--source-snapshot-pattern=[Sets new name for archival snapshots on the source cluster.]" \
"--source-subnet=[Restricts replication policies on the local cluster to this subnet (you must also specify --source-pool).]" \
"--target-compare-initial-sync=[Compare files on destination cluster before copy|sync action.]" \
"--target-detect-modifications=[Detects any modifications on the destination cluster.]" \
"--target-host=[Hostname of the target cluster.]" \
"--target-path=[Path to use on the target cluster.]" \
"--target-snapshot-alias=[The alias for snapshots on the destination cluster.]" \
"--target-snapshot-archive=[Create archival snapshots on the destination cluster.]" \
"--target-snapshot-expiration=[The duration at which archival snapshots on the destination cluster expire.]" \
"--target-snapshot-pattern=[The naming pattern for snapshot on the destination cluster.]" \
"--verbose[Display more detailed information.]" \
"--workers-per-node=[Sets number of workers per node.]" \
}
(( $+functions[_isi_sync_policies_delete] )) ||
_isi_sync_policies_delete() {
_arguments \
"--policy=[A sync policy name.]" \
"--all[Delete all sync policies.]" \
"--force[Do not ask confirmation. Do not check for running jobs when deleting.]" \
"--local-only[Skips deleting the policy association on the target.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_policies_enable] )) ||
_isi_sync_policies_enable() {
_arguments \
"--policy=[A sync policy name.]" \
"--all[Modify all sync policies.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_policies_disable] )) ||
_isi_sync_policies_disable() {
_arguments \
"--policy=[A sync policy name.]" \
"--all[Modify all sync policies.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_policies_reset] )) ||
_isi_sync_policies_reset() {
_arguments \
"--policy=[A sync policy name.]" \
"--all[Modify all sync policies.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_policies_resolve] )) ||
_isi_sync_policies_resolve() {
_arguments \
"--policy=[A sync policy name.]" \
"--force[Do not ask confirmation.]" \
}
(( $+functions[_isi_sync_jobs] )) ||
_isi_sync_jobs() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ reports start list view cancel pause resume}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == reports ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-jobs-reports:"
      _isi_sync_jobs_reports
    elif [[ $cmd == start ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-jobs-start:"
      _isi_sync_jobs_start
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-jobs-list:"
      _isi_sync_jobs_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-jobs-view:"
      _isi_sync_jobs_view
    elif [[ $cmd == cancel ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-jobs-cancel:"
      _isi_sync_jobs_cancel
    elif [[ $cmd == pause ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-jobs-pause:"
      _isi_sync_jobs_pause
    elif [[ $cmd == resume ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-jobs-resume:"
      _isi_sync_jobs_resume
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_jobs_reports] )) ||
_isi_sync_jobs_reports() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-jobs-reports-list:"
      _isi_sync_jobs_reports_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-jobs-reports-view:"
      _isi_sync_jobs_reports_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_jobs_reports_list] )) ||
_isi_sync_jobs_reports_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display sync jobs reports in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of sync jobs reports to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_jobs_reports_view] )) ||
_isi_sync_jobs_reports_view() {
_arguments \
"--policy=[A sync policy name.]" \
}
(( $+functions[_isi_sync_jobs_start] )) ||
_isi_sync_jobs_start() {
_arguments \
"--policy-name=[The policy name for the job to start.]" \
"--source-snapshot=[An optional snapshot to copy/sync from.]" \
"--test[Do a test run of this job. No files will be written to the target.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_jobs_list] )) ||
_isi_sync_jobs_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display sync jobs in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of sync jobs to display.]" \
"--state=[List jobs with a given state.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_jobs_view] )) ||
_isi_sync_jobs_view() {
_arguments \
"--policy=[A sync policy name.]" \
}
(( $+functions[_isi_sync_jobs_cancel] )) ||
_isi_sync_jobs_cancel() {
_arguments \
"--policy-name=[The policy name for the job to cancel.]" \
"--all[cancel all running jobs.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_jobs_pause] )) ||
_isi_sync_jobs_pause() {
_arguments \
"--policy-name=[The policy name for the job to pause.]" \
"--all[pause all running jobs.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_jobs_resume] )) ||
_isi_sync_jobs_resume() {
_arguments \
"--policy-name=[The policy name for the job to resume.]" \
"--all[resume all running jobs.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_settings] )) ||
_isi_sync_settings() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-settings-view:"
      _isi_sync_settings_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-settings-modify:"
      _isi_sync_settings_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_settings_view] )) ||
_isi_sync_settings_view() {
}
(( $+functions[_isi_sync_settings_modify] )) ||
_isi_sync_settings_modify() {
_arguments \
"--report-max-age=[Maximum age of reports to keep.]" \
"--report-max-count=[Maximum number of reports to keep.]" \
"--restrict-target-network=[Restrict target to its nodes in the target zone name]" \
"--service=[Sets the state of the SyncIQ application.]" \
"--source-pool=[Restricts replication policies on the local cluster to this pool (you must also specify --source-subnet).]" \
"--source-subnet=[Restricts replication policies on the local cluster to this subnet (you must also specify --source-pool).]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_target] )) ||
_isi_sync_target() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ reports list view cancel break}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == reports ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target-reports:"
      _isi_sync_target_reports
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target-list:"
      _isi_sync_target_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target-view:"
      _isi_sync_target_view
    elif [[ $cmd == cancel ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target-cancel:"
      _isi_sync_target_cancel
    elif [[ $cmd == break ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target-break:"
      _isi_sync_target_break
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_target_reports] )) ||
_isi_sync_target_reports() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ subreports list view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == subreports ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target-reports-subreports:"
      _isi_sync_target_reports_subreports
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target-reports-list:"
      _isi_sync_target_reports_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target-reports-view:"
      _isi_sync_target_reports_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_target_reports_subreports] )) ||
_isi_sync_target_reports_subreports() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target-reports-subreports-list:"
      _isi_sync_target_reports_subreports_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-target-reports-subreports-view:"
      _isi_sync_target_reports_subreports_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_target_reports_subreports_list] )) ||
_isi_sync_target_reports_subreports_list() {
_arguments \
"--policy-name=[Policy name for the target report.]" \
"--job-id=[Job ID for the target report.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display sync target reports subreports in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of sync target reports subreports to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_target_reports_subreports_view] )) ||
_isi_sync_target_reports_subreports_view() {
_arguments \
"--policy-name=[Policy name for the target report.]" \
"--job-id=[Job ID for the target report.]" \
"--subreport-id=[Subreport ID number.]" \
}
(( $+functions[_isi_sync_target_reports_list] )) ||
_isi_sync_target_reports_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display sync target reports in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of sync target reports to display.]" \
"--policy-name=[Show reports that have the specified policy name.]" \
"--reports-per-policy=[Specifies the number of reports to show per policy. Defaults to 10 if no other arguments are present.]" \
"--state=[Show reports with jobs that are in the specified state.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_target_reports_view] )) ||
_isi_sync_target_reports_view() {
_arguments \
"--policy-name=[Policy name for the target report.]" \
"--job-id=[Job ID for the target report.]" \
}
(( $+functions[_isi_sync_target_list] )) ||
_isi_sync_target_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display sync targets in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of sync targets to display.]" \
"--target-path=[Show target policies that have the specified target path.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_target_view] )) ||
_isi_sync_target_view() {
_arguments \
"--policy=[A target sync policy name.]" \
"--target-path=[A target path for a sync policy.]" \
}
(( $+functions[_isi_sync_target_cancel] )) ||
_isi_sync_target_cancel() {
_arguments \
"--policy=[A target sync policy name.]" \
"--target-path=[A target path for a sync policy.]" \
"--all[Cancel all running jobs targeted to this cluster.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_target_break] )) ||
_isi_sync_target_break() {
_arguments \
"--policy=[A target sync policy name.]" \
"--target-path=[A target path for a sync policy.]" \
"--force[Break target association even if a job is currently running. Do not ask for confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_reports] )) ||
_isi_sync_reports() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ subreports list view rotate}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == subreports ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-reports-subreports:"
      _isi_sync_reports_subreports
    elif [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-reports-list:"
      _isi_sync_reports_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-reports-view:"
      _isi_sync_reports_view
    elif [[ $cmd == rotate ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-reports-rotate:"
      _isi_sync_reports_rotate
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_reports_subreports] )) ||
_isi_sync_reports_subreports() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-reports-subreports-list:"
      _isi_sync_reports_subreports_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-reports-subreports-view:"
      _isi_sync_reports_subreports_view
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_reports_subreports_list] )) ||
_isi_sync_reports_subreports_list() {
_arguments \
"--policy=[A sync policy name.]" \
"--job-id=[A sync job id.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display sync reports subreports in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of sync reports subreports to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_reports_subreports_view] )) ||
_isi_sync_reports_subreports_view() {
_arguments \
"--policy=[A sync policy name.]" \
"--job-id=[A sync job id.]" \
"--subreport-id=[A sync subreport id.]" \
}
(( $+functions[_isi_sync_reports_list] )) ||
_isi_sync_reports_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display sync reports in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of sync reports to display.]" \
"--policy-name=[Show reports that have the specified policy name.]" \
"--reports-per-policy=[Specifies the number of reports to show per policy. Defaults to 10 if no other arguments are present.]" \
"--state=[Show reports with jobs that are in the specified state.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_reports_view] )) ||
_isi_sync_reports_view() {
_arguments \
"--policy=[A sync policy name.]" \
"--job-id=[A sync job id.]" \
}
(( $+functions[_isi_sync_reports_rotate] )) ||
_isi_sync_reports_rotate() {
_arguments \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_recovery] )) ||
_isi_sync_recovery() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ resync-prep allow-write}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == resync-prep ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-recovery-resync-prep:"
      _isi_sync_recovery_resync-prep
    elif [[ $cmd == allow-write ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-recovery-allow-write:"
      _isi_sync_recovery_allow-write
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_recovery_resync-prep] )) ||
_isi_sync_recovery_resync-prep() {
_arguments \
"--policy-name=[The policy name for the job to prepare for resync.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_recovery_allow-write] )) ||
_isi_sync_recovery_allow-write() {
_arguments \
"--policy-name=[The policy name for the job to fail over/fail back.]" \
"--log-level=[Log level.]" \
"--revert[Revert this action.]" \
"--verbose[Display more detailed information.]" \
"--workers-per-node=[Number of workers per node.]" \
}
(( $+functions[_isi_sync_rules] )) ||
_isi_sync_rules() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-rules-list:"
      _isi_sync_rules_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-rules-view:"
      _isi_sync_rules_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-rules-create:"
      _isi_sync_rules_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-rules-modify:"
      _isi_sync_rules_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-sync-rules-delete:"
      _isi_sync_rules_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_sync_rules_list] )) ||
_isi_sync_rules_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display performance rules in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of performance rules to display.]" \
"--type=[Show performance rules with the specified type.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_rules_view] )) ||
_isi_sync_rules_view() {
_arguments \
"--id=[A sync performance rule ID.]" \
}
(( $+functions[_isi_sync_rules_create] )) ||
_isi_sync_rules_create() {
_arguments \
"--type=[Type for the sync performance rule.]" \
"--interval=[Time interval for when the performance rule is active.]" \
"--days=[Days of the week when the performance rule is active]" \
"--limit=[Performance rule limit in files/sec OR kbps.]" \
"--description=[Description for this performance rule.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_rules_modify] )) ||
_isi_sync_rules_modify() {
_arguments \
"--id=[A sync performance rule ID.]" \
"--days=[Days of the week when the performance rule is active]" \
"--description=[Description for this performance rule.]" \
"--enabled=[performance rule is enabled.]" \
"--interval=[Time interval for when the performance rule is active.]" \
"--limit=[Performance rule limit in files/sec OR kbps.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_sync_rules_delete] )) ||
_isi_sync_rules_delete() {
_arguments \
"--id=[Delete the specified performance rule.]" \
"--all[delete all performance rules.]" \
"--force[Do not ask confirmation.]" \
"--type=[Delete performance rules with the specified type.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_worm] )) ||
_isi_worm() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ domains files cdate}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == domains ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-domains:"
      _isi_worm_domains
    elif [[ $cmd == files ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-files:"
      _isi_worm_files
    elif [[ $cmd == cdate ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-cdate:"
      _isi_worm_cdate
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_worm_domains] )) ||
_isi_worm_domains() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list create view modify}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-domains-list:"
      _isi_worm_domains_list
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-domains-create:"
      _isi_worm_domains_create
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-domains-view:"
      _isi_worm_domains_view
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-domains-modify:"
      _isi_worm_domains_modify
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_worm_domains_list] )) ||
_isi_worm_domains_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display worm domains in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of worm domains to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_worm_domains_create] )) ||
_isi_worm_domains_create() {
_arguments \
"--path=[Path for the WORM domain.]" \
"--autocommit-offset=[Duration until files are automatically committed in the domain]" \
"--compliance[Use compliance mode for the WORM domain.]" \
"--default-retention=[Default retention period for all files in the domain.]" \
"--disable-privileged-delete[Disable privileged delete for the WORM domain. The privileged delete property of the domain can never be changed after this.]" \
"--force[Do not ask confirmation.]" \
"--max-retention=[Maximum value for file retention periods in the WORM domain.]" \
"--min-retention=[Minimum value for file retention periods in the WORM domain.]" \
"--mkdir[Use this flag to create the path on the cluster if it doesn't already exist]" \
"--override-date=[File retention date for the WORM domain. Files will be retained for the greater of the override date and the individual file retention date.]" \
"--privileged-delete=[Files can be deleted from the WORM domain with a privileged delete command.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_worm_domains_view] )) ||
_isi_worm_domains_view() {
_arguments \
"--domain=[A WORM domain identified by ID, path or LIN.]" \
}
(( $+functions[_isi_worm_domains_modify] )) ||
_isi_worm_domains_modify() {
_arguments \
"--domain=[A WORM domain identified by ID, path or LIN.]" \
"--autocommit-offset=[Duration until files are automatically committed in the domain]" \
"--clear-autocommit-offset[Clear value for duration until files are automatically committed in the domain]" \
"--clear-default-retention[Clear value for default retention period for all files in the domain.]" \
"--clear-max-retention[Clear value for maximum value for file retention periods in the WORM domain.]" \
"--clear-min-retention[Clear value for minimum value for file retention periods in the WORM domain.]" \
"--clear-override-date[Clear value for file retention date for the WORM domain. Files will be retained for the greater of the override date and the individual file retention date.]" \
"--compliance[Use compliance mode for the WORM domain.]" \
"--default-retention=[Default retention period for all files in the domain.]" \
"--disable-privileged-delete[Disable privileged delete for the WORM domain. The privileged delete property of the domain can never be changed after this.]" \
"--force[Do not ask confirmation.]" \
"--max-retention=[Maximum value for file retention periods in the WORM domain.]" \
"--min-retention=[Minimum value for file retention periods in the WORM domain.]" \
"--override-date=[File retention date for the WORM domain. Files will be retained for the greater of the override date and the individual file retention date.]" \
"--privileged-delete=[Files can be deleted from the WORM domain with a privileged delete command.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_worm_files] )) ||
_isi_worm_files() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-files-view:"
      _isi_worm_files_view
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-files-delete:"
      _isi_worm_files_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_worm_files_view] )) ||
_isi_worm_files_view() {
_arguments \
"--path=[Path of the worm file. Must be within /ifs.]" \
"--no-symlinks[Do not follow symlinks.]" \
}
(( $+functions[_isi_worm_files_delete] )) ||
_isi_worm_files_delete() {
_arguments \
"--path=[Path of the worm file. Must be within /ifs.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_worm_cdate] )) ||
_isi_worm_cdate() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ view set}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-cdate-view:"
      _isi_worm_cdate_view
    elif [[ $cmd == set ]]; then
      curcontext="${curcontext%:*:*}:isi-worm-cdate-set:"
      _isi_worm_cdate_set
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_worm_cdate_view] )) ||
_isi_worm_cdate_view() {
}
(( $+functions[_isi_worm_cdate_set] )) ||
_isi_worm_cdate_set() {
}
(( $+functions[_isi_zone] )) ||
_isi_zone() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ zones restrictions}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == zones ]]; then
      curcontext="${curcontext%:*:*}:isi-zone-zones:"
      _isi_zone_zones
    elif [[ $cmd == restrictions ]]; then
      curcontext="${curcontext%:*:*}:isi-zone-restrictions:"
      _isi_zone_restrictions
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_zone_zones] )) ||
_isi_zone_zones() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list view create modify delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-zone-zones-list:"
      _isi_zone_zones_list
    elif [[ $cmd == view ]]; then
      curcontext="${curcontext%:*:*}:isi-zone-zones-view:"
      _isi_zone_zones_view
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-zone-zones-create:"
      _isi_zone_zones_create
    elif [[ $cmd == modify ]]; then
      curcontext="${curcontext%:*:*}:isi-zone-zones-modify:"
      _isi_zone_zones_modify
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-zone-zones-delete:"
      _isi_zone_zones_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_zone_zones_list] )) ||
_isi_zone_zones_list() {
_arguments \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display zones in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of zones to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_zone_zones_view] )) ||
_isi_zone_zones_view() {
_arguments \
"--zone=[Access zone.]" \
}
(( $+functions[_isi_zone_zones_create] )) ||
_isi_zone_zones_create() {
_arguments \
"--name=[Name for the zone.  A valid zone name begins with a letter and contains only alphanumeric characters and '-'.]" \
"--path=[Root directory path of zone. Paths for zones must not overlap.]" \
"--all-auth-providers=[Uses all authentication providers available.]" \
"--audit-failure=[Filter for auditing protocol operations that failed.  'all' can be used to indicate all valid filter operations.]" \
"--audit-success=[Filter for auditing protocol operations that succeeded.  'all' can be used to indicate all valid filter operations.]" \
"--auth-providers=[Replaces the list of authentication providers used in this zone.]" \
"--cache-size=[Specifies the maximum size of zone in-memory cache.]" \
"--create-path[Create zone path if it doesn't already exist.]" \
"--hdfs-ambari-namenode=[The SmartConnect name of this cluster that will be used for the HDFS service.]" \
"--hdfs-ambari-server=[A valid hostname, FQDN, IPv4 address, or IPv6 address of the Ambari server.]" \
"--hdfs-authentication=[Specifies allowed authentication type for HDFS protocol]" \
"--hdfs-root-directory=[Sets the root directory for HDFS protocol]" \
"--home-directory-umask=[Specifies the permissions set on auto-created user home directories.]" \
"--map-untrusted=[Maps untrusted domains to this NetBIOS domain during authentication.]" \
"--netbios-name=[Specifies the NetBIOS name.]" \
"--skeleton-directory=[Sets the skeleton directory for user home directories.]" \
"--syslog-audit-events=[Filter for auditing protocol operations to syslog.  'all' can be used to indicate all valid filter operations.]" \
"--syslog-forwarding-enabled=[Enables syslog forwarding of zone audit events.]" \
"--user-mapping-rules=[Replaces current ID mapping rules.]" \
"--verbose[Display more detailed information.]" \
"--webhdfs-enabled=[Enables WebHDFS on the zone]" \
}
(( $+functions[_isi_zone_zones_modify] )) ||
_isi_zone_zones_modify() {
_arguments \
"--zone=[Access zone.]" \
"--add-audit-failure=[Add filter for auditing protocol operations that failed.  'all' can be used to indicate all valid filter operations.]" \
"--add-audit-success=[Add filter for auditing protocol operations that succeeded.  'all' can be used to indicate all valid filter operations.]" \
"--add-auth-providers=[Add items to list of authentication providers used in this zone.]" \
"--add-syslog-audit-events=[Add filter for auditing protocol operations to syslog.  'all' can be used to indicate all valid filter operations.]" \
"--add-user-mapping-rules=[Add items to current ID mapping rules.]" \
"--all-auth-providers=[Uses all authentication providers available.]" \
"--audit-failure=[Filter for auditing protocol operations that failed.  'all' can be used to indicate all valid filter operations.]" \
"--audit-success=[Filter for auditing protocol operations that succeeded.  'all' can be used to indicate all valid filter operations.]" \
"--auth-providers=[Replaces the list of authentication providers used in this zone.]" \
"--cache-size=[Specifies the maximum size of zone in-memory cache.]" \
"--clear-audit-failure[Clear value for filter for auditing protocol operations that failed.  'all' can be used to indicate all valid filter operations.]" \
"--clear-audit-success[Clear value for filter for auditing protocol operations that succeeded.  'all' can be used to indicate all valid filter operations.]" \
"--clear-auth-providers[Clear list of authentication providers used in this zone.]" \
"--clear-syslog-audit-events[Clear value for filter for auditing protocol operations to syslog.  'all' can be used to indicate all valid filter operations.]" \
"--clear-user-mapping-rules[Clear current ID mapping rules.]" \
"--create-path[Create zone path if it doesn't already exist.]" \
"--hdfs-ambari-namenode=[The SmartConnect name of this cluster that will be used for the HDFS service.]" \
"--hdfs-ambari-server=[A valid hostname, FQDN, IPv4 address, or IPv6 address of the Ambari server.]" \
"--hdfs-authentication=[Specifies allowed authentication type for HDFS protocol]" \
"--hdfs-root-directory=[Sets the root directory for HDFS protocol]" \
"--home-directory-umask=[Specifies the permissions set on auto-created user home directories.]" \
"--map-untrusted=[Maps untrusted domains to this NetBIOS domain during authentication.]" \
"--name=[Name for the zone.  A valid zone name begins with a letter and contains only alphanumeric characters and '-'.]" \
"--netbios-name=[Specifies the NetBIOS name.]" \
"--path=[Root directory path of zone. Paths for zones must not overlap.]" \
"--remove-audit-failure=[Remove filter for auditing protocol operations that failed.  'all' can be used to indicate all valid filter operations.]" \
"--remove-audit-success=[Remove filter for auditing protocol operations that succeeded.  'all' can be used to indicate all valid filter operations.]" \
"--remove-auth-providers=[Remove items from list of authentication providers used in this zone.]" \
"--remove-syslog-audit-events=[Remove filter for auditing protocol operations to syslog.  'all' can be used to indicate all valid filter operations.]" \
"--remove-user-mapping-rules=[Remove items from current ID mapping rules.]" \
"--skeleton-directory=[Sets the skeleton directory for user home directories.]" \
"--syslog-audit-events=[Filter for auditing protocol operations to syslog.  'all' can be used to indicate all valid filter operations.]" \
"--syslog-forwarding-enabled=[Enables syslog forwarding of zone audit events.]" \
"--user-mapping-rules=[Replaces current ID mapping rules.]" \
"--verbose[Display more detailed information.]" \
"--webhdfs-enabled=[Enables WebHDFS on the zone]" \
}
(( $+functions[_isi_zone_zones_delete] )) ||
_isi_zone_zones_delete() {
_arguments \
"--zone=[Access zone.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_zone_restrictions] )) ||
_isi_zone_restrictions() {
  if (( CURRENT == 2 )); then
    _tags values && { compadd $@ list create delete}
  else
    local cmd=${words[2]}
    (( CURRENT-- ))
    shift words
    if [[ $cmd == list ]]; then
      curcontext="${curcontext%:*:*}:isi-zone-restrictions-list:"
      _isi_zone_restrictions_list
    elif [[ $cmd == create ]]; then
      curcontext="${curcontext%:*:*}:isi-zone-restrictions-create:"
      _isi_zone_restrictions_create
    elif [[ $cmd == delete ]]; then
      curcontext="${curcontext%:*:*}:isi-zone-restrictions-delete:"
      _isi_zone_restrictions_delete
    else
      _message "unknown command: $words[1]"
    fi
  fi
}
(( $+functions[_isi_zone_restrictions_list] )) ||
_isi_zone_restrictions_list() {
_arguments \
"--zone=[Access zone.]" \
"--no-footer[Do not display table summary footer information.]" \
"--format=[Display zone restrictions in the given format]" \
"--no-header[Do not display headers in CSV or table formats.]" \
"--limit=[Number of zone restrictions to display.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_zone_restrictions_create] )) ||
_isi_zone_restrictions_create() {
_arguments \
"--zone=[Access zone.]" \
"--user=[A user name.]" \
"--group=[A group name.]" \
"--gid=[A numeric group identifier.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
"--verbose[Display more detailed information.]" \
}
(( $+functions[_isi_zone_restrictions_delete] )) ||
_isi_zone_restrictions_delete() {
_arguments \
"--zone=[Access zone.]" \
"--user=[A user name.]" \
"--group=[A group name.]" \
"--gid=[A numeric group identifier.]" \
"--uid=[A numeric user identifier.]" \
"--sid=[A security identifier.]" \
"--wellknown=[A well-known user, group, machine or account name.]" \
"--force[Do not ask confirmation.]" \
"--verbose[Display more detailed information.]" \
}
_isi_classic "$@"
_disi_diskpools "$@"
_isi_classic_smb "$@"
_isi_classic_nfs "$@"
_isi_classic_auth "$@"
_isi_ndmp "$@"
